SQL Server 2014 Express LocalDB
Microsoft SQL Server 2014 Express LocalDB
est un mode d’exécution de SQL Server Express destiné aux développeurs de programmes. LocalDB
l’installation copie un ensemble minimal de fichiers nécessaires pour démarrer le moteur de base de données SQL Server. Une fois LocalDB
installé, les développeurs initient une connexion à l’aide d’une chaîne de connexion spéciale. Lors de la connexion, l’infrastructure SQL Server nécessaire est automatiquement créée et démarrée, ce qui permet à l’application d’utiliser la base de données sans tâches de configuration complexes ou fastidieuses. Les outils de développement incluent un Moteur de base de données SQL Server qui permet aux développeurs d'écrire et de tester le code Transact-SQL sans devoir gérer une instance de serveur SQL Servercomplète. Une instance de SQL Server ExpressLocalDB
est gérée à l’aide de l’utilitaireSqlLocalDB.exe
. LocalDB
SQL Server Express doit être utilisé à la place de la fonctionnalité de instance utilisateur SQL Server Express qui est déconseillée.
Installation de LocalDB
La méthode principale d’installation LocalDB
consiste à utiliser le programme SqlLocalDB.msi. LocalDB
est une option lors de l’installation d’une référence SKU de SQL Server 2014 Express. Sélectionnez LocalDB
dans la page Sélection des fonctionnalités lors de l’installation de SQL Server Express. Il ne peut y avoir qu’une seule installation des LocalDB
fichiers binaires pour chaque version principale SQL Server moteur de base de données. Plusieurs processus Moteur de base de données peuvent être démarrés et utiliseront tous les mêmes fichiers binaires. Un instance du moteur de base de données SQL Server démarré en tant que a les LocalDB
mêmes limitations que SQL Server Express
Description
Le LocalDB
programme d’installation utilise le programme SqlLocalDB.msi pour installer les fichiers nécessaires sur l’ordinateur. Une fois installé, LocalDB
est un instance de SQL Server Express qui peut créer et ouvrir SQL Server bases de données. Les fichiers de base de données système pour la base de données sont stockés dans le chemin d'accès AppData local de l'utilisateur, qui est normalement masqué. Par exemple, C:\Users\<user>\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\LocalDBApp1\. Les fichiers de base de données utilisateur sont stockés à l’emplacement désigné par l’utilisateur, généralement quelque part dans le dossier C:\Users\<user>\Documents\ .
Pour plus d’informations sur l’inclusion LocalDB
dans une application, consultez la documentation Visual Studio Vue d’ensemble des données locales, Procédure pas à pas : création d’une base de données LocalDB SQL Server et Procédure pas à pas : Connexion à des données dans une base de données LocalDB SQL Server (Windows Forms) .
Pour plus d’informations sur l’APILocalDB
, consultez SQL Server Express Référence de l’API d’instance LocalDB et Fonction LocalDBStartInstance.
L’utilitaire SqlLocalDb peut créer de nouvelles instances de LocalDB
, démarrer et arrêter un instance de LocalDB
, et inclut des options pour vous aider à gérer LocalDB
. Pour plus d’informations sur l’utilitaire SqlLocalDb, consultez Utilitaire SqlLocalDB.
Le classement instance pour LocalDB
est défini sur SQL_Latin1_General_CP1_CI_AS et ne peut pas être modifié. Les classements au niveau des bases de données, des colonnes ou des expressions sont pris en charge normalement. Les bases de données autonomes suivent les règles de classement des métadonnées et de tempdb définies par Classements de base de données autonome.
Restrictions
LocalDB
ne peut pas être un abonné à la réplication de fusion.
LocalDB
ne prend pas en charge FILESTREAM.
LocalDB
autorise uniquement les files d’attente locales pour Service Broker.
Un instance appartenant LocalDB
aux comptes intégrés tels que NT AUTHORITY\SYSTEM peut avoir des problèmes de gestion en raison de la redirection du système de fichiers Windows ; Utilisez plutôt un compte Windows normal comme propriétaire.
Instances automatiques et nommées
LocalDB
prend en charge deux types d’instances : les instances automatiques et les instances nommées.
Les instances automatiques de
LocalDB
sont publiques. Elles sont créées et gérées automatiquement pour l'utilisateur et peuvent être utilisées par n'importe quelle application. Une instance automatique deLocalDB
existe pour chaque version deLocalDB
installée sur l’ordinateur de l’utilisateur. Les instances automatiques de fournissent uneLocalDB
gestion transparente des instance. Il n'est pas nécessaire de créer l'instance ; elle fonctionne tout simplement. Cela permet une installation et une migration faciles de l'application vers un autre ordinateur. Si la version spécifiée deLocalDB
est installée sur l'ordinateur cible, l'instance automatique deLocalDB
pour cette version est disponible sur l'ordinateur cible. Les instances automatiques deLocalDB
ont un modèle spécial pour le nom instance qui appartient à un espace de noms réservé. Cela empêche les conflits de noms avec des instances nommées deLocalDB
. Le nom de l'instance automatique est MSSQLLocalDB.Les instances nommées de
LocalDB
sont privées. Elles appartiennent à une seule application qui est chargée de créer et de gérer l'instance. Les instances nommées fournissent l'isolement d'autres instances et peuvent améliorer les performances en réduisant les contentions de ressources avec d'autres utilisateurs de base de données. Les instances nommées doivent être créées explicitement par l’utilisateur via l’APILocalDB
de gestion ou implicitement via le fichier app.config pour une application managée (bien que l’application managée puisse également utiliser l’API, si vous le souhaitez). Chaque instance deLocalDB
a une version associéeLocalDB
qui pointe vers l’ensemble deLocalDB
fichiers binaires respectif. Le instance nom d’unLocalDB
estsysname
de type de données et peut contenir jusqu’à 128 caractères. (Cela diffère des instances nommées régulières de SQL Server, qui limite les noms aux noms NetBIOS standard de 16 caractères ASCII.) Le nom d’un instance deLocalDB
peut contenir tous les caractères Unicode qui sont légaux dans un nom de fichier. Une instance nommée qui utilise un nom d'instance automatique devient une instance automatique.
Les différents utilisateurs d'un ordinateur peuvent avoir des instances de même nom. Chaque instance correspond à différents processus qui s'exécutent sous un utilisateur différent.
Instances partagées de LocalDB
Pour prendre en charge les scénarios où plusieurs utilisateurs de l’ordinateur doivent se connecter à un seul instance de LocalDB
, LocalDB
prend en charge le partage instance. Un propriétaire d'instance peut choisir d'autoriser les autres utilisateurs sur l'ordinateur à se connecter à son instance. Les instances automatiques et nommées de LocalDB
peuvent être partagées. Pour partager une instance de LocalDB
, un utilisateur sélectionne un nom partagé (alias) pour celle-ci. Étant donné que le nom partagé est visible par tous les utilisateurs de l'ordinateur, ce nom partagé doit être unique sur l'ordinateur. Le nom partagé d’un instance de LocalDB
a le même format que le instance nommé de LocalDB
.
Seul un administrateur sur l’ordinateur peut créer une instance partagée de LocalDB
. Un instance partagé de LocalDB
peut être départagé par un administrateur ou par le propriétaire du instance partagé de LocalDB
. Pour partager et annuler le partage d’un instance de LocalDB
, utilisez les LocalDBShareInstance
méthodes et LocalDBUnShareInstance
de l’APILocalDB
, ou les options de partage et de partage de l’utilitaire SqlLocalDb.
Démarrage de LocalDB et connexion à LocalDB
Se connecter à l'instance automatique
Le moyen le plus simple d’utiliser LocalDB
consiste à se connecter au instance automatique appartenant à l’utilisateur actuel à l’aide de la chaîne de connexion « Server=(localdb)\MSSQLLocalDB;Integrated Security=true ». Pour vous connecter à une base de données spécifique en utilisant le nom de fichier, connectez-vous à l’aide d’une chaîne de connexion semblable à "Server=(LocalDB)\MSSQLLocalDB; Integrated Security=true ;AttachDbFileName=D:\Data\MyDB1.mdf".
Notes
La première fois qu’un utilisateur sur un ordinateur tente de se connecter à LocalDB
, le instance automatique doit être créé et démarré. Le temps supplémentaire requis pour créer l'instance peut entraîner l'échec de la tentative de connexion et l'affichage d'un message de délai de connexion dépassé. Dans ce cas, attendez quelques secondes la fin du processus de création, puis connectez-vous à nouveau.
Création et connexion à des instances nommées
En plus de la instance automatique, LocalDB
prend également en charge les instances nommées. Utilisez le programme SqlLocalDB.exe pour créer, démarrer et arrêter un instance nommé de LocalDB
. Pour plus d’informations sur SqlLocalDB.exe, consultez Utilitaire SqlLocalDB.
REM Create an instance of LocalDB
"C:\Program Files\Microsoft SQL Server\120\Tools\Binn\SqlLocalDB.exe" create LocalDBApp1
REM Start the instance of LocalDB
"C:\Program Files\Microsoft SQL Server\120\Tools\Binn\SqlLocalDB.exe" start LocalDBApp1
REM Gather information about the instance of LocalDB
"C:\Program Files\Microsoft SQL Server\120\Tools\Binn\SqlLocalDB.exe" info LocalDBApp1
La dernière ligne ci-dessus retourne des informations semblables aux suivantes.
Nom | "LocalDBApp1" |
Version | <Version actuelle> |
Nom partagé | "" |
Propriétaire | "<votre utilisateur Windows>" |
Création automatique | Non |
State | exécution en cours |
Dernière heure de début | <Date et heure> |
Nom du canal de l'instance | np:\\.\pipe\LOCALDB#F365A78E\tsql\query |
Notes
Si votre application utilise une version de .NET antérieure à la version 4.0.2, vous devez vous connecter directement au canal nommé du LocalDB
. La valeur du nom du canal d’instance est le canal nommé sur lequel le instance écouteLocalDB
. La partie du nom du canal d’instance après LOCALDB# change chaque fois que le instance de LocalDB
est démarré. Pour vous connecter au instance de à l’aide de LocalDB
SQL Server Management Studio, tapez le nom du canal d’instance dans la zone Nom du serveur de la boîte de dialogue Se connecter au moteur de base de données. À partir de votre programme personnalisé, vous pouvez établir une connexion au instance de l’utilisation d’une chaîne de LocalDB
connexion similaire àSqlConnection conn = new SqlConnection(@"Server=np:\\.\pipe\LOCALDB#F365A78E\tsql\query");
Connexion à une instance partagée de LocalDB
Pour vous connecter à un instance partagé d’ajouter LocalDB
.\ (point + barre oblique inverse) à la chaîne de connexion pour référencer l’espace de noms réservé aux instances partagées. Par exemple, pour se connecter à un instance partagé de nomméAppData
, utilisez une chaîne de LocalDB
connexion telle que (localdb)\.\AppData
dans le cadre de la chaîne de connexion. Un utilisateur qui se connecte à un instance partagé dont il n’est LocalDB
pas propriétaire doit disposer d’une authentification Windows ou d’une connexion d’authentification SQL Server.
Dépannage
Pour plus d’informations sur la résolution des problèmesLocalDB
, consultez Résolution des problèmes SQL Server 2012 Express LocalDB.
Autorisations
Un instance de SQL Server 2014 ExpressLocalDB
est un instance créé par un utilisateur pour son utilisation. Tout utilisateur sur l’ordinateur peut créer une base de données à l’aide d’une instance de LocalDB
, en stockant des fichiers sous son profil utilisateur et en exécutant le processus sous ses informations d’identification. Par défaut, l’accès au instance de LocalDB
est limité à son propriétaire. Les données contenues dans sont protégées par l’accès LocalDB
du système de fichiers aux fichiers de base de données. Si les fichiers de base de données utilisateur sont stockés dans un emplacement partagé, la base de données peut être ouverte par toute personne disposant d’un accès au système de fichiers à cet emplacement à l’aide d’un instance de LocalDB
ce qui lui appartient. Si les fichiers de base de données sont dans un emplacement protégé, tel que le dossier des données d'utilisateurs, seul cet utilisateur, et tous les administrateurs ayant accès à ce dossier, peuvent ouvrir la base de données. Les LocalDB
fichiers ne peuvent être ouverts que d’une instance de à la LocalDB
fois.
Notes
LocalDB
s’exécute toujours sous le contexte de sécurité des utilisateurs ; autrement dit, LocalDB
ne s’exécute jamais avec les informations d’identification du groupe administrateur local. Cela signifie que tous les fichiers de base de données utilisés par un LocalDB
instance doivent être accessibles à l’aide du compte Windows de l’utilisateur propriétaire, sans envisager l’appartenance au groupe Administrateurs local.