如何从命令行附加SQL Server数据库

时间:2010-05-06 19:31:12

标签: sql-server sql-server-2008 command-line

是否可以输入命令行命令(如在批处理文件中)将分离的数据库附加到SQL Server,而不是打开管理工作室并在那里进行操作?

3 个答案:

答案 0 :(得分: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)进行分离。将在Microsoft SQL Server的未来版本中删除sp_attach_db (Transact-SQL)

答案 1 :(得分: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;

答案 2 :(得分:0)

小陷阱,使用sqlcmd时不会告诉您什么地方出了错,并且您的mdf / ldf文件被标记为只读。确保它们是可读写的。