计算机已经死了,但我能够从硬盘驱动器中复制出所有.MDF
和.LDF
个文件。
我正在尝试使用sp_attach_db将数据库附加到新服务器,使用SQL Server 2012数据库的“查询工具”。
如果我一个接一个地这样做,那就有效:
sp_attach_db 'uni_11_2010','c:\Program Files\Microsoft SQL Server\MSSQL11.UNI\MSSQL\DATA\uni_11_2010.mdf', 'c:\Program Files\Microsoft SQL Server\MSSQL11.UNI\MSSQL\DATA\uni_11_2010_log.LDF';
但问题是我有500个不同的数据库要附加。我创建了一个包含所有500 sp_attach_db
个命令的文本文件,每行一个 - 由;
但是,如果我当时输入一个命令,它似乎才有用。
如果我能一次完成所有500个就好了.......
非常感谢所有人的帮助。
答案 0 :(得分:2)
如果您的“查询工具”在幕后使用SQLCMD,您可能需要在每个语句之间或最后添加批处理终止符(读取GO
)。
sp_attach_db 'dater', 'c:\data\dater.mdf', 'c:\data\dater.ldf';
GO
答案 1 :(得分:0)
我设法用BAT文件和osql执行此操作:
osql -S .\sql2012 -E -o dumpfile_dbattach.txt -Q "sp_attach_db @dbname = 'uni_1', @filename1='C:\Program Files\Microsoft SQL Server\MSSQL11.SQL2012\MSSQL\DATA\uni_1.mdf',@filename2='C:\Program Files\Microsoft SQL Server\MSSQL11.SQL2012\MSSQL\DATA\uni_1_log.ldf'"
主题现在可以关闭。