我正在尝试恢复在SQL 2005中在SQL 2000中创建并获得此错误的数据库的备份
指数超出了界限 阵列。(Microsoft.SqlServer.Express.Smo)
我该如何恢复?
答案 0 :(得分:1)
尝试执行T-SQL RESTORE
命令。这可以从SSMS Restore Database对话框编写脚本,也可以使用下面的脚本示例。
要将数据库还原到与原始数据库文件相同的文件位置,请从SSMS查询窗口运行此命令,替换备份文件路径:
RESTORE DATABASE YourDatabaseName
FROM DISK='C:\Backups\YourDatabaseName.bak'
WITH STATS = 10;
如果目标服务器上的文件位置不同,请使用逻辑文件名和新文件路径指定MOVE选项:
RESTORE DATABASE YourDatabaseName
FROM DISK='C:\Backups\YourDatabaseName.bak'
WITH
MOVE 'YourDatabaseName' TO 'D:\DataFiles\YourDatabaseName.mdf'
, MOVE 'YourDatabaseName_Log' TO 'L:\DataFiles\YourDatabaseName_Log.ldf'
, STATS = 10;
可以使用RESTORE FILELISTONLY
:
RESTORE FILELISTONLY
FROM DISK='C:\Backups\YourDatabaseName.bak';
确保在还原后更新所有表的统计信息。这可以使用sp_updatestats完成:
EXEC sp_updatestats;