SQL LocalDB vs SQL Server CE
J'ai un petit projet qui va avoir 1 utilisateur sur 1 ordinateur. La base de données sera plutôt de petite taille (moins de 1 mo de données). J'ai l'intention d'utiliser WPF et Entity Framework pour ce projet.
Je suis venu avec 2 potentiel de base de données solutions pour mon projet : SQL Server CE et SQL Server Express LocalDB (avec SQL Server 2012). Je n'ai jamais travaillé avec l'un de ces, je suis plus habitué à travailler avec toute installation de SQL Server 2008.
Je veux aussi qu'il soit facile à installer sur le client. Idéalement, je voudrais juste jeter un tas de fichiers sur un dossier (avec mon .exe file).
Alors, quelqu'un ici pourrait me suggérer le meilleur de la technologie à utiliser?
Merci!
Vous devez vous connecter pour publier un commentaire.
Voir le Présentation de SQL Server Express Locaux DB Runtime présentation - donne une excellente vue d'ensemble.
L'immense avantage de LocalDB, c'est que c'est de la vraie SQL Server - c'est une version de SQL Server Express, mais essentiellement, il prend en charge tout ce que les "vrais" SQL Server a - types de données spatiales, des procédures stockées - vous le nom.
SQL Server Compact Edition d'autre part, c'est très bien version réduite - beaucoup de fonctions et types de données ne sont pas pris en charge. Il est plus petit et plus "agile" - mais il n'a pas beaucoup de punch.
Personnellement, je choisirais SQL Server Express avec les LocalDB d'exécution par rapport à SQL Server CE 4 - sauf si vous avez spécifiquement besoin de la taille minuscule de SQL Server CE (par exemple, sur un appareil mobile).
Également voir un comparaison entre SQL Server CE 3.5, CE 4.0, SQL Server Express 2008 R2 et SQL Server 2012 Express LocalDB sur ErikEJ excellent Tout de SQL Server Compact site web.
Il dépend, mais en fonction de vos besoins (c'est à dire très petite quantité de données et XCopy installation), votre seule option est de SQL Server Compact, comme l'empreinte de SQL Compact sur le disque est d'environ 18 MO vs 160 MO avec LocalDB, et LocalDB implique un administrateur d'installer (un MSI uniquement) - mais si SQL Server compatibilité est plus important, LocalDB est le meilleur choix (comme marc_s notes)
Je vais vraiment avoir t aller avec ErikEJ ici. Je n'ai pas la réputation afin de voter pour sa réponse, mais compte tenu de votre cible SQL CE est vraiment le moyen le plus rapide dans et hors. Beaucoup de la comparaison de questions étant donné le lien fourni par marc_s sur SQL de CE "manque des fonctionnalités" VS LocalDB sont atténués par la vertu de votre aide EntityFramework (Procédure T-SQL n'est pas pris en charge, mais si vous utilisez EF et Lambda et LINQ, qui ne sera pas vraiment un problème).
Oublier toutes les vagues que "c'est facile", "il est plus petit", "ça manque de punch", ou "c'est léger" réponses (n'en déplaise), je pense que l'on devrait se concentrer sur la principale différence entre les deux lorsqu'ils sont confrontés avec le choix:
Cours d'exécution dans le cadre du processus de demande ou pas a de nombreuses implications qui devrait probablement être explorées dans les questions distinctes.
Le plus évident est que si vous avez besoin d'accéder à la base de données à partir de plusieurs applications à l'aide d'un processus de SGBD (etd), toutes les demandes d'accès au fichier de base de données directement à l'aide de leur propre cpu-temps. La synchronisation est vraiment dur, et en réalisant cela permet de comprendre pourquoi CE a moins de fonctionnalités et bien d'autres choses).
Noter que, même si l'on peut s'inquiéter que de multiples processus exécutent le même code de la CE pourrait prendre plus de mémoire que nécessaire, n'oubliez pas que le système d'exploitation est assez intelligent pour partager des pages de son cache de la page entre plusieurs processus, de sorte que l'on n'est vraiment pas un problème.
LocalDb est tout simplement une façon de gérer une normale Express instance automatiquement, et sur une base par utilisateur (ce n'est pas différente de SQL Server Express, c'est la même chose).
Aussi, si vous cachez votre propriété intellectuelle/schéma/données à partir d'un accès facile par les utilisateurs est important, SQL CE peut être protégé par mot de passe et le cryptage.
SQL Locales db peut être facilement ouvert à partir de management studio.
Voir cette page de fond, derrière pourquoi LocalDB a été créé
Il a été créé spécifiquement pour les développeurs. Il est facile à installer, ne nécessite pas de gestion, pas encore compatible avec les autres éditions de SQL Server au niveau de l'API. À cet égard, il est comme une version allégée de la libre SQL Server Express édition.
Tout cela semble similaire à SQL Server Compact, il y a des différences:
La façon dont je le vois, LocalDB est souvent utilisé en mode hors connexion pour s'assurer que le code que vous avez à développer est 100% compatible avec votre production de base de données SQL Server.