我们有客户有兴趣使用 SQL 2000 将他们的 Sql 2008 数据发送给其他客户。现在显然这目前不起作用,所以我正在尝试创建一个“通用”备份过程,允许我们在 Server 2000 上备份和恢复我们的数据及以上(因为 SQL2000 是所有客户中最小的公分母)。现在我们正在以这种方式生成我们的备份(C#):
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 );
我的第一个问题是,有没有办法“强制”备份以 SQL 2000 运行,即使数据库是 SQL 2005 或 2008?
此外,我们正在考虑通过在数据库上使用 bcp 过程来打包和解包表并将它们压缩在一起来避免这种情况。在压缩过程中,我会放入一个标头标志以将其声明为“通用”备份。这看起来合理吗,或者有更简单的方法吗?由于无论服务器如何,应用程序都是相同的,因此所有列和表都应该相同。谢谢您的帮助!