2010-05-06 3 views
6

Возможно ли ввести команду командной строки (например, в пакетном файле) для присоединения отдельной базы данных к SQL Server, вместо того чтобы открыть студию управления и выполнить ее в там?Как подключить базу данных SQL Server из командной строки

+0

можно объяснить на примере – Anjali

ответ

13

вам нужно использовать: sqlcmd Utility

SQLCMD утилита позволяет вводить операторы Transact-SQL, системные процедуры и файлы сценариев в командной строке в редакторе запросов в SQLCMD режиме, в файл сценария Windows или в операционной системе (Cmd.exe) шаг задания задания агента SQL Server. Эта утилита использует OLE DB для выполнения пакетов Transact-SQL.

Затем используйте CREATE DATABASE (Transact-SQL), чтобы сделать прикрепление и sp_detach_db (Transact-SQL), чтобы сделать отсоединение. sp_attach_db (Transact-SQL) будет удален в будущей версии Microsoft SQL Server.

+0

Очень приятно. Работал как шарм. Нужно было включить «named pipes» для запуска SqlCmd, не знаю почему, но кроме этого: chapeau! – Michel

+0

@KM. Можете ли вы привести мне пример ... – Anjali

+4

У меня есть пакетный файл с этим контентом: 'sqlcmd -Usa -PPASSWORD -i" N: \ SqlServer \ attachexample_database.sql "' и содержимое attachexample_database.sql 'CREATE DATABASE example_database ON (FILENAME = 'C: \ Program Files \ Microsoft SQL Server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ DATA \ example_database.mdf') ДЛЯ ATTACH; GO GO' – Michel

0

Если вам необходимо указать имя файла журнала: USE master; GO; CREATE DATABASE DBNAME ON ( FILENAME = 'C:\DBFILE.mdf') LOG ON ( FILENAME = 'C:\DBLOGFILE_log.ldf') FOR ATTACH; GO; И отделяться: USE master; GO; EXEC sp_detach_db 'DBNAME', 'true'; GO;

Смежные вопросы