web-dev-qa-db-fra.com

Y a-t-il une différence entre SQL Server Express (2012) et LocalDB?

Dans son excellent et populaire tableau de comparaison , ErikEJ établit une distinction entre SQL Server Express 2012 et SQL Server 2012 LocalDB . Cependant, je ne peux trouver une telle distinction nulle part ailleurs dans la documentation MSDN ("LocalDB" n'est même pas mentionné dans le livre officiel MS SS12 ou sur page de comparaison MSDN SQL Edition) .) Cela m'amène à soupçonner qu'Express et LocalDB ne sont pas vraiment deux produits distincts comme le suggère ErikEJ, mais plutôt juste deux termes différents pour la même chose (ce qui expliquerait pourquoi, sur cette page MSDN , il s'appelle "SQL Server 2012 Express LocalDB").

S'il y a vraiment une différence entre les produits, quelqu'un peut-il m'indiquer une documentation officielle les comparant?

55
kmote

D'accord, je pense avoir trouvé la réponse à ma propre question. (Il a été enterré sous les onglets sur la page du produit SS Express .)

Voici un résumé des particularités de LocalDB que j'ai trouvées sur cette page:

  • LocalDB est une option de déploiement léger pour SQL Server Express Edition avec moins de prérequis et une installation plus rapide.
  • LocalDB a toutes les mêmes fonctionnalités de programmabilité que SQL Express, mais fonctionne en "mode utilisateur" * avec des applications et pas en tant que service.
  • LocalDB n'est pas destiné à des scénarios multi-utilisateurs ou à être utilisé comme serveur. (Si vous devez accepter des connexions à distance ou administrer à distance, vous avez besoin de SQL Server Express.)
  • "Express with Tools" (qui inclut SS Management Studio Express, Azure, etc.) peut être utilisé avec LocalDB ou sans. (Il en va de même pour "Express with Advanced Services".)

MISE À JOUR: Je viens de trouver cette description utile dans Windows IT Pro (Jul '12, p.23) :

LocalDB n'est pas SQL Server Express, ni SQL Server Compact. LocalDB utilise le même moteur sqlservr.exe que les autres éditions de SQL Server, mais il s'exécute en mode utilisateur, pas en tant que service. LocalDB est utilisé pour le développement hors ligne par des outils tels que SSDT pour garantir que le code que vous développez est 100% compatible avec votre base de données SQL Server de production.

Si je lis cela correctement, LocalDB semble être plus comme une option de configuration d'Express qu'un produit entièrement distinct. Donc, apparemment, si je télécharge Express (ou Express w/Tools), j'aurai la possibilité d'installer la version LocalDB, qui est censée être plus simple ("configuration zéro") que la version Express complète. (Mise à jour: avec VS2012, LocalDB est installé par défaut .)

Une autre distinction importante, selon cet article , est que "actuellement Visual Studio 2010 ne fonctionne pas vraiment avec LocalDB." (Nous devons utiliser SS Management Studio à la place, du moins pour l'instant.)

* (Le concept de "Mode utilisateur" ou "Instances utilisateur" est une caractéristique distinctive de LocalDB. En fait, selon ce post , "LocalDB peut être vu comme une mise à niveau de la fonctionnalité Instances utilisateur de SQL Server Express. "Pour en savoir plus sur les instances utilisateur, reportez-vous au blog MSDN " Qu'est-ce qu'un RANU? " )

70
kmote

J'utilise un tableau d'ErikEJ, qui montre: les fonctionnalités et les différences entre SQL CE 3.5, SQL CE 4, Local DB et SQL Server 2012 . Selon ce tableau, les différences entre la base de données locale et SQL Server 2012 sont les suivantes:

Taille d'installation:
SQL Server 2012: taille de téléchargement de 120 Mo; 300 Mo étendus sur disque
Base de données locale: taille de téléchargement de 32 Mo; 160 Mo sur disque

Fonctionne en tant que service
SQL Server 2012: Oui
Base de données locale: non (s'exécute en tant que processus démarré par l'application)

Prise en charge de FILESTREAM
SQL Server 2012: Oui
DB local: Non

Abonné pour la réplication de fusion
SQL Server 2012: Oui
DB local: Non

Nombre de connexions simultanées
SQL Server 2012: Illimité
DB local: illimité (mais uniquement local)

NB: Désolé, ce n'est pas une "documentation officielle", mais j'espère que cela sera utile au prochain corps car il répond à la requête sous-jacente sur les différences.

15
noelicus

La principale différence est Server Express exécuté en tant que service alors que LocalDB n'a pas besoin de serveur ou de traitement intensif pour s'exécuter.

6
Aron Jay