Guía para la importación de scripts SQL a una base de datos
Pregunta:
Cómo importar scripts SQL guardados a una base de datos SQL Server?
Respuesta:
Existen varios modos de guardar los datos restaurados con SQL Server Repair Toolbox:
- Puede guardar los datos como scripts SQL en el disco duro, y luego ejecutar esos scripts. Entonces, se crearán tablas y objetos (índices, procedimientos, funciones, etc.), y luego se podrán importar datos a esas tablas.
- También puede ejecutar estos scripts SQL utilizando SQL Server Repair Toolbox, configurando la cadena de conexión hasta el lugar de almacenamiento especificado (SQL Server u otra base de datos).
Los scripts SQL pueden variar, a pesar de que se basan en los mismos archivos de la base de datos. Esto se debe a la sintaxis de las solicitudes que se realizan al establecer la conexión desde los servidores por medio de ADO, así como a la ejecución de solicitudes de SQL en Query Analyzer, que se proporciona junto a Microsoft SQL Server (uso de «:», comandos Go, etc.).
- Conversión de los datos restaurados en scripts SQL y su almacenamiento en el disco duro
- Visualización de datos guardados
Si ha seleccionado el almacenamiento de datos en el disco duro, el programa automáticamente creará un subcatálogo que, a su vez, se crea en el catálogo especificado por el usuario, y todos los scripts se almacenarán ahí. Los nombres de los scripts se crean según las reglas existentes y están compuestos de palabras y cifras (las palabras indican su rol, mientras que las cifras indican su orden numérico). Existe una gran variedad de scripts, por ejemplo:
- Types*.sql – tipos de datos definidos por el usuario.
- Tables*.sql – tablas.
- Indexes*.sql – claves e índices primarios.
- ForeignKeys*.sql – claves secundarias.
- Procedure*.sql – procedimientos almacenados.
- Function*.sql – funciones definidas por usuarios.
- View*.sql – visualizaciones.
- Triggers*.sql – desencadenadores.
- Data*.sql – tablas con datos.
El número ordinal del script se usa para dividir los datos y guardarlos en varios documentos de tamaño pequeño en lugar de un gran archivo. Cabe mencionar que cada archivo de tipo Data puede incluir datos de una sola tabla.
Atención: puede que no haya números en algunos archivos, lo cual quiere decir que faltan datos en algunas tablas o son muy pocos.
- Orden de ejecución de scripts
En la figura se muestra el orden de ejecución recomendado:
El orden de ejecución de scripts recomendado depende de las restricciones existentes para los datos y las estructuras existentes en la tabla. Hay que tener en cuenta los siguientes factores:
- Especifique la correspondiente clave primaria si desea crear una secundaria. Gracias a ello, estas operaciones se guardarán en diferentes archivos y se ejecutarían en este orden.
- Antes de crear índices y claves secundarias, el programa rellena las tablas. Este paso es necesario, ya que la comprobación de la integridad referencial se realiza durante el relleno de la tabla en la que está definida la clave secundaria. Cuando las tablas con claves secundarias se rellenan antes que las tablas con claves primarias, se produce un error. Además, este modo tiene otra peculiaridad. Si los datos restaurados entran en conflicto con la clave primaria, el índice único, etc., entonces la tabla se rellenará en cualquier caso, pero las restricciones no se crearán (índice, clave primaria, etc.). Si los usuarios necesitan otro comportamiento, podrían seleccionar ellos mismos el orden de ejecución de los scripts.
- La creación de tales objetos como Procedures, Functions, Views, Triggers en la base de datos tiene sus particularidades, ya que estos objetos pueden tener dependencias muy complejas. Procedure puede tener referencias a otros objetos de Procedure, View puede tener referencias a Fuction y Trigger puede tener referencias a todos los objetos. Por esta razón, el programa no puede ayudar a desenredar estas dependencias complejas. Los usuarios deben encontrar todas las dependencias manualmente y ejecutar SQL en orden necesario. Otra opción sería ejecutar todos los scripts de este grupo varias veces, hasta que se dejen de recibir notificaciones sobre errores.
- El archivo Install.bat
El archivo install.bat se crea para garantizar la ejecución automática de todos los scripts. Este fichero ejecuta todos los scripts guardados anteriormente con ayuda de este programa. El orden de ejecución de los scripts será el mismo que en la ejecución de los scripts en la base de datos. Este archivo por lotes requiere de la herramienta isqlw instalada que se incluye en la parte de cliente de MS SQL Server. Por favor, especifique tales parámetros, como Nombre de servidor, Nombre de base de datos, Nombre de usuario y Contraseña en la línea de comandos. Por ejemplo, install.bat SQLServer SQLDatabase SQLUser SQLUserPassword.
Nota:
- Los parámetros se deben enumerar separados por un espacio. Si alguno de los parámetros ya contiene un espacio, debería incluirlo dentro de comillas dobles.
- No cambie los parámetros de lugar.
Si el archivo install.bat se ejecuta sin especificar los parámetros, verá una pequeña guía de cómo ejecutarlo.
- InstallTrusted.bat
Si está utilizando una autorización en Microsoft SQL Server con ayuda de una cuenta de Windows, use el archivo InstallTrusted.bat . El archivo InstallTrusted.bat tiene 2 parámetros: Server name y Database name.
Ejemplo de uso: installtrusted.bat SQLServer SQLDatabase Puede encontrar información detalladas sobre autorizaciones a través de una cuenta de Windows aquí: https://docs.microsoft.com/es-es/sql/relational-databases/security/authentication-access/principals-database-engine?redirectedfrom=MSDN&view=sql-server-ver15
- Visualización de datos guardados