Preguntas frecuentes-Wiki-Outlook

Cómo importar secuencias de comandos SQL a una base de datos

Respuesta:

Recovery Toolbox for SQL Server ofrece dos maneras de guardar datos:

  1. Usted puede guardar secuencias de comandos SQL en el disco duro y éstas crearán los objetos de la base de datos, por ejemplo, tablas, e insertarán datos en estas tablas.
  2. También puede ejecutar las secuencias de comandos en las bases de datos definidas por el usuario, estas secuencias están escitas en el lenguaje SQL.

Note que las secuencias de comandos SQL pueden ser diferentes, a pesar de que se basan en los mismos archivos de la base de datos. Esto ocurre debido a las particularidades de la sintaxis tanto en las consultas que se ejecutan para la conexión directa con el servidor mediante ADO como en las consultas SQL realizadas en el entorno de Query Analyzer que se proporciona con MS SQL Server (el uso de :, el comando Ir, etc.) La primera manera es más fiable, pero la segunda es más cómoda.

Conversión de datos a secuencias de comandos y su almacenamiento en el disco

  1. 1. Asignación de datos guardados

    Si ha decidido guardar datos en el disco, Recovery Toolbox for SQL Server creará un subdirectorio que incluye el nombre del archivo MDF de origen, este subdirectorio se crea en el directorio definido por el usuario y todas las secuencias de comandos serán ubicadas allí. Todas las secuencias de comandos tienen los nombres de las reglas que consisten de una palabra y un dígito. La palabra indica el papel de la secuencia de comandos, el dígito indica su número. Hay diferentes tipos de secuencias de comandos, por ejemplo:

    • Types*.sql - secuencias de comandos que crearán tipos de datos definidos por usuarios.
    • Tables*.sql - secuencias de comandos que crearán tablas.
    • Indexes*.sql - secuencias de comandos que crearán claves principales e índices.
    • ForeignKeys*.sql - secuencias de comandos que crearán claves externas.
    • Procedure*.sql - secuencias de comandos que crearán procedimientos almacenados.
    • Function*.sql - secuencias de comandos que crearán funciones definidas por usuarios.
    • View*.sql - secuencias de comandos que crearán vistas.
    • Triggers*.sql - secuencias de comandos que crearán desencadenadores.
    • Data*.sql - secuencias de comandos que insertarán los datos en las tablas.

    El número de la secuencia de comandos no contiene ningunos datos útiles, no indica la sucesión de ejecución de secuencias de comandos ni tampoco contiene otra información. Estos números se usan sólo para dividir datos y almacenarlos en una variedad de documentos pequeños en vez de un archivo grande. Los usuarios pueden definir el tamaño máximo del archivo con la secuencia de comandos SQL. Además, los usuarios deben prestar atención a la numeración de los archivos Data*.sql. Es de notar que cada archivo de tipo Data puede contener datos sólo de una tabla. Los archivos con los números de secuencia contienen todos los datos para cada tabla.

    Nota: Si faltan números para algunos archivos, esto significa que algunas tablas no contienen ningún dato.
  2. 2. Sucesión de ejecución de secuencias de comandos

    En este dibujo, puede ver el orden recomendado de ejecución de una secuencia de comandos:

    La sucesión de ejecución de la secuencia de comandos depende de las restricciones existentes para los datos y estructuras de tablas existentes. Preste atención a los siguientes factores:

    1. Especifique la clave principal correspondiente, si desea crear una clave secundaria. Debido a este hecho, estas operaciones se guardan en archivos diferentes que deben ser ejecutados en esta sucesión.
    2. Antes de crear los índices y claves secundarias, el programa rellena las tablas. Es obligatorio, porque se comprueba la integridad referencial cuando una tabla con la clave secundaria definida se está rellenando. Cuando las tablas con claves secundarias se rellenan antes de las tablas con las claves principales correspondientes, ocurre un error. Además, este método tiene otra particularidad. Si los datos recuperados tienen conflictos con la clave principal, índices únicos, etc., en este caso, la tabla será rellenada con los datos de todas formas, pero las restricciones no serán creadas (índice, clave primaria, etc.). Si los usuarios requieren otra conducta, ellos mismos pueden seleccionar la sucesión de ejecución de secuencias de comandos.
    3. La creación de los objetos Procedimientos, Funciones, Vistas y Desencadenadores en la base de datos tiene varias dificultades, porque estos objetos pueden tener dependencias sofisticadas y tramposas. Los procedimientos pueden referirse a otros procedimientos, las vistas pueden referirse a funciones, los desencadenadores pueden referirse a todos los objetos. Es la razón por la que un programa no puede resolver este enredo. Los usuarios deben encontrar todas las dependencias manualmente y ejecutar las secuencias de comandos SQL en la sucesión necesaria. Otra posibilidad consiste en ejecutar todas las secuencias de comandos en este grupo varias veces, hasta que todos los mensajes de error desaparezcan.
  3. 3. Archivo Install.bat

    El archivo Install.bat se crea para garantizar la ejecución automática de todas las secuencias de comandos. Este archivo ejecuta todas las secuencias de comandos que fueron guardadas anteriormente por la herramienta. La sucesión de secuencias de comandos será la misma en caso de aplicarla a una base de datos. Este archivo de proceso por lotes requiere que la herramienta isqlw que forma parte de la parte cliente de MS SQL Server sea instalada. Especifique los parámetros Nombre de servidor, Nombre de base de datos, Nombre de usuario y Contraseña para el archivo install.bat en la línea de comandos. Por ejemplo: install.bat SQLServer SQLDatabase SQLUser SQLUserPassword.

    Atencion:
    1. Los parámetros deben estar separados con un espacio. Si un parámetro contiene un espacio dentro, debe ponerlo entre comillas dobles.
    2. La secuencia de parámetros no puede ser cambiada.
    3. Si el archivo install.bat se ejecuta sin parámetros, usted podrá ver una guía breve que explica cómo se ejecuta este archivo.
  4. 4. InstallTrusted.bat

    Si utiliza la autorización en Microsoft SQL Server con una cuenta de Windows, enotonces use el archivo InstallTrusted.bat. El archivo InstallTrusted.bat tiene dos parámetros: Server name, Database name.

    Ejemplo de uso: installtrusted.bat SQLServer SQLDatabase información detallada sobre la autorización a través de una cuenta de Windows: https://docs.microsoft.com/es-es/sql/relational-databases/security/authentication-access/principals-database-engine?view=sql-server-2017