MS-SQL server 数据库还原时提示 指定的转换无效 错误

时间:2022-06-08 00:46:37
MS-SQL server 数据库还原时提示 指定的转换无效 错误

在还原数据库的时候,再添加BAK备份文件时,弹出提示 指定的转换无效。(SqlManagerUI)
此BAK文件是在sql server 10.0.1600 上备份的
需要还原的数据库 版本为 sql server 10.0.4000
网上的一个论坛说是因为BAK备份源所在的数据库版本不对,那现在如何进行处理?

难不成要把数据库文件分离出来然后在新版本的数据库上附加才行》?!

以下是错误消息正文
===================================

指定的转换无效。 (SqlManagerUI)

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

   在 Microsoft.SqlServer.Management.SqlManagerUI.SqlRestoreDatabaseGeneral.PopulateGridWithBackupSetsFromDevices()
   在 Microsoft.SqlServer.Management.SqlManagerUI.SqlRestoreDatabaseGeneral.GetBackupSetsFromDevices()
   在 Microsoft.SqlServer.Management.SqlManagerUI.SqlRestoreDatabaseGeneral.textDeviceSelected_TextChanged(Object sender, EventArgs e)
   在 System.Windows.Forms.Control.OnTextChanged(EventArgs e)
   在 System.Windows.Forms.TextBoxBase.OnTextChanged(EventArgs e)
   在 System.Windows.Forms.Control.set_Text(String value)
   在 System.Windows.Forms.TextBoxBase.set_Text(String value)
   在 System.Windows.Forms.TextBox.set_Text(String value)
   在 Microsoft.SqlServer.Management.SqlManagerUI.SqlRestoreDatabaseGeneral.buttonSelectDevice_Click(Object sender, EventArgs e)
   在 System.Windows.Forms.Control.OnClick(EventArgs e)
   在 System.Windows.Forms.Button.OnClick(EventArgs e)
   在 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   在 System.Windows.Forms.Control.WndProc(Message& m)
   在 System.Windows.Forms.ButtonBase.WndProc(Message& m)
   在 System.Windows.Forms.Button.WndProc(Message& m)
   在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

7 个解决方案

#1


版本不对

#2


那我如何在源数据库上备份一个和现在电脑上的版本一致的方法呢?

#3


SELECT SERVERPROPERTY('ProductVersion')

#5


在执行http://support.microsoft.com/kb/264474 里的

RESTORE HEADERONLY
FROM DISK = 'd:\temp\master176.bak'

发现返回结果都为空,应该是这个备份从远程服务器传回的时候出了问题,

#6


引用楼主 kellychongc 的回复:
此BAK文件是在sql server 10.0.1600 上备份的
需要还原的数据库 版本为 sql server 10.0.4000
网上的一个论坛说是因为BAK备份源所在的数据库版本不对,那现在如何进行处理?

高版本的备份无法在低版本的SQL上还原,
解决方法是升级低版本的SQL,安装SQL2008SP2补丁试试.

#7


引用 4 楼 szstephenzhou 的回复:
http://support.microsoft.com/kb/264474


问题解决了,其实这两个版本都通用的,只是因为低版本的备份的备份文件,在远程服务器上, 我从FTP下载的时候,用的是迅雷下载,现在用原始的方法下载下来,就可以还原了,

#1


版本不对

#2


那我如何在源数据库上备份一个和现在电脑上的版本一致的方法呢?

#3


SELECT SERVERPROPERTY('ProductVersion')

#4


#5


在执行http://support.microsoft.com/kb/264474 里的

RESTORE HEADERONLY
FROM DISK = 'd:\temp\master176.bak'

发现返回结果都为空,应该是这个备份从远程服务器传回的时候出了问题,

#6


引用楼主 kellychongc 的回复:
此BAK文件是在sql server 10.0.1600 上备份的
需要还原的数据库 版本为 sql server 10.0.4000
网上的一个论坛说是因为BAK备份源所在的数据库版本不对,那现在如何进行处理?

高版本的备份无法在低版本的SQL上还原,
解决方法是升级低版本的SQL,安装SQL2008SP2补丁试试.

#7


引用 4 楼 szstephenzhou 的回复:
http://support.microsoft.com/kb/264474


问题解决了,其实这两个版本都通用的,只是因为低版本的备份的备份文件,在远程服务器上, 我从FTP下载的时候,用的是迅雷下载,现在用原始的方法下载下来,就可以还原了,