Share via


SQL Server 2014 Express LocalDB

Microsoft SQL Server 2014 Express LocalDB es un modo de ejecución de SQL Server Express destinado a desarrolladores de programas. LocalDBla instalación copia un conjunto mínimo de archivos necesarios para iniciar el motor de base de datos de SQL Server. Una vez LocalDB instalado, los desarrolladores inician una conexión mediante una cadena de conexión especial. Al conectarse, la infraestructura SQL Server necesaria se crea e inicia automáticamente, lo que permite a la aplicación usar la base de datos sin tareas de configuración complejas o lentas. Las Herramientas de desarrollo pueden proporcionar a los desarrolladores de software un Motor de base de datos de SQL Server que les permite escribir y probar el código de Transact-SQL sin tener que administrar una instancia de servidor completa de SQL Server. Una instancia de SQL Server ExpressLocalDB se administra mediante la SqlLocalDB.exe utilidad . LocalDB SQL Server Express debe usarse en lugar de la característica de instancia de usuario SQL Server Express que está en desuso.

Instalar LocalDB

El método principal de instalación LocalDB es mediante el programa SqlLocalDB.msi. LocalDBes una opción al instalar cualquier SKU de SQL Server 2014 Express. Seleccione LocalDB en la página Selección de características durante la instalación de SQL Server Express. Solo puede haber una instalación de los LocalDB archivos binarios para cada versión principal del motor de base de datos de SQL Server. Se pueden iniciar varios procesos de Motor de base de datos y todos usarán los mismos binarios. Una instancia del motor de base de datos de SQL Server iniciado, ya que LocalDB tiene las mismas limitaciones que SQL Server Express

Descripción

El LocalDB programa de instalación utiliza el programa SqlLocalDB.msi para instalar los archivos necesarios en el equipo. Una vez instalado, LocalDB es una instancia de SQL Server Express que puede crear y abrir bases de datos de SQL Server. Los archivos de base de datos del sistema para la base de datos se almacenan normalmente en la ruta de acceso de AppData local de los usuarios, que suele estar oculta. Por ejemplo, C:\Users\user>\<AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\LocalDBApp1\. Los archivos de base de datos de usuario se almacenan donde el usuario designa, normalmente en algún lugar de la carpeta C:\Users\<user>\Documents\ .

Para obtener más información sobre la inclusión LocalDB en una aplicación, consulte la documentación de Visual Studio Información general sobre datos locales, Tutorial: Creación de una base de datos localDB SQL Server y Tutorial: Conexión a datos en una base de datos localDB (Windows Forms) de SQL Server.

Para obtener más información sobre la LocalDB API, consulte SQL Server Express referencia de api de instancia de LocalDB y función LocalDBStartInstance.

La utilidad SqlLocalDb puede crear nuevas instancias de LocalDB, iniciar y detener una instancia de LocalDBe incluye opciones para ayudarle a administrar LocalDB. Para obtener más información sobre la utilidad SqlLocalDb, vea SqlLocalDB (utilidad).

La intercalación de instancia de LocalDB se establece en SQL_Latin1_General_CP1_CI_AS y no se puede cambiar. Normalmente se admiten las intercalaciones de nivel de base de datos, nivel de columna y nivel de expresión. Las bases de datos independientes siguen las reglas de las intercalaciones de metadatos y tempdb definidas por Contained Database Collations.

Restricciones

LocalDB no puede ser un suscriptor de replicación de mezcla.

LocalDB no admite FILESTREAM.

LocalDB solo permite colas locales para Service Broker.

Una instancia de propiedad de LocalDB las cuentas integradas, como NT AUTHORITY\SYSTEM, puede tener problemas de manejabilidad debido al redireccionamiento del sistema de archivos de Windows; En su lugar, use una cuenta de Windows normal como propietario.

Instancias automáticas y con nombre

LocalDB admite dos tipos de instancias: instancias automáticas e instancias con nombre.

  • 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. 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 administración de instancias sin problemas. No hay ninguna necesidad de crear la instancia; solo funciona. Esto permite la instalación y migración fáciles de las aplicaciones en un equipo diferente. Si la máquina 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 la máquina de destino. 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 evita conflictos de nombres con instancias con nombre de LocalDB. El nombre de la instancia automática es MSSQLLocalDB.

  • Las instancias con nombre de LocalDB son privadas. 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 proporcionan el aislamiento de otras instancias y pueden mejorar el rendimiento reduciendo la contención de recursos con otros usuarios de bases de datos. El usuario debe crear instancias con nombre explícitamente a través de la LocalDB API de administración o implícitamente a través del archivo app.config para una aplicación administrada (aunque la aplicación administrada también puede usar la API, si lo desea). Cada instancia con nombre de LocalDB tiene una versión asociada LocalDB que apunta al conjunto respectivo de LocalDB archivos binarios. El nombre de instancia de es sysname de LocalDB tipo de datos y puede tener hasta 128 caracteres. (Esto difiere de las instancias con nombre normales de SQL Server, que limita los nombres a nombres NetBIOS normales de 16 caracteres ASCII). El nombre de una instancia de LocalDB puede contener cualquier carácter Unicode que sea legal dentro de un nombre de archivo. Una instancia con nombre que utiliza un nombre de instancia automática se convierte en una instancia automática.

Usuarios diferentes de un equipo pueden tener instancias con el mismo nombre. Cada instancia es un proceso diferente que se ejecuta como un usuario diferente.

Instancias compartidas de LocalDB

Para admitir escenarios en los que varios usuarios del equipo necesitan conectarse a una sola instancia de , LocalDB admite el uso compartido de LocalDBinstancias. Un propietario de una instancia puede decidir permitir que otros usuarios del equipo se conecten a la instancia. Se pueden compartir instancias automáticas y con nombre de LocalDB . Para compartir una instancia de LocalDB, un usuario selecciona un nombre compartido (alias) para ella. Dado que el nombre compartido está visible para todos los usuarios del equipo, este nombre compartido debe ser único en el equipo. El nombre compartido de una instancia de LocalDB tiene el mismo formato que la instancia con nombre de LocalDB.

Solo un administrador del equipo puede crear una instancia compartida de LocalDB. Un administrador o el propietario de la instancia compartida de puede dejar de compartir una instancia compartida de LocalDBLocalDB. Para compartir y no compartir una instancia de LocalDB, use los LocalDBShareInstance métodos y LocalDBUnShareInstance de la LocalDB API, o las opciones de recurso compartido y no compartido de la utilidad SqlLocalDb.

Iniciar LocalDB y conectarse a LocalDB

Conectarse con la instancia automática

La manera más fácil de usar LocalDB es conectarse a la instancia automática que pertenece al usuario actual mediante la cadena de conexión "Server=(localdb)\MSSQLLocalDB;Integrated Security=true". Para conectarse a una base de datos concreta con el nombre de archivo, conéctese mediante una cadena de conexión similar a "Server=(LocalDB)\MSSQLLocalDB; Integrated Security=true ;AttachDbFileName=D:\Data\MyDB1.mdf".

Nota

La primera vez que un usuario de un equipo intenta conectarse a LocalDB, la instancia automática debe crearse e iniciarse. El tiempo adicional para la creación de la instancia puede hacer que el intento de conexión deje de funcionar con un mensaje de fin de tiempo de espera. Cuando sucede esto, espere unos segundos para que el proceso de creación se complete y, a continuación, conéctese de nuevo.

Crear instancias con nombre y conectarse a ellas

Además de la instancia automática, LocalDB también admite instancias con nombre. Use el programa SqlLocalDB.exe para crear, iniciar y detener una instancia con nombre de LocalDB. Para obtener más información sobre SqlLocalDB.exe, vea SqlLocalDB (utilidad).

REM Create an instance of LocalDB  
"C:\Program Files\Microsoft SQL Server\120\Tools\Binn\SqlLocalDB.exe" create LocalDBApp1  
REM Start the instance of LocalDB  
"C:\Program Files\Microsoft SQL Server\120\Tools\Binn\SqlLocalDB.exe" start LocalDBApp1  
REM Gather information about the instance of LocalDB  
"C:\Program Files\Microsoft SQL Server\120\Tools\Binn\SqlLocalDB.exe" info LocalDBApp1  

La última línea anterior devuelve información similar a la siguiente.

Nombre "LocalDBApp1"
Versión <Versión actual>
Nombre compartido ""
Propietario "<Su usuario de Windows>"
Creación automática No
State en ejecución
Última hora de inicio <Fecha y hora>
Nombre de canalización de instancia np:\\.\pipe\LOCALDB#F365A78E\tsql\query

Nota

Si la aplicación usa una versión de .NET anterior a la versión 4.0.2, debe conectarse directamente a la canalización con nombre de LocalDB. El valor de nombre de canalización de instancia es la canalización con nombre en la que escucha la instancia de LocalDB . La parte del nombre de canalización de instancia después de LOCALDB# cambiará cada vez que se inicie la instancia de LocalDB . Para conectarse a la instancia de LocalDB mediante SQL Server Management Studio, escriba el nombre de canalización de instancia en el cuadro Nombre del servidor del cuadro de diálogo Conectar al motor de base de datos. Desde el programa personalizado, puede establecer la conexión a la instancia de mediante una cadena de LocalDB conexión similar a SqlConnection conn = new SqlConnection(@"Server=np:\\.\pipe\LOCALDB#F365A78E\tsql\query");

Conectarse a una instancia compartida de LocalDB

Para conectarse a una instancia compartida de LocalDB agregar .\ (punto + barra diagonal inversa) a la cadena de conexión para hacer referencia al espacio de nombres reservado para las instancias compartidas. Por ejemplo, para conectarse a una instancia compartida de LocalDB con nombre AppData , use una cadena de conexión como (localdb)\.\AppData parte de la cadena de conexión. Un usuario que se conecta a una instancia compartida de LocalDB que no posee debe tener una autenticación de Windows o SQL Server inicio de sesión de autenticación.

Solución de problemas

Para obtener información sobre cómo solucionar problemas, consulte Solución de problemas de SQL Server 2012 Express LocalDB.LocalDB

Permisos

Una instancia de SQL Server 2014 ExpressLocalDB es una instancia creada por un usuario para su uso. Cualquier usuario del equipo puede crear una base de datos mediante una instancia de LocalDB, almacenando archivos en su perfil de usuario y ejecutando el proceso con sus credenciales. De forma predeterminada, el acceso a la instancia de LocalDB está limitado a su propietario. Los datos contenidos en LocalDB están protegidos por el acceso del sistema de archivos a los archivos de base de datos. Si los archivos de base de datos de usuario se almacenan en una ubicación compartida, cualquier persona con acceso del sistema de archivos a esa ubicación puede abrir la base de datos mediante una instancia de LocalDB la que poseen. Si los archivos de base de datos están en una ubicación protegida, como la carpeta de datos de los usuarios, solo el usuario y los administradores con acceso a la carpeta pueden abrir la base de datos. Los LocalDB archivos solo se pueden abrir mediante una instancia de LocalDB a la vez.

Nota:

LocalDB siempre se ejecuta en el contexto de seguridad de los usuarios; es decir, LocalDB nunca se ejecuta con credenciales del grupo del administrador local. Esto significa que todos los archivos de base de datos usados por una LocalDB instancia deben ser accesibles mediante la cuenta de Windows del usuario propietario, sin considerar la pertenencia al grupo administradores local.

Consulte también

SqlLocalDB (utilidad)