Compartir a través de


Asistente para generar scripts

se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Este artículo le enseña a utilizar el Asistente para generar scripts para crear scripts con el fin de transferir una base de datos entre instancias de SQL Server, Base de datos de Azure SQL o Azure SQL Managed Instance.

Puede generar scripts para una base de datos de SQL Server en la red local o a partir de Azure SQL. Los scripts generados se pueden ejecutar en otra instancia de SQL Server o Azure SQL. Es posible crear scripts para una base de datos completa o limitarlos a objetos específicos.

Para un tutorial más detallado sobre cómo usar el Asistente para generar scripts, consulte Tutorial: Asistente para generar scripts.

Prerrequisitos

Las bases de datos de origen y destino pueden estar en Base de datos de Azure SQL o Azure SQL Managed Instance, o en una instancia del motor de base de datos que ejecute SQL Server 2005 (9.x) o versiones posteriores.

Permisos

El permiso mínimo para generar scripts es la pertenencia al rol fijo de base de datos db_ddladmin en la base de datos de origen.

Utilice este asistente para generar scripts

  1. En Explorador de objetos, expanda el nodo de la instancia que contiene la base de datos que se va a incluir en el script.

  2. Haga clic con el botón derecho en la base de datos que desea crear scripts y seleccione Tareas>Generar scripts.

    Captura de pantalla del Asistente para generar scripts.

  3. Complete los cuadros de diálogo del asistente:

Página de introducción

Esta página describe los pasos para generar un script.

No volver a mostrar esta página: Omitir esta página la próxima vez que inicie el Asistente para Generar Scripts.

Captura de pantalla de la página introducción.

Página Elegir objetos

Use esta página para elegir los objetos que desea incluir en los scripts generados por el asistente.

Opción de incluir en el script toda la base de datos: seleccione esta opción para generar scripts para todos los objetos de la base de datos e incluir un script para la propia base de datos.

Captura de pantalla de la base de datos completa del script.

Seleccionar objetos de base de datos específicos: seleccione esta opción para limitar el asistente con el fin de que genere scripts solo para los objetos concretos de la base de datos que elija:

  • Objetos de base de datos : seleccione al menos un objeto para incluirlo en el script.

  • Seleccionar todo : activa todas las casillas disponibles.

  • Anule la selección de todos los : desactiva todas las casillas. Para poder continuar, deberá seleccionar al menos un objeto de base de datos.

    Captura de pantalla del script específico.

Página Establecer opciones de scripting

Utilice esta página para especificar si desea que el asistente guarde los scripts en la ubicación de su elección.

Opciones : si quiere que el asistente guarde los scripts en la ubicación que elija, seleccione Guardar scripts en una ubicación específica. Más adelante puede ejecutar los scripts en una instancia del motor de base de datos o en SQL Database.

Guardar scripts en una ubicación específica: guarda uno o varios archivos de script Transact-SQL en una ubicación que especifique.

Captura de pantalla de Guardar como cuaderno.

  • Guardar como cuaderno : guarde el script en uno o varios archivos .sql. Seleccione el botón Examinar ( ) para especificar el nombre y la ubicación del archivo.

  • Guardar como archivo de script: guarde el script en uno o varios archivos .sql. Seleccione el botón Examinar ( ) para especificar el nombre y la ubicación del archivo. Active la casilla Sobrescribir el archivo existente para reemplazar el archivo si ya existe uno con el mismo nombre. Seleccione la opción de un archivo de script único o un archivo de script por objeto para especificar cómo se deben generar los scripts. Seleccione Texto Unicode o Texto ANSI para especificar el tipo de texto que se debe usar en el script.

  • Guardar en el Portapapeles : guarda el script Transact-SQL en el Portapapeles.

  • Abrir en nueva ventana de consulta: genera el script en una ventana del editor de consultas del motor de base de datos. Si no hay ninguna ventana de editor abierta, se abre una nueva ventana como destino del script.

  • Opciones avanzadas: muestra el cuadro de diálogo Opciones de scripting avanzadas donde puede seleccionar las opciones avanzadas para generar scripts.

Página Opciones avanzadas de scripting

Use esta página para especificar cómo desea que este asistente genere los scripts. Hay disponibles numerosas opciones. Las opciones se atenúan si no se admiten en la versión de SQL Server o SQL Database especificada en Tipo de motor de base de datos.

Captura de pantalla de opciones avanzadas.

Opciones : para especificar las opciones avanzadas, seleccione un valor de la lista de opciones de configuración disponibles, situada a la derecha de cada opción.

General: las opciones siguientes se aplican a todo el script.

  • Relleno ANSI: incluye ANSI PADDING ON en el script. El valor predeterminado es False.

  • Anexar a archivo : si es True, este script se agrega al final de un script existente, especificado en la página Establecer opciones de scripting . Si es False, el nuevo script sobrescribe un script anterior. El valor predeterminado es False.

  • Comprobar la existencia de objetos: si es true, agrega la comprobación de existencia antes de generar la instrucción CREATE de los objetos SQL (por ejemplo, tablas, vistas, funciones o procedimientos almacenados). La instrucción CREATE se encapsula en una instrucción IF. Si sabe que el destino está limpio, el script es mucho más limpio. Si NO espera que existan objetos en el destino, obtendrá un error. El valor predeterminado es False.

  • Continuar ejecución del script en caso de error - Cuando es False, el script se detendrá si se produce un error. Si es true, el scripting continuará. El valor predeterminado es False.

  • Convertir UDDT en tipos base : si es True, los tipos de datos definidos por el usuario (UDDT) se convierten en los tipos de datos base subyacentes que se usaron para crearlos. Use True cuando el UDDT no exista en la base de datos en la que se ejecuta el script. Si es False, se usan los UDDT. El valor predeterminado es False.

  • Generar script para objetos dependientes : genera un script para cualquier objeto que deba estar presente cuando se ejecute el script para el objeto seleccionado. El valor predeterminado es True para la opción Script completa de la base de datos y False para Seleccionar objetos de base de datos específicos.

  • Incluir encabezados descriptivos : si es True, se agregarán comentarios descriptivos al script, que lo separarán en secciones para cada objeto. El valor predeterminado es False.

  • Incluir IF NOT EXISTS: si es True, el script incluirá una instrucción para comprobar si el objeto ya existe en la base de datos y no intentará crear un nuevo objeto si este ya existe. El valor predeterminado es False.

  • Incluir nombres de restricción del sistema: si es False, el valor predeterminado de las restricciones que se denominaron automáticamente en la base de datos de origen se vuelven a denominar automáticamente en la base de datos de destino. Si es True, las restricciones tienen el mismo nombre en las bases de datos de origen y de destino.

  • Incluir instrucciones no compatibles: si es False, el script no contiene las instrucciones para los objetos que no se admiten en la versión de servidor o tipo de motor seleccionados. Si es True, el script contiene los objetos no compatibles. Cada instrucción para un objeto no compatible tiene un comentario que indica que se debe editar la instrucción antes de que el script pueda ejecutarse con respecto a la versión del SQL Server o tipo de motor seleccionados. El valor predeterminado es False.

  • Nombre de objeto calificado de esquema : incluye el nombre del esquema en el nombre de los objetos que se crean. El valor predeterminado es True.

  • Vinculación de scripts - genera un script para enlazar los objetos predeterminados y de regla. El valor predeterminado es False. Para obtener más información, vea CREATE DEFAULT (Transact-SQL) y CREATE RULE (Transact-SQL).

  • Incluir intercalación: incluye información de intercalación en el script. El valor predeterminado es False. Para obtener más información, consulte Soporte con intercalación y Unicode.

  • Valores predeterminados del script - Incluye los objetos predeterminados que se usan para establecer valores predeterminados en las columnas de tabla. El valor predeterminado es True. Para obtener más información, consulte Especificar valores predeterminados para columnas.

  • Script DROP y CREATE: Cuando Script CREATE, se incluyen las instrucciones Transact-SQL para crear objetos. Cuando DROP en el script, se incluyen instrucciones Transact-SQL para quitar objetos. Cuando se crea unScript DROP y CREATE, la instrucción Transact-SQL drop se incluye en el script, seguida de la instrucción create, para cada objeto scriptado. El valor predeterminado es Incluir CREATE en el script.

  • Propiedades extendidas del script - Incluye las propiedades extendidas en el script si el objeto posee dichas propiedades. El valor predeterminado es True.

  • Script para tipo de motor : crea un script que se puede ejecutar en el tipo seleccionado de SQL Database o en una instancia del motor de base de datos de SQL Server. Los objetos no admitidos en el tipo especificado no se incluyen en el script. El valor predeterminado es el tipo del servidor de origen.

  • Script para versión de servidor : crea un script que se puede ejecutar en la versión seleccionada de SQL Server. Las características nuevas de una versión no se pueden incluir en scripts para versiones anteriores. El valor predeterminado es la versión del servidor de origen.

  • Incluir inicios de sesión en el script : cuando el objeto que se debe incluir en un script es un usuario de base de datos, esta opción crea los inicios de sesión de los que depende el usuario. El valor predeterminado es False.

  • Permisos a nivel de objeto del script - Incluye scripts para establecer permisos en los objetos de la base de datos. El valor predeterminado es False.

  • Incluir estadísticas en el script : si se establece el valor Incluir estadísticas en el script, esta opción incluye la instrucción CREATE STATISTICS para volver a crear estadísticas del objeto. La opción Incluir estadísticas e histogramas en el script también crea información de histogramas. El valor predeterminado es No incluir estadísticas en el script. Para más información, consulte CREATE STATISTICS (Transact-SQL).

  • Script USE DATABASE - agrega la instrucción USE DATABASE al script. Para asegurarse de que se creen objetos de base de datos en la base de datos correcta, incluya la instrucción USE DATABASE. Si espera utilizar el script en una base de datos diferente, seleccione False para omitir la instrucción USE DATABASE. El valor predeterminado es True. Para más información, consulte USE (Transact-SQL).

  • Tipos de datos para generar por script: selecciona lo que se debe generar por script: Solo datos, Solo esquema o ambos. El valor predeterminado es Esquema solo.

Opciones de tabla o vista : las siguientes opciones solo se aplican a scripts para tablas o vistas.

  • Script change tracking : scripts de seguimiento de cambios, si está habilitado en la base de datos de origen o en las tablas de la base de datos de origen. El valor predeterminado es False. Para obtener más información, vea Acerca del seguimiento de cambios (SQL Server).

  • Restricciones de comprobación de scripts: agregaCHECK restricciones al script. El valor predeterminado es True. Las restricciones CHECK requieren datos que se escriban en una tabla para cumplir con una condición especificada. Para obtener más información, consulte Restricciones Unique y check constraints.

  • Incluir opciones de compresión de datos en el script: incluye las opciones de compresión de datos en el script, si se han configurado en la base de datos de origen o en las tablas de la base de datos de origen. Para obtener más información, consulte Compresión de datos. El valor predeterminado es False.

  • Script de claves externas : agrega claves externas al script. El valor predeterminado es True. Las claves externas indican y aplican relaciones entre tablas.

  • Script de índices de texto completo : crea índices de texto completo. El valor predeterminado es False.

  • Script indexes: scripts para la creación de índices. El valor predeterminado es True para la opción Script completa de la base de datos y False para Seleccionar objetos de base de datos específicos. Los índices ayudan a encontrar rápidamente los datos.

  • Script de claves principales: ejecuta la creación de claves principales en tablas. El valor predeterminado es True. Las claves principales identifican de forma exclusiva cada fila de una tabla.

  • Desencadenadores de script: ejecuta la creación de desencadenadores DML en tablas. El valor predeterminado es False. Un desencadenador DML es una acción programada para ejecutarse cuando se produce un evento DML (lenguaje de manipulación de datos) en el servidor de base de datos. Para más información, consulte DML Triggers.

  • Script de claves únicas: scripts para la creación de claves únicas en tablas. Las claves únicas evitan que se especifiquen datos duplicados. El valor predeterminado es True. Para obtener más información, consulte Restricciones Unique y check constraints.

Página Resumen

Captura de pantalla del resumen de GS.

En esta página se resumen las opciones que seleccionó en este asistente. Para cambiar una opción, seleccione Anterior. Para empezar a generar scripts, seleccione Siguiente.

Revisar opciones seleccionadas : muestra las selecciones que ha realizado en cada página del asistente. Expanda un nodo para ver las opciones seleccionadas de la página correspondiente.

Página para guardar scripts

Use esta página para supervisar el progreso del asistente cuando se produzca.

Detalles: vea la columna Acción para ver el progreso del asistente. Después de que el asistente genere los scripts, guarda los scripts en un archivo. Cuando cada uno de estos pasos se haya completado, seleccione el valor de la columna Resultado para ver el resultado del paso correspondiente.

Guardar informe: seleccione esta opción para guardar los resultados del progreso del asistente en un archivo.

Cancelar: seleccione esta opción para cerrar el asistente antes de que se complete el procesamiento, o si se produce un error.

Terminar: seleccione esta opción para cerrar el asistente después de que se complete el procesamiento o si se produce un error.

Guardar scripts

Captura de pantalla de Finish (Finalizar).

Si todos los valores de configuración son correctos, la configuración finaliza correctamente.

Generar scripts en Azure Synapse Analytics

Si la sintaxis generada al usar "Script como..." no se parece a la sintaxis de Azure Synapse Analytics o si recibe un mensaje de error, es posible que deba configurar las opciones de scripting de SQL Server Management Studio en Azure Synapse Analytics.

Cómo establecer opciones de scripting predeterminadas en el Almacenamiento de datos SQL

Para generar un script de objetos con la sintaxis de Azure Synapse Analytics , establezca la opción de scripting predeterminada en Azure Synapse Analytics , tal y como se indica a continuación:

  1. Seleccione Herramientas y, luego, Opciones.
  2. Seleccione Explorador de objetos de SQL Server y Script.
  3. En Opciones de versión, establezca Configuración de script coincidente con la de origen en False.
    1. Establezca script para el tipo de motor de base de datos en Microsoft Azure SQL Database Edition.
    2. En el caso de los grupos de SQL dedicados en Azure Synapse Analytics, establezca Script para la edición del motor de base de datos en Microsoft Azure SQL Data Warehouse Edition.
  4. Selecciona Aceptar.

Cómo generar scripts para SQL Data Warehouse cuando no es la opción de scripting predeterminada

Si establece Azure Synapse Analytics como la opción de scripting predeterminada, como se indica anteriormente, puede ignorar estas instrucciones. aunque si decide usar unas opciones de scripting predeterminadas diferentes, es posible que se produzca un error. Para evitar errores, siga estos pasos para generar scripts para el Azure Synapse Analytics:

  1. En el Explorador de objetos, haga clic con el botón derecho en el grupo de SQL dedicado en Bases de datos.
  2. Seleccione Generar scripts.
  3. Elija los objetos de los que desea generar un script.
  4. En Opciones de scripting, seleccione Opciones avanzadas. En General, establezca lo siguiente:
    1. Script para el tipo de motor de base de datos: Microsoft Azure SQL Database.
    2. Script para la edición del motor de base de datos: Microsoft Azure SQL Data Warehouse Edition.
  5. Seleccione Guardar scripts y, luego, Finalizar.

No se recuerdan las opciones establecidas en el paso 4. Si prefiere que se conserven estas opciones, siga las instrucciones de Cómo establecer opciones de scripting predeterminadas en el Almacenamiento de datos SQL.