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 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. 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 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 LocalDB
e 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 deLocalDB
para cada versión deLocalDB
instalada en el equipo del usuario. Las instancias automáticas deLocalDB
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 deLocalDB
instalada, la instancia automática deLocalDB
de esa versión también estará disponible en la máquina 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 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 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 essysname
deLocalDB
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 deLocalDB
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 LocalDB
instancias. 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 LocalDB
LocalDB
. 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.