Compartir a través de


Referencia de la API de instancia LocalDB de SQL Server Express

En el mundo tradicional de SQL Server basado en servicios, las instancias individuales de SQL Server instaladas en un único equipo están separadas físicamente; es decir, cada instancia debe instalarse y quitarse por separado, tiene un conjunto independiente de archivos binarios y se ejecuta en un proceso de servicio independiente. El nombre de instancia de SQL Server se usa para especificar a qué instancia de SQL Server quiere conectarse el usuario.

La API de instancia de SQL Server Express LocalDB usa un modelo de instancia simplificado "light". Aunque las instancias individuales de LocalDB están separadas en el disco y en el registro, usan el mismo conjunto de archivos binarios compartidos de LocalDB. Además, LocalDB no usa servicios; Las instancias de LocalDB se inician a petición mediante llamadas API de instancia de LocalDB. En LocalDB, el nombre de instancia se usa para especificar con qué instancias de LocalDB quiere trabajar el usuario.

Una instancia de LocalDB siempre es propiedad de un solo usuario y solo es visible y accesible desde el contexto de este usuario, a menos que se habilite el uso compartido de instancias.

Aunque técnicamente las instancias de LocalDB no son las mismas que las instancias tradicionales de SQL Server, su uso previsto es similar. Se denominan instancias para resaltar esta similitud y para que sean más intuitivas para los usuarios de SQL Server.

LocalDB admite dos tipos de instancias: instancias automáticas (AI) e instancias con nombre (NI). El identificador de una instancia de LocalDB es el nombre de la instancia.

Instancias automáticas de LocalDB

Las instancias automáticas de LocalDB son "públicas"; se crean y administran automáticamente para el usuario y se pueden usar en cualquier aplicación. Existe una instancia automática de LocalDB para cada versión de LocalDB instalada en el equipo del usuario.

Las instancias automáticas de LocalDB proporcionan una administración de instancias sin problemas. El usuario no necesita crear la instancia. Esto permite a los usuarios instalar fácilmente aplicaciones y migrar a diferentes equipos. Si el equipo de destino tiene instalada la versión especificada de LocalDB, la instancia automática de LocalDB para esa versión también está disponible en ese equipo.

Administración automática de instancias

Un usuario no necesita crear una instancia automática de LocalDB. La instancia se crea de forma diferir la primera vez que se usa la instancia, siempre que la versión especificada de LocalDB esté disponible en el equipo del usuario. Desde el punto de vista del usuario, la instancia automática siempre está presente si los archivos binarios de LocalDB están presentes.

Otras operaciones de administración de instancias, como Delete, Share y Unshare, también funcionan para instancias automáticas. En concreto, la eliminación de una instancia automática restablece eficazmente la instancia, que se volverá a crear en la siguiente operación Start. Es posible que se requiera eliminar una instancia automática si las bases de datos del sistema están dañadas.

Reglas de nomenclatura automática de instancias

Las instancias automáticas de LocalDB tienen un patrón especial para el nombre de instancia que pertenece a un espacio de nombres reservado. Esto es necesario para evitar conflictos de nombres con instancias de LocalDB con nombre.

El nombre de instancia automática es el número de versión de la versión de línea base de LocalDB precedido por un solo carácter "v". Esto parece "v" más dos números con un punto entre ellos; por ejemplo, v11.0 o V12.00.

Algunos ejemplos de nombres de instancia automática no válidos son:

  • 11.0 (falta el carácter "v" al principio)

  • v11 (falta un punto y el segundo número de la versión)

  • v11. (falta el segundo número de la versión)

  • v11.0.1.2 (el número de versión tiene más de dos partes)

Instancias de LocalDB con nombre

Las instancias de LocalDB con nombre son "privadas"; una instancia es propiedad de una sola aplicación que es responsable de crear y administrar la instancia. Las instancias de LocalDB con nombre proporcionan aislamiento y mejoran el rendimiento.

Creación de instancias con nombre

El usuario debe crear instancias con nombre explícitamente a través de la API de administración de LocalDB o implícitamente a través del archivo app.config para una aplicación administrada. Una aplicación administrada también puede usar la API.

Cada instancia con nombre tiene una versión de LocalDB asociada; es decir, apunta a un conjunto especificado de archivos binarios de LocalDB. La versión de la instancia con nombre se establece durante el proceso de creación de la instancia.

Reglas de nomenclatura de instancias con nombre

Un nombre de instancia de LocalDB puede tener hasta un total de 128 caracteres (el límite se impone por el tipo de sysname datos). Se trata de una diferencia significativa en comparación con los nombres de instancia tradicionales de SQL Server, que están limitados a nombres NetBIOS de 16 caracteres ASCII. La razón de esta diferencia es que LocalDB trata las bases de datos como archivos y, por tanto, implica la semántica basada en archivos, por lo que es intuitivo que los usuarios tengan más libertad para elegir nombres de instancia.

Un nombre de instancia de LocalDB puede contener cualquier carácter Unicode que sea legal dentro del componente de nombre de archivo. Los caracteres no válidos en un componente de nombre de archivo suelen incluir los siguientes caracteres: caracteres ASCII/Unicode de 1 a 31, así como comillas ("), menor que (), mayor que (<>),canalización (|), retroceso (\b), tabulación (\t), dos puntos (:), asterisco (*), signo de interrogación (?), barra diagonal inversa (\) y barra diagonal (/). Tenga en cuenta que se permite el carácter null (\0) porque se usa para la terminación de cadena; todo después del primer carácter NULO se omitirá.

Nota:

La lista de caracteres no válidos puede depender del sistema operativo y puede cambiar en futuras versiones.

Los espacios en blanco iniciales y finales en los nombres de instancia se omiten y se recortarán.

Para evitar conflictos de nomenclatura, las instancias de LocalDB con nombre no pueden tener un nombre que siga el patrón de nomenclatura para las instancias automáticas, como se describe anteriormente en "Reglas de nomenclatura de instancias automáticas". Un intento de crear una instancia con nombre con un nombre que sigue el patrón de nomenclatura de instancias automática crea eficazmente una instancia predeterminada.

Temas de referencia de SQL Server Express LocalDB

Información de versiones y encabezados de SQL Server Express LocalDB
Proporciona información de archivo de encabezado y claves del Registro para buscar la API de instancia de LocalDB.

Herramienta de administración de la línea de comandos: SqlLocalDB.exe
Describe SqlLocalDB.exe, una herramienta para administrar instancias de LocalDB desde la línea de comandos.

Función LocalDBCreateInstance
Describe la función para crear una nueva instancia de LocalDB.

Función LocalDBDeleteInstance
Describe la función para quitar una instancia de LocalDB.

Función LocalDBFormatMessage
Describe la función para devolver la descripción localizada de un error de LocalDB.

Función LocalDBGetInstanceInfo
Describe la función para obtener información de una instancia de LocalDB, como si existe, información de versión, si se está ejecutando, etc.

Función LocalDBGetInstances
Describe la función para devolver todas las instancias de LocalDB con una versión especificada.

Función LocalDBGetVersionInfo
Describe la función para devolver información de una versión de LocalDB especificada.

Función LocalDBGetVersions
Describe la función para devolver todas las versiones de LocalDB disponibles en un equipo.

Función LocalDBShareInstance
Describe la función para compartir una instancia de LocalDB especificada.

Función LocalDBStartInstance
Describe la función para iniciar una instancia de LocalDB especificada.

Función LocalDBStartTracing
Describe la función para habilitar el seguimiento de API para un usuario.

Función LocalDBStopInstance
Describe la función para detener la ejecución de una instancia de LocalDB especificada.

Función LocalDBStopTracing
Describe la función para deshabilitar el seguimiento de API para un usuario.

Función LocalDBUnshareInstance
Describe la función para dejar de compartir una instancia de LocalDB especificada.