Informations de référence sur SQL Server Express LocalDB - API d’instance
S’applique à : SQL Server
Dans le monde traditionnel SQL Server basé sur les services, différentes instances de SQL Server installées sur un même ordinateur sont physiquement séparées ; autrement dit, chaque instance doit être installée et supprimée séparément, possède un jeu distinct de binaires, et s'exécute sous un processus de service distinct. Le nom de l'instance SQL Server est utilisé pour spécifier l'instance SQL Server à laquelle l'utilisateur souhaite se connecter.
L’API d’instance SQL Server Express LocalDB utilise un modèle d’instance simplifié et « léger ». Bien que les instances LocalDB individuelles soient séparées sur le disque et dans le Registre, elles utilisent le même jeu de binaires LocalDB partagés. De plus, LocalDB n'utilise pas de services ; les instances de LocalDB sont lancées sur demande par des appels d'API d'instance de LocalDB. Dans LocalDB, le nom de l'instance est utilisé pour spécifier les instances de LocalDB avec lesquelles l'utilisateur souhaite travailler.
Une instance LocalDB appartient toujours à un seul utilisateur et est visible et accessible uniquement à partir du contexte de cet utilisateur, sauf si le partage d’instance est activé.
Bien que techniquement les instances de LocalDB ne soient pas les mêmes que les instances SQL Server traditionnelles, leur utilisation est similaire. Ils sont appelés instances pour mettre en évidence cette similarité et les rendre plus intuitifs pour les utilisateurs DE SQL Server.
LocalDB prend en charge deux types d'instances : les instances automatiques (AI) et les instances nommées (NI). L'identificateur d'une instance de LocalDB est le nom de l'instance.
Instances automatiques de LocalDB
Les instances LocalDB automatiques sont « publiques » ; ils sont créés et gérés automatiquement pour l’utilisateur et peuvent être utilisés par n’importe quelle application. Une instance LocalDB automatique existe pour chaque version de LocalDB installée sur l’ordinateur de l’utilisateur.
Les instances automatiques de LocalDB fournissent la gestion transparente d'instances. L'utilisateur n'a pas besoin de créer l'instance. Cela permet aux utilisateurs d'installer facilement des applications et de migrer vers d'autres ordinateurs. Si la version spécifiée de LocalDB est installée sur l'ordinateur, l'instance automatique de LocalDB pour cette version est également disponible sur cet ordinateur.
Gestion automatique d'instances
Un utilisateur n'a pas besoin de créer une instance automatique de LocalDB. L’instance est créée de manière différée la première fois que l’instance est utilisée, à condition que la version spécifiée de LocalDB soit disponible sur l’ordinateur de l’utilisateur. Du point de vue de l’utilisateur, l’instance automatique est toujours présente si les fichiers binaires LocalDB sont présents.
D'autres opérations de gestion d'instances, telles que la suppression, le partage et l'annulation du partage, s'exécutent également pour les instances automatiques. En particulier, la suppression d'une instance automatique réinitialise efficacement l'instance, qui sera recréée lors de l'opération suivante de démarrage. La suppression d'une instance automatique peut être requise si les bases de données système sont endommagées.
Règles de dénomination d'instance automatique
Les instances automatiques de LocalDB ont un modèle particulier pour le nom de l'instance qui appartient à un espace de noms réservé. Cela est nécessaire pour éviter des conflits de noms avec les instances nommées de LocalDB.
Le nom de l’instance automatique est le numéro de version de la base de référence LocalDB précédé d’un seul caractère « v ». Cela ressemble à « v » plus deux nombres avec une période entre eux ; par exemple, v11.0 ou V12.00.
Voici des exemples de noms d'instance automatique non conformes :
11.0 (manquant le caractère « v » au début)
v11 (il manque un point et le second numéro de version)
v11. (il manque le deuxième numéro de version)
v 11.0.1.2 (le numéro de version a plus de deux parties)
Instances nommées de LocalDB
Les instances de localDB nommées sont « privées » ; une instance appartient à une seule application responsable de la création et de la gestion de l’instance. Les instances nommées de LocalDB fournissent l'isolement et améliorent les performances.
Création d'instance nommée
L'utilisateur doit créer des instances nommées explicitement via l'API de gestion de LocalDB, ou implicitement à l'aide du fichier app.config pour une application managée. Une application managée peut également utiliser l'API.
Chaque instance nommée possède une version associée de LocalDB ; autrement dit, elle indique un jeu de binaires de LocalDB. La version de l'instance nommée est définie pendant le processus de création de l'instance.
Règles de dénomination d'instance nommée
Un nom d’instance LocalDB peut avoir jusqu’à un total de 128 caractères (la limite est imposée par le type de données sysname ). Il s'agit d'une différence importante comparée aux noms d'instances SQL Server traditionnelles, qui sont limités aux noms NetBIOS de 16 caractères ASCII. La raison de cette différence est que LocalDB traite les bases de données en tant que fichiers, et implique donc une sémantique basée sur des fichiers, de sorte qu’il est intuitif pour les utilisateurs d’avoir plus de liberté dans le choix des noms d’instance.
Un nom d'instance de LocalDB peut contenir tous les caractères Unicode qui sont valides dans le composant nom de fichier. Les caractères non valides d’un composant de nom de fichier incluent généralement les caractères ASCII/Unicode 1 à 31, ainsi que les guillemets ("), inférieurs à (<), supérieur à (>), pipe (|), retour arrière (\b), tabulation (\t), deux-points (:), astérisque (*), point d’interrogation ( ?), barre oblique inverse (\) et barre oblique (/). Notez que le caractère Null (\0) est autorisé, car il est utilisé pour la fin de chaîne ; tout caractère qui se trouve après le premier caractère NULL est ignoré.
Remarque
La liste de caractères non conformes peut dépendre du système d'exploitation et peut changer dans les versions ultérieures.
Les espaces de début et de fin dans les noms d'instances sont ignorés et seront supprimés.
Pour éviter les conflits de noms, les instances LocalDB nommées ne peuvent pas avoir de nom qui suit le modèle d’affectation de noms pour les instances automatiques, comme décrit précédemment dans « Règles d’affectation de noms d’instance automatique ». Une tentative de création d’une instance nommée avec un nom qui suit le modèle de nommage automatique d’instance crée efficacement une instance par défaut.
Rubriques de référence SQL Server Express LocalDB
En-tête et informations de version de la base de données locale SQL Server Express
Fournit des informations sur le fichier d'en-tête et les clés de Registre pour rechercher l'API d'instance de LocalDB.
Outil de gestion en ligne de commande : SqlLocalDB.exe
Décrit SqlLocalDB.exe, un outil de gestion des instances de LocalDB à partir de la ligne de commande.
LocalDBCreateInstance, fonction
Décrit la fonction pour créer une nouvelle instance de LocalDB.
LocalDBDeleteInstance, fonction
Décrit la fonction pour supprimer une instance de LocalDB.
LocalDBFormatMessage, fonction
Décrit la fonction pour retourner la description localisée d'une erreur de LocalDB.
LocalDBGetInstanceInfo, fonction
Décrit la fonction pour obtenir des informations sur une instance de LocalDB, entre autres si elle existe, les informations de version, si elle s'exécute, et ainsi de suite.
LocalDBGetInstances, fonction
Décrit la fonction pour retourner toutes les instances de LocalDB avec une version spécifiée.
LocalDBGetVersionInfo, fonction
Décrit la fonction pour retourner des informations sur une version spécifiée de LocalDB.
LocalDBGetVersions, fonction
Décrit la fonction pour retourner toutes les versions de LocalDB disponibles sur un ordinateur.
LocalDBShareInstance, fonction
Décrit la fonction pour partager une instance spécifiée de LocalDB.
LocalDBStartInstance, fonction
Décrit la fonction pour démarrer une instance spécifiée de LocalDB.
LocalDBStartTracing, fonction
Décrit la fonction pour activer le suivi d'API pour un utilisateur.
LocalDBStopInstance, fonction
Décrit la fonction pour cesser l'exécution d'une instance spécifiée de LocalDB.
LocalDBStopTracing, fonction
Décrit la fonction pour désactiver le suivi d'API pour un utilisateur.
LocalDBUnshareInstance, fonction
Décrit la fonction pour cesser le partage d'une instance spécifiée de LocalDB.