Share via


Referencia de la API de instancia de SQL Server Express LocalDB

En el mundo tradicional de SQL Server basado en servicios, las instancias de SQL Server individuales que están instaladas en un equipo único se encuentran físicamente separadas; es decir, cada instancia debe instalarse y quitarse de forma individual, tener un conjunto independiente de archivos binarios y ejecutarse en un proceso individual del servicio. El nombre de la instancia de SQL Server se utiliza para especificar a qué instancia de SQL Server se desea conectar el usuario.

La API de instancia de SQL Server Express LocalDB usa un modelo de instancia simplificado y “ligero”. Aunque las instancias individuales de LocalDB estén separadas en el disco y en el Registro, utilizan el mismo conjunto de archivos binarios compartidos de LocalDB. Además, LocalDB no utiliza servicios; las instancias de LocalDB se inician a petición a través de llamadas a la API de la instancia de LocalDB. En LocalDB, el nombre de instancia se utiliza para especificar la instancia de LocalDB con la que va a trabar el usuario.

Las instancias de LocalDB son siempre propiedad de un solo usuario y se hacen visibles y accesibles únicamente desde el contexto de este usuario, salvo que se haya habilitado el uso compartido de la instancia.

Aunque técnicamente las instancias de LocalDB no son las mismas que las instancias tradicionales de SQL Server, el uso al que están dirigidas es similar. Se denominan instancias para resaltar esta similitud y con el fin de que resulten 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 para una instancia de LocalDB es el nombre de instancia.

Instancias automáticas de LocalDB

Las instancias automáticas de LocalDB son “públicas”; se crean y se administran automáticamente para el usuario y se pueden utilizar en cualquier aplicación. Hay instancias automáticas de LocalDB en cada versión de LocalDB que se haya instalado en el equipo del usuario.

Las instancias automáticas de LocalDB proporcionan una administración agilizada de la instancia. El usuario no necesita crear la instancia. De esta forma, los usuarios pueden instalar aplicaciones con facilidad y migrarlas a equipos diferentes. Si el equipo de destino tiene la versión especificada de LocalDB instalada, la instancia automática de LocalDB de esa versión también estará disponible en ese equipo.

Administración de instancias automáticas

Los usuarios no necesitan crear una instancia automática de LocalDB. La instancia se crea de forma diferida la primera vez que se use 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 estará siempre presente si los archivos binarios de LocalDB están presentes.

En las instancias automáticas están también operativas otras operaciones de administración de estancias, como Eliminar, Compartir y No compartir. Concretamente, al eliminar una instancia automática, se restablece la instancia de forma eficaz, la cual se creará en la próxima operación de inicio. Es posible que sea necesario eliminar una instancia automática si se dañan las bases de datos del sistema.

Normas de nomenclatura para instancias automáticas

Las instancias automáticas de LocalDB cuentan con 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 las instancias con nombre de LocalDB.

El nombre de instancia automático es el número de versión de lanzamiento inicial de LocalDB precedido por una sola letra “v”. Con lo cual sería una “v” más dos números con un punto entre ellos; por ejemplo, v11.0 o V12.00.

Entre los ejemplos de nombre de instancia incorrectos, se encuentran:

  • 11.0 (falta la letra “v” al principio)

  • v11 (falta un punto y una segunda cifra de 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 porciones)

Instancias con nombre de LocalDB

Las instancias con nombre de LocalDB son “privadas”; las instancias son propiedad de una sola aplicación que es la responsable de la creación y administración de la instancia. Las instancias con nombre de LocalDB proporcionan aislamiento y mejoran el rendimiento.

Creación de instancias con nombre

El usuario debe crear las 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. Las aplicaciones administradas también pueden utilizar la API.

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

Normas de nomenclatura para instancias con nombre

Los nombres de instancia de LocalDB pueden tener un total de hasta 128 caracteres (el límite queda establecido según el tipo de datos de sysname). Se trata de una importante diferencia si se compara con los nombres tradicionales de instancia de SQL Server, las cuales están limitadas a los nombres de NetBIOS de 16 caracteres ASCII. Esta diferencia existe porque LocalDB trata a las bases de datos como archivos y, por tanto, se utiliza una semántica basada en archivos, de forma que resulta más intuitivo para los usuarios, que dispondrán de más libertad a la hora de elegir nombres de instancia.

Los nombres de instancia de LocalDB pueden contener cualquier tipo de caracteres Unicode que sean válidos en el componente de nombre de archivo. Los caracteres no válidos en un componente de nombre de archivo normalmente incluyen los caracteres siguientes: caracteres ASCII/Unicode del 1 al 31, así como las comillas ("), menor que (<), mayor que (>), barra vertical (|), retroceso (\ b), tabulador (\ t), dos puntos (:), asterisco (*), signo de interrogación (?), barra diagonal inversa (\) y barra diagonal (/). Tenga en cuenta que el carácter NULL (\0) está permitido porque se utiliza para la terminación de cadenas; se ignorará todo aquello que esté tras el carácter NULL.

[!NOTA]

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

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

Para evitar los conflictos de nombre, las instancias con nombre de LocalDB no podrán tener un nombre que siga el modelo de nomenclatura para instancias automáticas, tal como se ha descrito anteriormente en “Normas de nomenclatura para instancias automáticas”. Si se intenta crear una instancia con nombre con un nombre que siga el modelo de nomenclatura de una instancia automática, creará una instancia no válida.

Temas de referencia de SQL Server Express LocalDB