Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Microsoft SQL Server 2014 Express LocalDB
es un modo de ejecución de SQL Server Express destinado a desarrolladores de programas.
LocalDB
la 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 de SQL Server necesaria se crea e inicia automáticamente, lo que permite que la aplicación use la base de datos sin tareas de configuración complejas o lentas. Las herramientas de desarrollo pueden proporcionar a los desarrolladores un motor de base de datos de SQL Server que les permita escribir y probar Transact-SQL código 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 . SQL Server ExpressLocalDB
debe usarse en lugar de la característica de instancia de usuario de SQL Server Express que está en desuso.
Instalación de LocalDB
El método principal de instalación LocalDB
es mediante el programa SqlLocalDB.msi.
LocalDB
es 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 del motor de base de datos y todos usarán los mismos archivos binarios. Una instancia del motor de base de datos de SQL Server iniciada como LocalDB
tiene las mismas limitaciones que SQL Server Express
Descripción
El LocalDB
programa de instalación usa 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 se almacenan en la ruta de AppData local de los usuarios, que normalmente está 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 cómo incluir LocalDB
en una aplicación, vea la documentación de Visual Studio Información general sobre datos locales, Tutorial: Crear una base de datos localDB de SQL Server y Tutorial: Conexión a datos en una base de datos localDB de SQL Server (Windows Forms).
Para obtener más información sobre la LocalDB
API, vea Referencia de API de Instancia LocalDB de SQL Server Express y Función LocalDBStartInstance.
La utilidad SqlLocalDb puede crear nuevas instancias de LocalDB
, iniciar y detener una instancia de LocalDB
e incluye opciones para ayudarle a administrar LocalDB
. Para obtener más información sobre la utilidad SqlLocalDb, vea Utilidad SqlLocalDB.
La intercalación de instancia para LocalDB
está establecida en SQL_Latin1_General_CP1_CI_AS y no se puede cambiar. Normalmente se admiten intercalaciones de nivel de base de datos, de nivel de columna y de nivel de expresión. Las bases de datos contenidas siguen las reglas de intercalaciones de metadatos y tempdb definidas por intercalaciones de base de datos contenida.
Restricciones
LocalDB
no puede ser un suscriptor de replicación de mezcla.
LocalDB
no admite el uso de FILESTREAM.
LocalDB
solo permite colas locales para Service Broker.
Una instancia de LocalDB
que es propiedad de las cuentas integradas, como NT AUTHORITY\SYSTEM, puede tener problemas de gestión debido a la redirección del sistema de archivos de Windows; en su lugar, use una cuenta normal de Windows como propietario.
Instancias automáticas y nombradas
LocalDB
admite dos tipos de instancias: instancias automáticas y instancias con nombre.
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 deLocalDB
para cada versión deLocalDB
instalada en el equipo del usuario. Las instancias automáticas deLocalDB
proporcionan una administración de instancias sin problemas. No es necesario crear la instancia; sólo funciona. Esto permite facilitar la instalación y migración de aplicaciones a un equipo diferente. Si la máquina de destino tiene instalada la versiónLocalDB
especificada, la instancia automática deLocalDB
para esa versión también está disponible en el equipo de destino. Las instancias automáticas deLocalDB
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 deLocalDB
. 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 responsable de crear y administrar la instancia. Las instancias con nombre proporcionan aislamiento de otras instancias y pueden mejorar el rendimiento al reducir la contención de recursos con otros usuarios de la base de datos. El usuario debe crear instancias con nombre explícitamente a través de laLocalDB
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 deLocalDB
tiene una versión asociadaLocalDB
que apunta al conjunto respectivo deLocalDB
archivos binarios. El nombre de instancia de unLocalDB
es de tipo de datossysname
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 deLocalDB
puede contener cualquier carácter Unicode que sea legal dentro de un nombre de archivo. Una instancia nombrada que utiliza un nombre de instancia automático se convierte en una instancia automática.
Los distintos usuarios 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
, LocalDB
admite el uso compartido de instancias de LocalDB
. Un propietario de instancia puede optar por permitir que los demás usuarios del equipo se conecten a su instancia. Se pueden compartir instancias tanto automáticas como denominadas de LocalDB
. Para compartir una instancia de LocalDB
un usuario selecciona un nombre compartido (alias) para él. Dado que el nombre compartido es 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
. Una instancia compartida de LocalDB
puede dejar de compartirse por un administrador o por el propietario de la instancia compartida de LocalDB
. Para compartir y dejar de compartir una instancia de LocalDB
, utilice los métodos LocalDBShareInstance
y LocalDBUnShareInstance
de la API de LocalDB
, o las opciones de compartir y no compartir de la utilidad SqlLocalDb.
Inicio de LocalDB y conexión a LocalDB
Conexión a la instancia automática
La manera más fácil de usar LocalDB
es conectarse a la instancia automática propiedad del usuario actual mediante la cadena de conexión "Server=(localdb)\MSSQLLocalDB; Integrated Security=true". Para conectarse a una base de datos específica mediante 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 que se cree la instancia puede provocar un error en el intento de conexión con un mensaje de tiempo de espera. Cuando esto suceda, espere unos segundos para que se complete el proceso de creación y vuelva a conectarse.
Creación y conexión a instancias con nombre
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 Utilidad SqlLocalDB.
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 |
Estado | correr |
Ú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 antes de la versión 4.0.2, debe conectarse directamente a la canalización con nombre de LocalDB
. El nombre de la canalización de la instancia es la canalización nombrada en la que la instancia de LocalDB
está escuchando. La parte del nombre del conducto 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 conexión a la instancia de LocalDB
mediante una cadena de conexión, similar a SqlConnection conn = new SqlConnection(@"Server=np:\\.\pipe\LOCALDB#F365A78E\tsql\query");
Conexión 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 instancias compartidas. Por ejemplo, para conectarse a una instancia compartida de LocalDB
denominada AppData
, use una cadena de conexión como (localdb)\.\AppData
como parte de la cadena de conexión. Un usuario que se conecta a una instancia compartida de LocalDB
que no posee debe tener un inicio de sesión de autenticación de Windows o de SQL Server.
Solución de problemas
Para obtener información sobre cómo solucionar problemas, vea Solución de problemas LocalDB
de SQL Server 2012 Express 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 usuario con acceso al sistema de archivos puede abrir la base de datos con acceso a esa ubicación 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 users, solo ese usuario y los administradores con acceso a esa carpeta, pueden abrir la base de datos. Los LocalDB
archivos solo se pueden abrir mediante una instancia de LocalDB
cada vez.
Nota:
LocalDB
siempre se ejecuta bajo 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 tener en cuenta la pertenencia al grupo administradores local.