Compartir a través de


Cómo: Importar objetos de base de datos desde un script

Además de importar un esquema de base de datos desde una base de datos existente, también puede importar objetos de base de datos desde uno o varios scripts existentes. Por ejemplo, puede usar este enfoque para importar en el proyecto de base de datos una definición de base de datos existente, creada con herramientas de otros fabricantes. Se analiza el script especificado y cualquier instrucción que cree objetos de base de datos se identifica e importa en el proyecto de base de datos. Puede importar scripts mediante el Asistente para importar archivo de script SQL o mediante un comando de automatización en la ventana Comandos.

Si alguna definición de objeto contiene un error, se omitirá el objeto. Si el error está relacionado con la definición de tipo, la instrucción se incluye en el archivo ScriptsIgnoredOnImport.sql del proyecto de base de datos. Si el tipo de objeto es válido pero la definición del objeto contiene un error, como una vista que hace referencia a una tabla inexistente, aparecerá un mensaje de error en la ventana Lista de errores.

Las instrucciones que no se importan se sitúan en el archivo ScriptsIgnoredOnImport.sql de la solución.

Importar definiciones de objetos de base de datos

Si desea usar el Asistente para importar archivo de script SQL

  1. En el menú Proyecto, haga clic en Importar script.

    Aparece el Asistente para importar archivo de script SQL.

    Nota

    También puede hacer clic con el botón secundario en el proyecto de base de datos en el Explorador de soluciones o en la Vista de esquema y, a continuación, hacer clic en Importar script.

  2. Cuando haya leído la página de introducción del asistente, haga clic en Siguiente para pasar a la página Seleccionar archivo.

  3. Si desea importar varios scripts, vaya al paso 7.

  4. Haga clic en Un solo archivo.

  5. En Nombre de archivo, escriba el nombre del archivo (incluida la ruta de acceso) del script que desea importar. También puede hacer clic en Examinar para buscar el archivo.

  6. Vaya al paso 11.

  7. Haga clic en Varios archivos.

  8. Haga clic en Examinar y navegue a la carpeta que contiene los scripts que desea importar.

    Nota importanteImportante

    Seleccione la carpeta que contiene el script que desea importar, pero no los scripts propiamente dichos.

  9. Haga clic en Seleccionar carpeta.

  10. En la lista de archivos y carpetas, active las casillas correspondientes a los scripts o las subcarpetas que contienen los scripts que desea importar.

  11. Haga clic en Siguiente.

  12. Si desea que los objetos importados reemplacen objetos del proyecto de base de datos que tengan el mismo nombre y el mismo tipo, active la casilla Sobrescribir objetos que ya existen en el proyecto.

  13. Si no desea importar las propiedades extendidas, desactive la casilla Importar propiedades extendidas.

  14. Si desea importar los permisos, active la casilla Importar permisos.

  15. Si desea importar los permisos y agregarlos al modo de proyecto, también debe activar la casilla Agregar permisos importados al modelo de proyecto.

    Nota

    Si importa los permisos y los agrega al modelo, el tiempo necesario para abrir el proyecto de base de datos puede aumentar significativamente.

  16. En Codificación, haga clic en la codificación con la que se creó el script.

  17. Haga clic en Finalizar para importar las definiciones de objetos de base de datos del script especificado.

    Al analizar el script, aparece una página de progreso y las definiciones de objetos se agregan al proyecto de base de datos. Se crea un archivo de registro al importar definiciones de base de datos desde un script. Los archivos de registro se almacenan en la subcarpeta Registros de importación de scripts de la carpeta del proyecto.

    Nota

    El archivo de origen no se modifica y se abre en modo de sólo lectura compartido.

Para usar el modelo de automatización de Visual Studio

  1. Cree o abra un proyecto de base de datos.

    Para obtener más información, vea Cómo: Crear proyectos vacíos de bases de datos y servidores o Cómo: Abrir un proyecto de base de datos o de servidor.

  2. Abra el menú Ver, elija Otras ventanas y, a continuación, haga clic en la ventana Comandos.

  3. En la ventana Comandos, escriba el siguiente comando:

    Project.ImportScript /FileName "MyScript.sql"
    

    Reemplace MyScript.sql por el nombre del script que desea importar.

    Nota

    Puede especificar opciones adicionales para el comando que controlen la operación de importación. Para obtener más información, vea Referencia de los comandos de automatización para las características de base de datos de Visual Studio. Si no especifica ningún nombre de archivo, aparecerá el Asistente para importar bases de datos.

    Los objetos y valores se importan del script especificado en el proyecto seleccionado en el Explorador de soluciones cuando se ejecutó el comando. En la ventana Lista de errores aparecerán los errores relacionados con los objetos que se crearon durante la importación del script.

    Ahora debe configurar el proyecto de base de datos para poder generarlo e implementarlo. Para obtener más información, vea Cómo: Configurar propiedades de base de datos para proyectos de base de datos.

Problemas y limitaciones

El Asistente para importar archivo de script SQL busca el script especificado en todas las instrucciones CREATE de Lenguaje de definición de datos (DDL) y agrega los objetos correspondientes a los proyectos. Existen las siguientes limitaciones:

  • Las instrucciones que no se reconocen se colocan en el archivo ScriptsIgnoredOnImport.sql file del proyecto de base de datos.

  • Se supone que el script contiene definiciones para objetos de una sola base de datos. Todos los objetos se importan en el proyecto de base de datos actual. Si el script contiene las definiciones de varias bases de datos, se omiten las instrucciones CREATE DATABASE y USE, y se agregan todos los objetos al proyecto de base de datos. Si desea crear varios proyectos de base de datos, debe dividir manualmente el archivo de forma que haya un archivo para cada base de datos e importar después cada archivo por separado en el proyecto de base de datos correspondiente. Si importa un script que tiene varias definiciones de base de datos en un solo proyecto de base de datos, podría producirse una cantidad considerable de errores.

  • También se importan las instrucciones ALTER DATABASE que agregan grupos de archivos. Si el script contiene una instrucción CREATE seguida de una instrucción DROP para el objeto creado, se importará el objeto.

  • Sólo se importan las instrucciones ALTER TABLE que agregan restricciones a una tabla o especifican columnas para un índice de texto completo. En cuanto a las restricciones, sólo se comprenden las instrucciones que agregan una única restricción. Las instrucciones que agregan varias restricciones se omiten.

  • Los lotes deben separarse con instrucciones GO.

    Nota

    Para importar el resultado de ejecutar el script, en lugar de las instrucciones CREATE que contiene el script, puede ejecutar el script para crear una base de datos y después usar el comando Importar esquema de base de datos para importar la base de datos resultante.

Vea también

Tareas

Cómo: Ver objetos de base de datos

Cómo: Eliminar objetos de base de datos

Conceptos

Crear y modificar objetos de servidor y base de datos