我有一个要复制到2008服务器的SQL Sever 2012实例上的数据库。2008服务器无法还原由2012服务器创建的备份(我已经尝试过)。
我在2012年找不到任何选项来创建2008年兼容的备份。我想念什么吗?
有没有简单的方法可以将架构和数据导出为与版本无关的格式,然后将其导入到2008中?
该数据库不使用任何2012年特定功能。它包含表,数据和存储过程。
到目前为止,这是我尝试过的
我在2012服务器上尝试了Tasks → Generate Scripts,然后能够将架构(包括存储过程)生成为SQL脚本。但是,这不包括任何数据。
在2008年的计算机上创建该架构后,我能够在2012年的计算机上打开“导出数据”向导,在将2012年配置为源计算机并将2008年配置为目标计算机之后,向我展示了一个表列表,可以复制。我选择了所有表格(超过300个),然后单击向导。不幸的是,它花了很多时间来生成脚本,然后失败,并显示诸如“无法将其插入只读列'FOO_ID'”之类的错误。
我还尝试了“复制数据库向导”,该向导声称能够“从2000或更高版本复制到2005或更高版本”。它有两种模式:
“分离并附加”,失败并显示错误:
Message: Index was outside the bounds of the array. StackTrace: at Microsoft.SqlServer.Management.Smo.PropertyBag.SetValue(Int32 index, Object value) ... at Microsoft.SqlServer.Management.Smo.DataFile.get_FileName()
SQL管理对象方法因错误而失败
无法读取属性IsFileStream。此属性在SQL Server 7.0上不可用。”