locked
Atachar e Desatachar BD via OSQL RRS feed

  • Pergunta

  • Bom dia a todos.

     

    Tenho um problema que preciso resolver.

    Preciso atachar um BD que está em um Pen Drive via prompt de comando.

    Será que alguem poderia me informar qual a melhor forma de fazer isso?

    Se é executar o comando diretamente do prompt ou montar um arquivo .SQL com os comandos e executa-lo pelo OSQL?

    E qual a sintaxe pra isso?

    sexta-feira, 9 de maio de 2008 14:16

Todas as Respostas

  • Edson,

     

    A melhor forma é dificil definir, particularmente prefiro utilizar diretamente o OSQL ou SQLCMD ao invês de ficar criando arquivo .sql.

     

    Veja o exemplo:

     

    Code Snippet
    USE master;
    GO
     
    sp_detach_db Archive;
    GO
     
    -- Get the SQL Server data path
    DECLARE @data_path nvarchar(256);
    SET @data_path = (SELECT SUBSTRING(physical_name, 1, CHARINDEX(N'master.mdf', LOWER(physical_name)) - 1)                  FROM master.sys.master_files                  WHERE database_id = 1 AND file_id = 1);
     
    -- Execute CREATE DATABASE FOR ATTACH statement
    EXEC ('CREATE DATABASE Archive      ON (
           FILENAME = '''+ @data_path + 'archdat1.mdf'')      
           FOR ATTACH');
    GO

     

     

    sexta-feira, 9 de maio de 2008 16:23
    Moderador