是否可以输入命令行命令(如在批处理文件中)将分离的数据库附加到SQL Server,而不是打开管理工作室并在那里进行操作?
答案 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文件被标记为只读。确保它们是可读写的。