Cómo compilar e implementar una base de datos local

SQL Server proporciona una instancia de servidor local a petición, denominada base de datos local SQL Server Express Local Database Runtime (LocalDB), que se activa al depurar un proyecto de base de datos de SQL Server. Esta instancia de servidor local se puede usar como espacio aislado para compilar, probar y depurar un proyecto.

Es independiente de cualquiera de las instancias instaladas de SQL Server y no es accesible fuera de SQL Server Data Tools (SSDT). Esa organización es ideal para los desarrolladores con acceso limitado o no tienen acceso a bases de datos de producción pero desean probar sus proyectos localmente antes de que el personal autorizado los implemente en producción. Además, cuando desarrollas una solución de base de datos para Azure SQL, puedes usar la comodidad que ofrece este servidor local para desarrollar y probar tu proyecto de base de datos localmente, antes de implementarlo en la nube.

Limitaciones

Una base de datos bajo el nodo de base de datos local en el Explorador de objetos de SQL Server es un reflejo de su proyecto de base de datos correspondiente y no está relacionada con la base de datos del mismo nombre en una instancia de servidor conectado.

Advertencia

Los procedimientos siguientes usan entidades creadas en procedimientos anteriores de las secciones Desarrollo de bases de datos conectadas y Desarrollo de bases de datos sin conexión orientado a proyectos.

Uso de la base de datos local

  1. En el Explorador de objetos de SQL Server, en el nodo SQL Server, aparece un nuevo nodo denominado Local. Esta es la instancia de base de datos local.

  2. Expanda los nodos Local y Bases de datos. Observe que aparece una base de datos con el mismo nombre que el proyecto TradeDev. Expanda los nodos bajo esta base de datos. La ventana Operaciones de Data Tools muestra el estado de las operaciones de expansión/importación en curso en cualquier base de datos del nodo Local. No contienen ninguna de las tablas y entidades que creamos en procedimientos anteriores.

  3. Presione F5 para depurar el proyecto de base de datos TradeDev.

    De forma predeterminada, SSDT usa la instancia de servidor de bases de datos local para la depuración de proyectos de base de datos. En este caso, SSDT intenta primero compilar el proyecto y, si no hay ningún error, el proyecto (y sus entidades) se implementa en la base de datos local. Si depuras el mismo proyecto más tarde, SSDT detecta los cambios realizados desde la última sesión de depuración y solo implementa esos cambios en la base de datos local.

  4. Vuelve a expandir los nodos bajo TradeDev del servidor de bases de datos Local. Esta vez, observa que las tablas, vistas y funciones se hayan implementado en el servidor de bases de datos local.

  5. Haz clic con el botón derecho en el nodo TradeDev y selecciona Nueva consulta.

  6. En el panel de scripts, pega este código y haz clic en el botón Ejecutar consulta para ejecutar la consulta.

    SELECT * FROM dbo.GetProductsBySupplier(1);
    
  7. El panel Mensaje muestra (0 row(s) affected), y el panel de Resultados no devuelve ninguna fila. Esto se debe a que consultamos la base de datos local en lugar de la base de datos conectada que contiene datos reales.

    Para confirmarlo, haz clic con el botón derecho en la tabla Products bajo esta base de datos local TradeDev y selecciona Ver datos. Esta tabla está vacía.

Replicar datos reales en la base de datos local

  1. En el Explorador de objetos de SQL Server, expande la instancia de SQL Server conectada y busca la base de datos TradeDev.

    Haz clic con el botón derecho en la tabla Suppliers y selecciona Ver datos.

  2. Pulsa Script (el segundo botón desde la derecha) situado encima del Editor de datos. Copie las instrucciones INSERT del script.

  3. Expande la instancia de servidor Local, haz clic con el botón derecho en el nodo TradeDev y selecciona Nueva consulta.

  4. Pegue las instrucciones INSERT en esta ventana de consulta y ejecute la consulta.

  5. Repite los pasos anteriores para replicar datos de las tablas Products y Fruits en la base de datos TradeDev conectada a la base de datos local TradeDev.

  6. Haga clic con el botón derecho en la instancia de servidor Local y seleccione Actualizar. Examina las tablas usando Ver datos para comprobar que la base de datos local se ha rellenado.

  7. Haz clic con el botón derecho en el nodo TradeDev de la instancia de servidor local y selecciona Nueva consulta.

  8. En el panel de scripts, pega este código y haz clic en el botón Ejecutar consulta para ejecutar la consulta.

    SELECT * FROM dbo.GetProductsBySupplier(1);
    
  9. En el panel de Resultados bajo el panel del Editor de Transact-SQL, verás que se devuelven las filas Apples y Potato Chips de la tabla Products.