Procedimientos: Compilación e implementación de una base de datos localHow to: Build and Deploy to a Local Database

Microsoft SQL Server 2012 proporciona una instancia de servidor local a petición, denominada SQL Server Express Local Database Runtime, que se activa al depurar un proyecto de base de datos de SQL Server.Microsoft SQL Server 2012 provides a local on-demand server instance, called SQL Server Express Local Database Runtime, which is activated when you debug a SQL Server Database project. Esta instancia de servidor local se puede usar como espacio aislado para compilar, probar y depurar un proyecto.This local server instance can be used as a sandbox for building, testing and debugging your project. Es independiente de cualquiera de las instancias instaladas de SQL Server y no es accesible fuera de SQL Server Data Tools (SSDT).It is independent of any of your installed SQL Server instances, and is not accessible outside SQL Server Data Tools (SSDT). Esa organización es ideal para los desarrolladores que tienen 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.Such an arrangement is ideal for developers who have limited or no access to production databases, but would like to test their projects locally before authorized personnel will deploy them to production. Además, cuando desarrolle una solución de base de datos para SQL Azure, puede usar la comodidad que ofrece este servidor local para desarrollar y probar su proyecto de base de datos localmente, antes de implementarlo en la nube.In addition, when you are developing a database solution for SQL Azure, you can utilize the convenience provided by this local server to develop and test your database project locally, before deploying it to the cloud.

Advertencia

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.A database under the local database node in SQL Server Object Explorer is a reflection of its corresponding database project, and is not related to the same-named database in a connected server instance.

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.The following procedures utilize entities created in previous procedures in the Connected Database Development and Project-Oriented Offline Database Development sections.

Para usar la base de datos localTo use the local database

  1. Tenga en cuenta que en el Explorador de objetos de SQL Server, en el nodo SQL Server, aparece un nuevo nodo denominado Local.Notice that in SQL Server Object Explorer, under the SQL Server node, a new node named Local appears. Esta es la instancia de base de datos local.This is the local database instance.

  2. Expanda los nodos Local y Bases de datos.Expand the Local and Databases nodes. Observe que aparece una base de datos con el mismo nombre que el proyecto TradeDev.Notice the appearance of a database with the same name as the TradeDev project. Expanda los nodos bajo esta base de datos.Expand the nodes under this database. 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.The Data Tools Operations window shows the status of expansion/import operations in progress on any database in the Local node. Observe que no contienen ninguna de las tablas y entidades que creamos en procedimientos anteriores.Notice that they do not contain any of the tables and entities we created in earlier procedures.

  3. Presione F5 para depurar el proyecto de base de datos TradeDev.Press F5 to debug the TradeDev database project.

    De forma predeterminada, SSDT usará la instancia de servidor de bases de datos local para la depuración de proyectos de base de datos.By default, SSDT will use the local database server instance for debugging database projects. En este caso, SSDT intentará primero compilar el proyecto y, si no hay ningún error, el proyecto (y sus entidades) se implementará en la base de datos local.In this case, SSDT will first attempt to build the project, and if there is no error, the project (and its entities) will be deployed to the local database. Si depura el mismo proyecto más tarde, SSDT detectará los cambios realizados desde la última sesión de depuración y solo implementará esos cambios en la base de datos local.If you debug the same project later, SSDT will detect any changes since your last debugging session, and deploy only those to the local database.

  4. Vuelva a expandir los nodos bajo TradeDev del servidor de bases de datos Local.Expand the nodes under TradeDev in the Local database server again. Esta vez, observe que las tablas, vistas y funciones se han implementado en el servidor de bases de datos local.This time, notice that the tables, views and functions have been deployed to the local database server.

  5. Haga clic con el botón derecho en el nodo TradeDev y seleccione Nueva consulta.Right-click the TradeDev node and select New Query.

  6. En el panel de scripts, pegue este código y haga clic en el botón Ejecutar consulta para ejecutar la consulta.In the script pane, paste this code and click the Execute Query button to run the query.

    select * from dbo.GetProductsBySupplier(1)  
    
  7. El panel Mensaje muestra (0 filas afectadas) y el panel de resultados no devuelve ninguna fila.The Message pane shows (0 row(s) affected), and the Results pane returns no row. Esto se debe a que estamos consultando la base de datos local en lugar de la base de datos conectada que contiene datos reales.This is because we are querying against the local database instead of the connected database that actually contains real data.

    Para confirmarlo, haga clic con el botón derecho en la tabla Products bajo esta base de datos local TradeDev y seleccione Ver datos.You can confirm this by right-clicking the Products table under this local TradeDev database, and select View Data. Observe que la tabla está vacía.Notice that the table is empty.

Para replicar datos reales en la base de datos localTo replicate real data to the local database

  1. En el Explorador de objetos de SQL Server, expanda la instancia de SQL Server conectada y busque la base de datos TradeDev.In SQL Server Object Explorer, expand your connected SQL Server instance and locate the TradeDev database.

    Haga clic con el botón derecho en la tabla Suppliers y seleccione Ver datos.Right-click Suppliers table and select View Data.

  2. Haga clic en el botón Script (el segundo botón desde la derecha) situado encima del Editor de datos.Click the Script button (the second button from the right) on top of the Data Editor. Copie las instrucciones INSERT del script.Copy the INSERT statements from the script.

  3. Expanda la instancia de servidor Local, haga clic con el botón derecho en el nodo TradeDev y seleccione Nueva consulta.Expand the Local server instance and right-click the TradeDev node, select New Query.

  4. Pegue las instrucciones INSERT en esta ventana de consulta y ejecute la consulta.Paste the INSERT statements into this query window and execute the query.

  5. Repita los pasos anteriores para replicar datos de las tablas Products y Fruits de la base de datos TradeDev conectada en la base de datos TradeDev local.Repeat the above steps to replicate data from the Products and Fruits tables in the connected TradeDev database to the local TradeDev database.

  6. Haga clic con el botón derecho en la instancia de servidor Local y seleccione Actualizar.Right-click the Local server instance and select Refresh. Examine las tablas usando Ver datos para comprobar que la base de datos local se ha rellenado.Examine the tables using View Data to verify that the local database has been populated.

  7. Haga clic con el botón derecho en el nodo TradeDev de la instancia de servidor Local y seleccione Nueva consulta.Right-click the TradeDev node of the Local server instance, and select New Query.

  8. En el panel de scripts, pegue este código y haga clic en el botón Ejecutar consulta para ejecutar la consulta.In the script pane, paste this code and click the Execute Query button to run the query.

    select * from dbo.GetProductsBySupplier(1)  
    
  9. En el panel de resultados bajo el panel del Editor de Transact-SQL, verá que se devuelven las filas Apples y Potato Chips de la tabla Products.In the Results pane below the Transact-SQL Editor pane, you will see that the Apples and Potato Chips rows of the Products table are returned.