web-dev-qa-db-fra.com

confusion sur SQL Server Express et localdb

J'ai besoin de déployer un service WCF avec une base de données sur les machines clientes. Je suis confus à propos de SQL Server Express. Je dois vérifier tout ce qui suit.

Lorsque vous joignez des fichiers de base de données dans le App_Data dossier, ai-je encore besoin d'installer le moteur SQL Server Express (service Windows) sur les machines clientes?

Il existe une variante appelée SQL Server Express LocalDb. Celui-là n'a pas besoin d'un moteur (service Windows)? Mais je pense qu'il a besoin d'une installation préalable de LocalDb.

Localdb est introduit avec SQL Server 2012. Il n'y a AUCUN localdb pour SQL Server 2008. Correct? Je n'ai pas pu trouver la version 2008 sur le site MS.

20
Costa

Dois-je tout de même installer le moteur SQL Server Express (A win Service) sur les ordinateurs clients?

Oui, ils ont besoin qu'il soit installé pour que votre application interroge la base de données. Je ne peux pas vraiment le contourner.

Il existe une variante appelée SQL Express localDb. Celui-là n'a pas besoin d'un moteur (service gagnant)? mais je pense qu'il a besoin d'une installation parfaite de localdb.

Oui, vous devez toujours installer LocalDB sur la machine cliente. C'est assez simple à faire, mais je pense que c'est exagéré à moins que vous n'ayez vraiment besoin des fonctionnalités complètes d'une instance SQL Server pour votre service Web.

Au lieu de LocalDB, je recommande fortement d'utiliser SQL Server Compact Edition - il remplit le rôle auquel vous pensez (votre service WCF peut simplement se connecter directement au fichier de base de données sur vos machines clientes sans installer SQL Server , et est léger), mais n'a pas besoin d'être installé (il est simplement inclus en tant que DLL avec votre application WCF):

Contrairement aux autres éditions de Microsoft SQL Server, SQL CE s'exécute en cours avec l'application qui l'héberge.

Dans les propres mots de Microsoft sur le différences entre LocalDB et SQLCE :

LocalDB et SQL Server Compact?

Base de données petite et simple, installation légère, connexion à un fichier de base de données - cela semblera familier à tout développeur utilisant SQL Server Compact. Les similitudes ne sont pas accidentelles, car notre objectif pour LocalDB était d'être aussi facile à utiliser que SQL Server Compact (tout en étant aussi puissant et compatible avec SQL Server complet que SQL Express).

Il existe des différences importantes entre LocalDB et SQL Server Compact:

Mode d'exécution: SQL Server Compact est une DLL in-proc, tandis que LocalDB s'exécute comme un processus distinct.

SQL Server CE est un peu comme une version mise à jour de MS Access, le fichier va avec l'application qui peut "se connecter simplement" au fichier de base de données sans impliquer d'installation de serveur de base de données, et sa syntaxe/fonctionnalités est très proche de la norme SQL Server.

14
Ryan Weir