Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S'applique à :SQL Server
Microsoft SQL Server Express LocalDB est une fonctionnalité de SQL Server Express destinée aux développeurs. Dans SQL Server 2025 (17.x) et versions ultérieures, LocalDB est inclus dans l’édition SQL Server Express. Dans SQL Server 2022 (16.x) et les versions antérieures, LocalDB est disponible sur l’édition SQL Server Express avec Advanced Services.
L'installation de LocalDB copie l'ensemble minimal des fichiers nécessaires pour démarrer le Moteur de base de données SQL Server. Une fois localDB installé, vous pouvez lancer une connexion à l’aide d’une chaîne de connexion spéciale. Lorsque vous vous connectez, l’infrastructure SQL Server nécessaire est créée et démarrée automatiquement, ce qui permet à l’application d’utiliser la base de données sans tâches de configuration complexes. 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 Server complète.
Support d’installation
LocalDB est une fonctionnalité que vous sélectionnez lors de l’installation de SQL Server Express et qui est disponible quand vous téléchargez le média. Pour SQL Server 2025 (17.x) et les versions ultérieures, LocalDB est inclus avec le téléchargement de l'édition Express. Pour SQL Server 2022 (16.x) et les versions antérieures, l’édition est appelée Express Advanced, et vous pouvez choisir celui-ci ou le package LocalDB autonome lors du téléchargement.
- SQL Server 2025 Express Edition
- SQL Server 2022 Express Edition
- SQL Server 2019 Express Edition
- SQL Server 2017 Express Edition
- SQL Server 2016 Express Edition
Le programme d’installation de Base de données locale SqlLocalDB.msi est disponible dans le média d’installation pour toutes les éditions, à l’exception d’Express Core. Il se trouve dans le dossier <installation_media_root>\<LCID>_ENU_LP\x64\Setup\x64. LCID est un identificateur de paramètres régionaux ou un code de langue. Par exemple, la valeur LCID 1033 fait référence aux paramètres régionaux en-US.
Vous pouvez également installer la base de données locale à l’aide de Visual Studio Installer, dans le cadre de la charge de travail Stockage et traitement des données, la charge de travail Développement web et ASP.NET, ou en tant que composant individuel.
Installer LocalDB
Installez LocalDB par le biais de l’Assistant Installation ou à l’aide du programme SqlLocalDB.msi. LocalDB est une option proposée quand vous installez SQL Server Express LocalDB.
Sélectionnez LocalDB dans la page Sélection de fonctionnalités/Fonctionnalités partagées lors de l’installation. Il ne peut y avoir qu'une seule installation des fichiers binaires LocalDB pour chaque version majeure de Moteur de base de données SQL Server. Plusieurs processus Moteur de base de données peuvent être démarrés et utilisent tous les mêmes fichiers binaires. Une instance du Moteur de base de données SQL Server démarrée comme LocalDB a les mêmes limitations que SQL Server Express.
Une instance de SQL Server Express LocalDB est gérée à l’aide de l’utilitaire SqlLocalDB.exe. SQL Server Express LocalDB doit être utilisé à la place de la fonctionnalité d’instance utilisateur SQL Server Express qui est déconseillée.
Description
Le programme d’installation de LocalDB utilise le programme SqlLocalDB.msi pour installer les fichiers nécessaires sur l’ordinateur. Une fois l’installation terminée, LocalDB est une instance de SQL Server Express qui peut créer et ouvrir des bases de données SQL Server. Les fichiers système de base de données sont stockés dans le dossier local AppData, qui est généralement masqué. Par exemple : %LOCALAPPDATA%\Microsoft\Microsoft SQL Server Local DB\Instances\LocalDBApp1\. Les fichiers de la base de données utilisateur sont stockés à l'emplacement indiqué par l'utilisateur, en général dans le dossier %LOCALAPPDATA%\Microsoft\Microsoft SQL Server Local DB\Instances\<InstanceName>.
Pour plus d’informations sur l’inclusion de LocalDB dans une application, consultez Visual Studio Vue d’ensemble des données locales, Créer une base de données et ajouter des tables dans Visual Studio.
Pour plus d’informations sur l’API LocalDB, consultez la référence SQL Server Express LocalDB.
L’utilitaire SqlLocalDB peut créer des instances de Base de données locale, démarrer et arrêter une instance de Base de données locale et inclut des options permettant de gérer LocalDB. Pour plus d’informations sur l’utilitaire SqlLocalDB, consultez Utilitaire SqlLocalDB.
Le classement d’instance pour la Base de données locale a la valeur 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
La Base de données locale ne peut pas être gérée à distance avec SQL Server Management Studio.
La Base de données locale ne peut pas être un abonné de réplication de fusion.
La Base de données locale ne prend pas en charge FILESTREAM.
LocalDB n'autorise que les files d'attente locales pour Service Broker.
Une instance de Base de données locale détenue par les comptes intégrés tels que
NT AUTHORITY\SYSTEMpeut présenter des problèmes de gestion dus à la redirection du système de fichiers Windows. À la place, utilisez 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 différents utilisateurs d'un ordinateur peuvent avoir des instances de même nom. Chaque instance s’exécute en tant qu’utilisateur respectif dans son propre processus.
Instances automatiques
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. Il existe une instance automatique de LocalDB pour chaque version de LocalDB installée sur l’ordinateur de l’utilisateur. Les instances automatiques de LocalDB fournissent la gestion transparente d'instances. Il n'est pas nécessaire de créer l'instance ; elle fonctionne tout simplement. Cette fonctionnalité 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 particulier pour le nom de l'instance qui appartient à un espace de noms réservé. Les instances automatiques empêchent les conflits de nom avec les instances nommées de Base de données locale. Le nom de l’instance automatique est MSSQLLocalDB.
Instances nommées
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 par rapport aux autres instances et peuvent améliorer les performances en réduisant la concurrence des ressources avec les autres utilisateurs de base de données. Vous devez créer les instances nommées explicitement par le biais de l’API de gestion LocalDB ou implicitement par le biais du fichier app.config pour une application gérée (bien que l’application gérée puisse également utiliser l’API, si vous le souhaitez). Chaque instance nommée de LocalDB possède une version associée de LocalDB qui désigne le jeu respectif de binaires de LocalDB. Le nom d'instance d'une LocalDB est un type de données sysname et peut comporter jusqu'à 128 caractères. (Ce nom d’instance diffère des instances nommées normales de SQL Server, qui limitent les noms aux noms NetBIOS standard de 15 caractères ASCII). Le nom d’une instance de Base de données locale peut contenir tous les caractères Unicode qui sont valides dans un nom de fichier. Une instance nommée qui utilise un nom d'instance automatique devient une instance automatique.
Instances partagées de LocalDB
Pour prendre en charge les scénarios dans lesquels plusieurs utilisateurs de l'ordinateur doivent se connecter à une instance unique de LocalDB, LocalDB prend en charge le partage d'instance. Un propriétaire d'instance peut choisir d'autoriser les autres utilisateurs sur l'ordinateur à se connecter à l’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é pour une instance de LocalDB présente le même format que l'instance nommée de LocalDB.
Seul un administrateur sur l'ordinateur peut créer une instance partagée de LocalDB. Le partage d'une instance de LocalDB peut être annulé par un administrateur ou par le propriétaire de l'instance partagée de LocalDB. Pour partager et annuler le partage d’une instance de LocalDB, utilisez les méthodes LocalDBShareInstance et LocalDBUnShareInstance de l’API LocalDB, ou les options de partage et d’annulation du partage de l’utilitaire SqlLocalDB.
Démarrer LocalDB et se connecter à LocalDB
Cette section explique comment se connecter à une instance automatique, à une instance nommée ou à une instance partagée.
Se connecter à l'instance automatique
La façon la plus simple d'utiliser LocalDB est de se connecter à l'instance automatique possédée par l'utilisateur actuel en utilisant 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.
Remarque
La première fois qu'un utilisateur tentera de se connecter à LocalDB, l'instance automatique devra être créée et démarrée. 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éer une instance nommée et s’y connecter
En plus de l'instance automatique, LocalDB prend également en charge les instances nommées. Utilisez le programme SqlLocalDB.exe pour créer, démarrer et arrêter une instance nommée de LocalDB. Pour plus d’informations sur SqlLocalDB.exe, consultez Utilitaire SqlLocalDB.
REM Create an instance of LocalDB
"C:\Program Files\Microsoft SQL Server\160\Tools\Binn\SqlLocalDB.exe" create LocalDBApp1
REM Start the instance of LocalDB
"C:\Program Files\Microsoft SQL Server\160\Tools\Binn\SqlLocalDB.exe" start LocalDBApp1
REM Gather information about the instance of LocalDB
"C:\Program Files\Microsoft SQL Server\160\Tools\Binn\SqlLocalDB.exe" info LocalDBApp1
La dernière ligne de l’exemple de code précédent retourne des informations similaires au tableau suivant.
| Catégorie | Valeur |
|---|---|
| Nom | LocalDBApp1 |
| Version | <Current version> |
| Nom partagé | "" |
| Propriétaire | <Your Windows user> |
| Création automatique | No |
| État | Running |
| Dernière heure de début | <Date and time> |
| Nom du canal de l'instance | np:\\.\pipe\LOCALDB#F365A78E\tsql\query |
Remarque
Si votre application utilise une version de .NET Framework antérieure à 4.0.2, vous devez vous connecter directement au canal nommé de LocalDB. La valeur Nom du canal de l’instance est le canal nommé sur lequel l’instance de LocalDB écoute. La partie du nom du canal de l’instance après LOCALDB# change chaque fois que l’instance de LocalDB est démarrée. Pour se connecter à l’instance de LocalDB à l’aide de SQL Server Management Studio, entrez le nom du canal de l’instance dans la zone Nom du serveur de la boîte de dialogue Se connecter au Moteur de base de données . Depuis votre programme personnalisé, vous pouvez établir la connexion à l'instance de LocalDB à l'aide d'une chaîne de connexion semblable à SqlConnection conn = new SqlConnection(@"Server=np:\\.\pipe\LOCALDB#F365A78E\tsql\query");
Se connecter à une instance partagée de LocalDB
Pour vous connecter à une instance partagée de LocalDB, ajoutez \.\ (barre oblique inverse + point + barre oblique inverse) à la chaîne de connexion pour faire référence à l'espace de noms réservé aux instances partagées. Par exemple, pour vous connecter à une instance partagée de LocalDB nommée AppData, utilisez une chaîne de connexion telle que (localdb)\.\AppData dans la chaîne de connexion. Un utilisateur se connectant à une instance partagée de Base de données locale dont il n’est pas propriétaire doit disposer d’une connexion via l’Authentification Windows ou l’authentification SQL Server.
Résolution des problèmes
LocalDB s’exécute en tant qu’instance légère dans le contexte de l’utilisateur actuel, ce qui signifie que la plupart des problèmes sont liés à l’état de l’instance, aux autorisations de fichier ou aux incompatibilités de version plutôt qu’à la configuration au niveau du serveur. Les étapes suivantes peuvent vous aider à diagnostiquer et à résoudre les problèmes locaux les plus courants.
Mettre à niveau vers la dernière version
De nombreux problèmes locaux courants sont résolus en effectuant une mise à niveau vers la dernière version de SQL Server Express. Téléchargez la dernière version à partir de la section Support d’installation et installez LocalDB. La version la plus récente remplace les fichiers binaires LocalDB existants et inclut des correctifs pour les problèmes de stabilité et de compatibilité connus.
Après la mise à niveau, supprimez et recréez vos instances pour utiliser les fichiers binaires mis à jour :
sqllocaldb stop MSSQLLocalDB
sqllocaldb delete MSSQLLocalDB
sqllocaldb create MSSQLLocalDB
sqllocaldb start MSSQLLocalDB
Avertissement
La suppression d’une instance supprime toutes les bases de données associées à cette instance. Sauvegardez les données importantes avant de supprimer.
Vérifier l’état de l’installation et de l’instance
Exécutez les commandes suivantes pour confirmer que LocalDB est installé et vérifiez l’état de votre instance :
sqllocaldb info
sqllocaldb info MSSQLLocalDB
La première commande répertorie toutes les instances. La deuxième commande affiche la version, le propriétaire et l’état (En cours d’exécution ou arrêté) d’une instance spécifique. Si sqllocaldb elle n’est pas reconnue, LocalDB n’est peut-être pas installé ou le chemin d’installation n’est pas dans la variable système PATH .
Pour démarrer une instance qui n’est pas en cours d’exécution :
sqllocaldb start MSSQLLocalDB
Passer en revue les journaux d’erreurs
LocalDB écrit les fichiers de log d'erreurs dans le dossier de l'utilisateur AppData.
%LOCALAPPDATA%\Microsoft\Microsoft SQL Server Local DB\Instances\MSSQLLocalDB\error.log
Ouvrez ce fichier dans un éditeur de texte pour rechercher des messages d’erreur spécifiques, des échecs de démarrage ou des problèmes de configuration.
autorisations
Une instance SQL Server Express LocalDB est une instance créée par un utilisateur pour son propre usage. Tout utilisateur peut créer sur l'ordinateur une base de données à l'aide d'une instance de LocalDB, stocker les fichiers sous son profil utilisateur et exécuter le processus à l'aide de ses informations d'identification. Par défaut, l'accès à l'instance de LocalDB est limité à son propriétaire. Les données contenues dans LocalDB sont protégées via l'accès au système de 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 ayant accès au système de fichiers à cet emplacement en utilisant une instance de LocalDB dont elle est propriétaire. 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 fichiers LocalDB ne peuvent être ouverts que par une instance de LocalDB à la fois.
LocalDB s’exécute toujours dans le contexte de sécurité de l’utilisateur. LocalDB ne s’exécute jamais avec les informations d’identification du groupe Administrateurs local. Cela signifie que tous les fichiers de base de données utilisés par une instance LocalDB doivent être accessibles à l’aide du compte Windows de l’utilisateur propriétaire, sans prendre en compte l’appartenance au groupe des administrateurs local.