我希望将 SQL Server 2008 的备份还原到 Sql Server 2005 实例中。有没有办法让 Sql 2008 以 2005 可以理解的格式进行备份?
答案1
简短回答:
不
您无法还原到 SQL Server 的较低主版本。
但是你可以生成脚本从 SQL Server 2005 的数据库中,只需选择在向导中包含数据,然后您只需重建索引等,一旦您在 2005 实例上运行了脚本
答案2
并非作为备份(本机)。
不过,我知道有三种方法可以将 MSSQL2008 数据库转换为 MSSQL2005。
1) 第三方软件。这里的 DBA 喜欢红门。
2)脚本。例如可以在这里找到,并且[大部分]包含在下面。
Generate SQL Server Scripts
通过右键单击数据库并选择“任务 –> 生成脚本”,在 SQL Server Management Studio 中运行向导。- 单击
Next
即可跳过初始对话框。 - 点击
Script all objects in the selected database,
,然后点击“下一步”。 - 将服务器版本脚本设为“SQL Server 2005”,并将“脚本数据”设置为“True”。
- 如果您是第一次将数据库放在新实例上,请确保选项
Script Database Create
设置为True.
“单击”Next
。 - 选择
Script to file
,输入文件名并选择Choose Single file
。 - 脚本完成后,找到以下几行:
引用
在主服务器上创建数据库 [数据库名称]
(NAME = N'[数据库名称]',FILENAME = N'[文件路径][文件名]',SIZE = [大小]KB,MAXSIZE = [大小],FILEGROWTH = [文件增长大小]KB)
登录
(NAME = N'[数据库名称]_log', FILENAME = N'[文件路径][文件名].ldf', SIZE = [大小]KB, MAXSIZE = [大小]GB, FILEGROWTH = [x]%)
去
您需要将路径修改为要将数据库移动到的计算机的有效路径。您还需要注释掉以下行,如下所示:
--EXEC sys.sp_db_vardecimal_storage_format N'Northwind',N'ON'
- 去
完成这些更改后,将数据库文件移动到另一台服务器,然后您可以在 SQL Server 2005 Management Studio 中运行脚本在那里重新创建数据库。
3)SQL 发布向导。(阅读说明,它可能不适用于您的环境。)
答案3
不,格式不兼容。为了向后恢复,您需要编写数据库脚本并通过旧版本中的脚本创建它。
请注意,由于 SQL 2008 中存在 2005 年所没有的新功能和数据类型,您可能会遇到不兼容问题。
答案4
您可以使用 Talend 之类的工具来迁移表。它具有 GUI 界面,可以与 SQL Server 2008/2005/2000 配合使用,并且是 OSS/Free