Guide de référence de l'API d'instance SQL Server Express LocalDB
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 instance LocalDB SQL Server Express utilise un modèle de 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 instance partage 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. Elles sont appelées instances pour souligner cette similarité et pour les rendre plus intuitives pour SQL Server utilisateurs.
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 de 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. Le instance est créé de manière différée la première fois que le instance est utilisé, à condition que la version spécifiée de LocalDB soit disponible sur l’ordinateur de l’utilisateur. Du point de vue de l’utilisateur, le instance automatique est toujours présent 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 instance automatique est le numéro de version de la version de la base de référence LocalDB précédé d’un caractère « v » unique. Cela ressemble à « v » plus deux nombres avec un point entre eux ; par exemple, v11.0 ou V12.00.
Voici des exemples de noms d'instance automatique non conformes :
11.0 (absence du 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 LocalDB nommées sont « privées » ; une instance appartient à une seule application chargée de créer et de gérer les 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 de LocalDB peut comporter au plus 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 comme des fichiers et implique donc une sémantique basée sur les fichiers, de sorte qu’il est intuitif pour les utilisateurs d’avoir plus de liberté dans le choix des noms 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 autorisés dans un composant de nom de fichier incluent généralement les caractères suivants : caractères ASCII/Unicode 1 à 31, ainsi que guillemets (« ), inférieurs à (<), supérieurs à (>), canal (|), retour arrière (\b), tab (\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é.
Notes
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 un nom qui suit le modèle de nommage des instances automatiques, comme décrit précédemment dans « Règles de nommage automatique d’instance ». Une tentative de création d’un instance nommé avec un nom qui suit le modèle de nommage automatique instance crée effectivement une instance par défaut.
Rubriques de référence SQL Server Express LocalDB
En-tête et informations de version SQL Server Express LocalDB
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.
Fonction LocalDBCreateInstance
Décrit la fonction pour créer une nouvelle instance de LocalDB.
Fonction LocalDBDeleteInstance
Décrit la fonction pour supprimer une instance de LocalDB.
Fonction LocalDBFormatMessage
Décrit la fonction pour retourner la description localisée d'une erreur de LocalDB.
Fonction LocalDBGetInstanceInfo
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.
Fonction LocalDBGetInstances
Décrit la fonction pour retourner toutes les instances de LocalDB avec une version spécifiée.
Fonction LocalDBGetVersionInfo
Décrit la fonction pour retourner des informations sur une version spécifiée de LocalDB.
Fonction LocalDBGetVersions
Décrit la fonction pour retourner toutes les versions de LocalDB disponibles sur un ordinateur.
Fonction LocalDBShareInstance
Décrit la fonction pour partager une instance spécifiée de LocalDB.
Fonction LocalDBStartInstance
Décrit la fonction pour démarrer une instance spécifiée de LocalDB.
Fonction LocalDBStartTracing
Décrit la fonction pour activer le suivi d'API pour un utilisateur.
Fonction LocalDBStopInstance
Décrit la fonction pour cesser l'exécution d'une instance spécifiée de LocalDB.
Fonction LocalDBStopTracing
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.