Tutorial: Creación de scripts de objetos en SQL Server Management StudioTutorial: Script objects in SQL Server Management Studio

En este tutorial aprenderá a crear scripts de Transact-SQL (T-SQL) para distintos objetos de SQL Server Management Studio (SSMS).This tutorial teaches you to generate Transact-SQL (T-SQL) scripts for various objects found within SQL Server Management Studio (SSMS). En este tutorial encontrará ejemplos de cómo crear scripts de los siguientes objetos:In this tutorial, you find examples of how to script the following objects:

  • Consultas, al llevar a cabo acciones en la GUIQueries, when you perform actions within the GUI
  • Bases de datos de dos formas diferentes (Script como y Generar script)Databases in two different ways (Script As and Generate Script)
  • TablasTables
  • Procedimientos almacenadosStored procedures
  • Eventos extendidosExtended events

Para crear un script de cualquier objeto en el Explorador de objetos, haga clic con el botón derecho en él y seleccione la opción correspondiente para crear un script de un objeto como.To script any object in Object Explorer, right-click it and select the Script Object As option. En este tutorial se muestra el proceso.This tutorial shows you the process.

PrerequisitesPrerequisites

Para llevar a cabo este tutorial necesita tener SQL Server Management Studio, acceso a un servidor que ejecute SQL Server y una base de datos de AdventureWorks.To complete this tutorial, you need SQL Server Management Studio, access to a server that's running SQL Server, and an AdventureWorks database.

Aquí encontrará instrucciones para restaurar bases de datos en SSMS: Restaurar una base de datos.Instructions for restoring databases in SSMS are here: Restore a database.

Creación de scripts de consultas desde la interfaz gráfica de usuarioScript queries from the GUI

Puede generar el código T-SQL asociado para una tarea siempre que utilice la GUI en SSMS para completarla.You can generate the associated T-SQL code for a task whenever you use the GUI in SSMS to complete it. En los siguientes ejemplos se muestra cómo hacerlo al hacer una copia de seguridad de una base de datos y al reducir el registro de transacciones.The following examples show how to do so when you back up a database and when you shrink the transaction log. Estos mismos pasos se pueden aplicar a cualquier acción que se lleve a cabo con la GUI.These same steps can be applied to any action that's completed via the GUI.

Creación de un script de T-SQL al hacer una copia de seguridad de una base de datosScript T-SQL when you back up a database

  1. Conéctese a un servidor que ejecuta SQL Server.Connect to a server that's running SQL Server.
  2. Expanda el nodo Bases de datos .Expand the Databases node.
  3. Haga clic con el botón derecho en la base de datos Adventureworks2016 > Tareas > Hacer una copia de seguridad:Right-click the database Adventureworks2016 > Tasks > Back Up:

    Realizar una copia de seguridad de una base de datos

  4. Configure la copia de seguridad del modo que quiera.Configure the backup the way you want. Para este tutorial, se ha dejado todo en los valores predeterminados,For this tutorial, everything is left at default. aunque todos los cambios efectuados en la ventana también se van a ver reflejados en el script.However, any changes made in the window also reflect in the script.

  5. Seleccione Script > Generar script de acción en ventana Nueva consulta:Select Script > Script Action to New Query Window:

    Creación de un script de la copia de seguridad de base de datos: acción de script

  6. Revise el código T-SQL rellenado en la ventana de consulta.Review the T-SQL populated in the query window.

    Creación de un script de la copia de seguridad de base de datos: revisión de T-SQL

  7. Seleccione Ejecutar para ejecutar la consulta para hacer una copia de seguridad de la base de datos mediante T-SQL.Select Execute to execute the query to back up the database via T-SQL.

Creación de un script de T-SQL al reducir el registro de transaccionesScript T-SQL when you shrink the transaction log

  1. Haga clic con el botón derecho en la base de datos Adventureworks2016 > Tareas > Reducir > Archivos:Right-click the database AdventureWorks2016 > Tasks > Shrink > Files:

    Reducción de archivos

  2. Seleccione Registro en el cuadro de lista desplegable Tipo de archivo:Select Log from the File type drop-down list box:

    Reducción del registro de transacciones

  3. Seleccione Generar script y Generar script de acción en Portapapeles:Select Script and Script Action to Clipboard:

    Generación de script en Portapapeles

  4. Abra una ventana de Nueva consulta y péguelo.Open a New Query window and paste. (Haga clic con el botón derecho en la ventana.(Right-click in the window. Después, seleccione Pegar).Then select Paste.)

    Pegado de script

  5. Seleccione Ejecutar para ejecutar la consulta y reducir el registro de transacciones.Select Execute to execute the query and shrink the transaction log.

Crear un script de bases de datosScript databases

En la siguiente sección se explica cómo crear un script de la base de datos con las opciones Script como y Generar scripts.The following section teaches you to script out the database by using the Script As and Generate Scripts options. La opción Script como permite volver a crear la base de datos y sus opciones de configuración.The Script As option re-creates the database and its configuration options. Puede crear un script para el esquema y los datos con la opción Generar scripts.You can script both the schema and the data by using the Generate Scripts option. En esta sección, va a crear dos nuevas bases de datos.In this section, you create two new databases. Puede usar la opción Script como para crear AdventureWorks2016a.You use the Script As option to create AdventureWorks2016a. Puede usar la opción Generar scripts para crear AdventureWorks2016b.You use the Generate Scripts option to create AdventureWorks2016b.

Creación de un script de base de datos con la opción ScriptScript a database by using the Script option

  1. Conéctese a un servidor que ejecuta SQL Server.Connect to a server that's running SQL Server.
  2. Expanda el nodo Bases de datos .Expand the Databases node.
  3. Haga clic con el botón derecho en la base de datos AdventureWorks2016Script > Generar script de base de datos como > Crear en > Nueva ventana del Editor de consultas:Right-click the database AdventureWorks2016 > Script Database As > Create To > New Query Editor Window:

    Creación de script de la base de datos

  4. Revise la consulta de creación de la base de datos en la ventana:Review the database creation query in the window:

    Eliminación de scripts de la base de datos Esta opción solo elimina los scripts de las opciones de configuración de la base de datos.Scripted-out database This option scripts out only the database configuration options.

  5. En el teclado, seleccione Ctrl + F para abrir el cuadro de diálogo Buscar.On your keyboard, select Ctrl+F to open the Find dialog box. Seleccione la flecha hacia abajo para abrir la opción Reemplazar.Select the down arrow to open the Replace option. En la línea superior de Buscar, escriba AdventureWorks2016; en la línea inferior de Reemplazar, escriba AdventureWorks2016a.On the top Find line, type AdventureWorks2016, and on the bottom Replace line, type AdventureWorks2016a.
  6. Seleccione Reemplazar todo para reemplazar todas las instancias de AdventureWorks2016 por AdventureWorks2016a.Select Replace All to replace all instances of AdventureWorks2016 with AdventureWorks2016a.

    Búsqueda y reemplazo

  7. Seleccione Ejecutar para ejecutar la consulta y crear la nueva base de datos AdventureWorks2016a.Select Execute to execute the query and create your new AdventureWorks2016a database.

Creación de un script de base de datos con la opción Generar scriptScript a database by using the Generate Scripts option

  1. Conéctese a un servidor que ejecuta SQL Server.Connect to a server that's running SQL Server.
  2. Expanda el nodo Bases de datos .Expand the Databases node.
  3. Haga clic con el botón derecho en AdventureWorks2016 > Tareas > Generar script:Right-click AdventureWorks2016 > Tasks > Generate Scripts:

    Generación de scripts para bases de datos

  4. Se abre la página Introducción.The Introduction page opens. Seleccione Siguiente para abrir la página Elegir objetos.Select Next to open the Chose Objects page. Puede seleccionar toda la base de datos o determinados objetos de la base de datos.You can select the entire database or specific objects in the database. Seleccione Crear un script a partir de toda la base de datos y todos los objetos de esta.Select Script entire database and all database objects.

    Generación de scripts para objetos

  5. Seleccione Siguiente para abrir la página Establecer opciones de scripting.Select Next to open the Set Scripting Options page. Aquí puede configurar dónde guardar el script y algunas opciones avanzadas adicionales.Here you can configure where to save the script and some additional advanced options.

    A.a. Seleccione Guardar en nueva ventana de consulta.Select Save to new query window.

    B.b. Seleccione Opciones avanzadas y compruebe que estas opciones estén establecidas:Select Advanced and make sure these options are set:

    • Generar script de estadísticas establecido en Generar script de estadísticas.Script Statistics set to Script Statistics.
    • Tipos de datos que se deben incluir en el script establecido en Solo esquema.Types of data to script set to Schema only.
    • Generar script de índices establecido en true.Script Indexes set to True.

    Generación de script de objetos

    Nota

    Para crear un script de los datos para la base de datos, seleccione Esquema y datos para la opción Tipos de datos que se deben incluir en el script.You can script the data for the database when you select Schema and data for the Types of data to script option. Sin embargo, esto no es ideal con bases de datos grandes.However, this isn't ideal with large databases. Puede requerir más memoria de la que el SSMS puede asignar.It can take more memory than SSMS can allocate. Esta limitación está correcta para bases de datos pequeñas.This limitation is okay for small databases. Si desea mover datos para una base de datos más grande, utilice el Asistente para importar y exportar.If you want to move data for a larger database, use the Import and Export Wizard.

  6. Seleccione Aceptary luego seleccione Siguiente.Select OK, and then select Next.

  7. Seleccione Siguiente en el resumen.Select Next on the Summary. Después, vuelva a seleccionar Siguiente para generar el script en una ventana Nueva consulta.Then select Next again to generate the script in a New Query window.
  8. En el teclado, abra el cuadro de diálogo Buscar (Ctrl+F).On your keyboard, open the Find dialog box (Ctrl+F). Seleccione la flecha hacia abajo para abrir la opción Reemplazar.Select the down arrow to open the Replace option. En la línea Buscar superior, escriba AdventureWorks2016.On the top Find line, enter AdventureWorks2016. En la línea Reemplazar inferior, escriba AdventureWorks2016b.On the bottom Replace line, enter AdventureWorks2016b.
  9. Seleccione Reemplazar todo para reemplazar todas las instancias de AdventureWorks2016 por AdventureWorks2016b.Select Replace All to replace all instances of AdventureWorks2016 with AdventureWorks2016b.

    AdventureWorks2016b

  10. Seleccione Ejecutar para ejecutar la consulta y crear la nueva base de datos AdventureWorks2016b.Select Execute to execute the query and create your new AdventureWorks2016b database.

Creación de scripts de tablasScript tables

En esta sección se explica cómo crear scripts de tablas de la base de datos.This section covers how to script out tables from your database. Utilice esta opción para crear la tabla, o bien para anularla y volver a crearla.Use this option to either create the table or drop and create the table. También puede usar esta opción para crear un script de T-SQL asociado a la modificación de la tabla.You can also use this option to script the T-SQL associated with modifying the table. Un ejemplo es insertarlo en ella o actualizarla.An example is to insert into it or update to it. En esta sección, va a anular una tabla y volver a crearla.In this section, you drop a table and then re-create it.

  1. Conéctese a un servidor que ejecuta SQL Server.Connect to a server that's running SQL Server.
  2. Expanda el nodo Bases de datos.Expand your Databases node.
  3. Expanda el nodo de la base de datos AdventureWorks2016.Expand your AdventureWorks2016 database node.
  4. Expanda el nodo Tablas.Expand your Tables node.
  5. Haga clic con el botón derecho en dbo.ErrorLog > Incluir tabla como > DROP y CREATE To > Nueva ventana del Editor de consultas:Right-click dbo.ErrorLog > Script Table as > DROP And CREATE To > New Query Editor Window:

    Creación de script de tabla

  6. Seleccione Ejecutar para ejecutar la consulta.Select Execute to execute the query. Esta acción elimina la tabla Errorlog y la vuelve a crear.This action drops the Errorlog table and re-creates it.

    Nota

    De forma predeterminada, la tabla Errorlog está vacía en la base de datos de AdventureWorks2016.The Errorlog table is empty by default in the AdventureWorks2016 database. Así que no pierde ningún dato al eliminar la tabla.So you're not losing any data by dropping the table. Sin embargo, seguir estos pasos para una tabla que contenga datos provocará la pérdida de estos.However, following these steps on a table with data causes data loss.

Creación de script de procedimientos almacenadosScript stored procedures

En esta sección, obtiene información sobre cómo anular y crear un procedimiento almacenado.In this section, you'll learn how to drop and create a stored procedure.

  1. Conéctese a un servidor que ejecuta SQL Server.Connect to a server that's running SQL Server.
  2. Expanda el nodo Bases de datos.Expand your Databases node.
  3. Expanda el nodo Programación.Expand your Programmability node.
  4. Expanda el nodo Procedimiento almacenado.Expand your Stored Procedure node.
  5. Haga clic con el botón derecho en el procedimiento almacenado dbo.uspGetBillOfMaterials > Incluir procedimiento almacenado como > DROP y CREATE To > Nueva ventana del Editor de consultas:Right-click the stored procedure dbo.uspGetBillOfMaterials > Script Stored Procedure As > DROP and CREATE To > New Query Editor Window:

    Creación de script de procedimientos almacenados

Creación de script de eventos extendidosScript extended events

En esta sección se explica cómo crear scripts de eventos extendidos.This section covers how to script out extended events.

  1. Conéctese a un servidor que ejecuta SQL Server.Connect to a server that's running SQL Server.
  2. Expanda el nodo Administración.Expand your Management node.
  3. Expanda el nodo Eventos extendidos.Expand your Extended Events node.
  4. Expanda el nodo Sesiones.Expand your Sessions node.
  5. Haga clic con el botón derecho en la sesión extendida que le interese > Generar script de sesión como > Nueva ventana del Editor de consultas:Right-click the extended session you're interested in > Script Session As > New Query Editor Window:

    Sesión ampliada de Nueva ventana del Editor de consultas

  6. En Nueva ventana del Editor de consultas, cambie el nuevo nombre de la sesión system_health por system_health2.In the New Query Editor Window, modify the new name of the session from system_health to system_health2. Seleccione Ejecutar para ejecutar la consulta.Select Execute to execute the query.

  7. Haga clic con el botón derecho en Sesiones en el Explorador de objetos.Right-click Sessions in Object Explorer. Seleccione Actualizar para ver la nueva sesión de eventos extendidos.Select Refresh to see your new extended event session. El icono verde junto a la sesión indica que se está ejecutando.The green icon next to the session indicates the session is running. El icono rojo indica que la sesión se ha detenido.The red icon indicates the session is stopped.

    Nueva sesión de eventos extendidos

    Nota

    Puede iniciar sesión haciendo clic en la sesión y seleccionando Iniciar.You can start the session by right-clicking it and selecting Start. Sin embargo, esta es una copia de la sesión system_health en ejecución, por tanto puede omitir este paso.However, this is a copy of the already running system_health session, so you can skip this step. Puede eliminar la copia de la sesión de eventos extendidos haciendo clic con el botón derecho en esta y seleccionando Eliminar.You can delete the copy of the extended event session: right-click it and select Delete.

Pasos siguientesNext steps

En el siguiente artículo se presentan las plantillas T-SQL predefinidas de SSMS.The next article introduces you to the prebuilt T-SQL templates found within SSMS.

Vaya al siguiente artículo para más información:Go to the next article to learn more: