Partager via


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. LocalDBl’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. LocalDBest 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 de LocalDB existe pour chaque version de LocalDB installée sur l’ordinateur de l’utilisateur. Les instances automatiques de fournissent une LocalDB 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 de LocalDB est installée sur l'ordinateur cible, l'instance automatique de LocalDB pour cette version est disponible sur l'ordinateur cible. Les instances automatiques de LocalDB 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 de LocalDB. 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’API LocalDB 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 de LocalDB a une version associée LocalDB qui pointe vers l’ensemble de LocalDB fichiers binaires respectif. Le instance nom d’un LocalDB est sysname 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 de LocalDB 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.

Voir aussi

Utilitaire SqlLocalDB