Nous avons des clients intéressés à envoyer leurs données Sql 2008 à d'autres clients avec SQL 2000. Maintenant, évidemment, cela ne fonctionne pas actuellement, donc je tente de créer un "générique" processus de sauvegarde qui nous permet de sauvegarder et de restaurer nos données sur le serveur 2000 et plus (puisque SQL2000 est le dénominateur le moins commun de tous les clients). En ce moment, nous générons nos sauvegardes de cette façon (C#):Sauvegarde SQL 2008 DB à restaurer sur SQL 2000 .NET
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);
Ma première question est, est-il possible de « forcer » la sauvegarde à exécuter en tant que SQL 2000, même si la base de données est SQL 2005 ou 2008?
En outre, nous pensions éviter cela en utilisant la procédure bcp sur la base de données pour emballer et décompresser les tables et les compresser ensemble. Dans le processus zip, je mettrais un drapeau d'en-tête pour déclarer une sauvegarde "générique". Cela semble-t-il raisonnable, ou existe-t-il une façon plus simple de le faire? Comme l'application est la même quel que soit le serveur, toutes les colonnes et tables doivent être identiques. Merci pour l'aide!
J'apprécie la réponse détaillée, mais mon objectif principal est d'utiliser cette fonctionnalité par programme. Je ne peux pas demander à nos clients de le faire, je dois fournir les moyens dans notre application. – Kevin