首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SQL2000 .NET上备份要还原的SQL2008数据库

在SQL2000 .NET上备份要还原的SQL2008数据库
EN

Stack Overflow用户
提问于 2010-02-11 03:14:47
回答 2查看 2.7K关注 0票数 1

我们有客户有兴趣将他们的Sql 2008数据发送给其他使用SQL 2000的客户。显然,这目前不起作用,所以我尝试创建一个“通用”备份过程,允许我们在Server2000及更高版本上备份和恢复我们的数据(因为SQL2000是所有或客户的最小公分母)。现在,我们以这种方式生成备份(C#):

代码语言:javascript
复制
 Server server = new Server( GetServerConnection( serverName, userName, password ) );
 Backup backup = new Backup();
 backup.Action = BackupActionType.Database;
 backup.Database = GetDatabasePrefix() + databaseName;
 backup.Devices.AddDevice( fileName, DeviceType.File );
 backup.Initialize = true;

 backup.SqlBackup( server );

我的第一个问题是,有没有办法“强制”将备份作为SQL2000运行,即使数据库是SQL2005或2008?

此外,我们正在考虑通过在数据库上使用bcp过程来打包和解包这些表,并将它们压缩在一起来避免这种情况。在压缩过程中,我放了一个头标志来声明它是一个“通用”备份。这看起来合理吗,还是有一种更简单的方法来做到这一点?由于无论服务器是什么,应用程序都是相同的,所以所有列和表都应该是相同的。谢谢你的帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-02-11 04:03:08

如果您只移植数据,BCP或自定义SSIS包听起来像是您最可能的可重用选项。您可能想要查看SSIS导入/导出向导,它使用起来非常简单,并且可以实现您想要的功能。

票数 5
EN

Stack Overflow用户

发布于 2010-02-11 03:57:07

无法将备份从较新版本的SQL Server还原到较旧版本。

您可以从SSMS 2008生成SSMS 2000 SQL脚本:

  • 打开工具SSMS 2008中的选项
  • 转到SQL server对象资源管理器-> Scripting
  • 将"Script

Server version“设置为2000

  • 右键单击您的数据库,选择Tasks -> Generate Scripts
  • 为您的SSMS中的所有对象编写脚本

然后将服务器链接在一起,并复制数据,如下所示:

代码语言:javascript
复制
insert ChefDb.dbo.MyTable from ChefServer.ChefDb.dbo.MyTable

或者,考虑购买RedGate SQL Data Compare

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2239613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档