1

计算机已经死了,但我能够从硬盘驱动器中复制所有文件.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 次,那就太好了......

非常感谢所有的帮助。

4

2 回答 2

2

如果您的“查询工具”在幕后使用 SQLCMD,您可能需要GO在每个语句之间或最后放置一个批处理终止符(读取)。

sp_attach_db 'dater', 'c:\data\dater.mdf', 'c:\data\dater.ldf';
GO
于 2013-08-19T20:41:10.700 回答
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'"

现在可以关闭主题了。

于 2013-08-20T10:52:49.663 回答