如何在sql 2005中恢复sql 2000数据库备份?

时间:2015-09-03 11:08:01

标签: sql-server sql-server-2005 sql-server-2000

我正在尝试恢复在SQL 2005中在SQL 2000中创建并获得此错误的数据库的备份

  

指数超出了界限   阵列。(Microsoft.SqlServer.Express.Smo)

我该如何恢复?

1 个答案:

答案 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;