SQL2005备份还原问题

时间:2022-02-18 19:37:28

 

今天无意中将SQL2000的数据库文件附加到SQL2005中,并且感觉就象SQL2000中一样,过去曾用SQL2000的备份文件还原,不成功,就以为SQL2005不兼容SQL2000的数据库

我曾试过升级SQL2000数据库,升级后表的结构被修改,无法使用,一直很郁闷,过两天我再看一下将SQL2000的数据库文件在SQL2005中使用的情况.

一般的数据迁移是没有什么问题,但是要注意你的存储过程或函数中如果应用到了系统表或系统视图,要注意修改成对应在SQL2005下的schema名称(sys)!

还有xp_cmdshell在SQL2005中已经作为高级选项了,不能够直接使用。
要是原来的程序中用到了,在2005中使用xp_cmdshell前请先打开高级选想开关:

-- To allow advanced options to be changed.
EXEC sp_configure 'show advanced options', 1
GO
-- To update the currently configured value for advanced options.
RECONFIGURE
GO
-- To enable the feature.
EXEC sp_configure 'xp_cmdshell', 1
GO
-- To update the currently configured value for this feature.
RECONFIGURE
GO
  

SQL2005备份还原问题

新装了SQL Server 2005,想把原来旧版本SQL的数据库备分还原到SQL2005上去,结果无法还原,错误信息为:

备份集中的数据库备份与现有的 'foofoo' 数据库不同。

相同问题求救的有:
* sql server2005还原数据库文件和文件组总是提示“备份集中数据库备份与现有XX数据库不同”
* SQL Server 2005还原问题


参考网友意见,注意以下几点,最终还原成功。

* 不要新建数据库,应该把已经存在的foofoo库删除, 直接在还原的时候, 指定还原后的库名为foofoo。
* 必须在选项中确认还原的目录存在。还原的两个数据库文件会新建,但是目录不存在就会失败。该还原路径是原数据库的路径,可以更改,至少目录名可以更改,但要保证更改后的目录存在。
* 有些网友提出数据库名要与原数据库名一致。在SQL2005中实验证明数据库名可以改变。

参考以下网友贴子:
[1] SQL7如何升级到SQL2005??
[2] sql2000里备份的数据库文件无法在2005里还原啊?

(转载请注明来源于金庆的专栏)

还原详细错误信息如下:

===================================

还原 对于 服务器“DATA-SERVER”失败。 (Microsoft.SqlServer.Smo)

------------------------------
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=还原+Server&LinkId=20476

------------------------------
程序位置:

   在 Microsoft.SqlServer.Management.Smo.Restore.SqlRestore(Server srv)
   在 Microsoft.SqlServer.Management.SqlManagerUI.SqlRestoreDatabaseOptions.RunRestore()

===================================

System.Data.SqlClient.SqlError: 备份集中的数据库备份与现有的 'foofoo' 数据库不同。 (Microsoft.SqlServer.Smo)

------------------------------
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.00&LinkId=20476

------------------------------
程序位置:

   在 Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteNonQueryWithMessage(StringCollection queries, ServerMessageEventHandler dbccMessageHandler, Boolean errorsAsMessages)
   在 Microsoft.SqlServer.Management.Smo.BackupRestoreBase.ExecuteSql(Server server, StringCollection queries)
   在 Microsoft.SqlServer.Management.Smo.Restore.SqlRestore(Server srv)


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jq0123/archive/2007/06/27/1668731.aspx

SQL2005备份还原问题

1.不要象SQL2000一样先建数据库

SQL2005备份还原问题

2.在 目标数据库 指定数据库名字

SQL2005备份还原问题
3.在选项中修改保存路径

SQL2005备份还原问题
4.成功还原