4.8 (4)
Avaliação
(3)
(1)
(0)
(0)
(0)

FAQ-Wiki-SQL Server

Como importar scripts SQL salvos para um banco de dados?

Resposta:

Existem duas formas de salvar os dados, suportadas pelo Recovery Toolbox for SQL Server:

  1. Você pode salvar os scripts SQL no disco rígido; eles criarão objetos de bancos de dados, tabelas, por exemplo, e inserirao dados nestas tabelas.
  2. Você também pode executar scripts em bancos de dados, definidos pelos usuários; estes scripts são escritos em linguagem SQL.

Note que os scripts SQL podem ser diferentes, apesar do fato de estarem nos mesmos arquivos do banco de dados. Isto acontece por causa das particularidades sintáticas nas queries, que são executadas para conexão direta com o servidor através de ADO e em queries do SQL, realizadas no ambiente do Query Analyzer (Analisador de Queries) fornecido junto com o MS SQL Server (o uso do ":", o comando Go, etc.). A primeira forma e mais confiável, enquanto que a segunda forma e mais conveniente.

Convertendo dados de scripts e salvando-os em disco

  1. 1. Mapeamento de dados salvos

    Se Você escolheu salvar os dados em disco, o Recovery Toolbox for SQL Server criara um subdiretorio, que inclui o nome do arquivo MDF de origem; este subdiretorio e criado no diretorio definido pelo usuário e todos os scripts serão colocados la. Todos os scripts são nomeados a partir de uma regra; os nomes consistem de uma palavra e um digito. A palavra indica o papel do script, o digito indica seu numero. Existem vários tipos de script, por exemplo:

    • Types*.sql - scripts que criam tipos de dados, definidos pelos usuários.
    • Tables*.sql - scripts que criam tabelas.
    • Indexes*.sql - scripts que criam chaves primárias e índices.
    • ForeignKeys*.sql - scripts que criam chaves estrangeiras.
    • Procedure*.sql - scripts que criam procedimentos armazenados.
    • Function*.sql - scripts que criam funcoes, definidas pelos usuários.
    • View*.sql - scripts que criam exibicoes.
    • Triggers*.sql - scripts que criam gatilhos.
    • Data*.sql - scripts que inserem dados nas tabelas.

    O numero de sequência do script não contem nenhuma informacao útil, não aponta para nenhuma sequência de execucao dos scripts ou qualquer outra informacao. Estes números são útilizados somente para separar os dados e salva-los em uma serie de documentos menores, ao invés de um arquivo grande. Os usuários podem definir o tamanho máximo do arquivo com scripts SQL. Alem disso, os usuários devem atentar para a numeracao dos arquivos Data. Deve-se notar que cada arquivo do tipo Data pode conter dados para somente uma tabela. Arquivos com números sequênciais contem todos os dados para cada tabela.

    Nota: Se os números estiverem faltando para alguns arquivos, isto significa que algumas tabelas não contem dados.
  2. 2. sequência de execucao de script

    Nesta figura, Você pode ver a ordem recomendada de execucao de script:

    A sequência de execucao de script depende de restricoes existentes para dados existentes e estruturas da tabela. Preste atencao a estes fatores:

    1. Especifique a chave primaria correspondente, se Você quiser criar uma chave secundaria. Devido a este fato, estas operacoes são salvas em diferentes arquivos, que devem ser executados nesta sequência.
    2. Antes da criacao de índices e chaves secundarias, o programa preenche as tabelas. Isto e obrigatório, porque a verificacao de integridade referencial e executada quando uma tabela com chave secundaria definida esta sendo preenchida. Quando tabelas com chaves secundarias são preenchidas antes das tabelas com as chaves primarias correspondentes, ocorre um erro. Alem do mais, este método apresenta outra particularidade. Se os dados recuperados conflitarem com a chave primaria, índices unicos etc., neste caso, a tabela será preenchida com os dados mesmo assim, mas as restricoes não serão criadas (indice, chave primaria etc.). Se os usuários desejarem outro comportamento, podem selecionar qual a sequência de execucao de script desejada.
    3. A criacao dos objetos Procedures, Functions, Views e Triggers em um banco de dados apresenta algumas dificuldades, porque estes objetos podem ter dependencias sofisticadas e complicadas. Os Procedimentos podem referenciar outros Procedimentos, Exibicoes podem referenciar Funcoes, Gatilhos podem referenciar todos os objetos. E por isto que um programa não podem ajudar a resolver este emaranhado. Os usuários devem encontrar todas as dependencias manualmente e executar os scripts SQL na sequência necessária. Outra possibilidade consiste na execucao de todos os scripts deste grupo varias vezes, ate que todas as mensagens de erro desapareçam.
  3. 3. Arquivo Install.bat

    O arquivo Install.bat e criado para garantir a execucao automatizada de todos os scripts. Este arquivo executa todos os scripts que foram previamente salvos pela ferramenta. A sequência de execucao de script será a mesma útilizada quando aplicada ao banco de dados. Este arquivo em lote requer que o útilitario isqlw seja instalado, que e uma parte do cliente do MS SQL Server. Especifique os parâmetros Nome do servidor, Nome do banco de dados, Nome do usuário e Senha para o arquivo install.bat na linha de comando. Por exemplo: install.bat SQLServer SQLDatabase SQLUser SQLUserPassword

    Atencao:
    1. Os parâmetros devem estar separados por um espaço. Se o parametro em si contem um espaço, Você deve coloca-lo entre aspas.
    2. A sequência de parâmetros não pode ser modificada.
    3. Se o arquivo install.bat for executado sem os parâmetros, Você vera um breve guia de como útiliza-lo.
  4. 4. InstallTrusted.bat

    Se você deseja fazer logon no Microsoft SQL Server usando sua conta do Windows, use o arquivo InstallTrusted.bat. O arquivo InstallTrusted.bat possui dois parâmetros: Server name, Database name.

    Exemplo de uso: installtrusted.bat SQLServer SQLDatabase. Para obter detalhes sobre o logon via conta do Windows consulte aqui: https://docs.microsoft.com/pt-br/sql/relational-databases/security/authentication-access/principals-database-engine?view=sql-server-2017