2010-05-06 19 views

risposta

13

è necessario utilizzare: sqlcmd Utility

L'utilità sqlcmd consente di inserire istruzioni Transact-SQL, sistema procedure, e file di script al prompt dei dei comandi, nell'editor di query in SQLCMD modalità, in un file di script di Windows o in un passaggio del processo operativo (Cmd.exe) di un processo di SQL Server Agent. Questa utilità utilizza OLE DB per eseguire i batch Transact-SQL .

Quindi utilizzare CREATE DATABASE (Transact-SQL) per fare il allegare e sp_detach_db (Transact-SQL) per fare il distacco. Lo sp_attach_db (Transact-SQL) verrà rimosso in una versione futura di Microsoft SQL Server.

+0

Very nice. Ha funzionato come un fascino. Doveva abilitare 'named pipe' per eseguire SqlCmd, non so perché, ma a parte questo: chapeau! – Michel

+0

@ KM. Potete darmi un esempio .... – Anjali

+4

Ho un file batch con questo contenuto: 'sqlcmd -Usa -PPASSWORD -i" N: \ SqlServer \ attachexample_database.sql "' e il contenuto di attachexample_database.sql è 'CREATE DATABASE example_database ON (FILENAME = 'C: \ Programmi \ Microsoft SQL Server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ DATA \ example_database.mdf') PER ATTACCO; GO GO' – Michel

0

Se è necessario specificare il nome del file di registro: USE master; GO; CREATE DATABASE DBNAME ON ( FILENAME = 'C:\DBFILE.mdf') LOG ON ( FILENAME = 'C:\DBLOGFILE_log.ldf') FOR ATTACH; GO; E per staccare: USE master; GO; EXEC sp_detach_db 'DBNAME', 'true'; GO;

Problemi correlati