Est-ce que quelqu'un sait comment sauvegarder la base de données SQL Server 2005/2008 avec C# et faire progresser la sauvegarde de la base de données?Sauvegarde de la base de données SQL Server avec progression
Répondre
est ici une solution pure ADO.NET, si vous rencontrez des difficultés pour installer SMO/SQLDMO sur la machine cible (il est une douleur dans le derrière, mieux éviter si vous le pouvez).
public void BackupDatabase(SqlConnection con, string databaseName, string backupName, string backupDescription, string backupFilename) {
con.FireInfoMessageEventOnUserErrors = true;
con.InfoMessage += OnInfoMessage;
con.Open();
using(var cmd = new SqlCommand(string.Format(
"backup database {0} to disk = {1} with description = {2}, name = {3}, stats = 1",
QuoteIdentifier(databaseName),
QuoteString(backupFilename),
QuoteString(backupDescription),
QuoteString(backupName)), con)) {
cmd.ExecuteNonQuery();
}
con.Close();
con.InfoMessage -= OnInfoMessage;
con.FireInfoMessageEventOnUserErrors = false;
}
private void OnInfoMessage(object sender, SqlInfoMessageEventArgs e) {
foreach(SqlError info in e.Errors) {
if(info.Class > 10) {
// TODO: treat this as a genuine error
} else {
// TODO: treat this as a progress message
}
}
}
private string QuoteIdentifier(string name) {
return "[" + name.Replace("]", "]]") + "]";
}
private string QuoteString(string text) {
return "'" + text.Replace("'", "''") + "'";
}
La clause stats = 1
dit SQL Server pour émettre des messages 0 gravité à l'intervalle de pourcentage spécifié (dans ce cas, 1%). La propriété FireInfoMessageEventOnUserErrors
et l'événement InfoMessage
garantissent que le code C# capture ces messages pendant l'exécution plutôt que seulement à la fin.
Je cherchais quelque chose comme ça depuis longtemps ... la version de Restore est-elle si différente? Quelle partie du message d'information dit quel est le pourcentage de progrès réel? – Patrick
La commande restore est très similaire, par ex. '" restaurer la base de données {0} à partir du disque = {1} avec replace, stats = 1 "'. En ce qui concerne la valeur en pourcentage, personnellement, j'utilise simplement une regex sur le message, par ex. 'Regex.Match (e.Message," (\ d {1,3}) pour cent ")'. –
SMO a un événement pourcentagecomplète.
- 1. Sauvegarde de la base de données SQL Server dans ASP.NET
- 2. Sauvegarde de la base de données SQL Server
- 3. Sauvegarde de base de données dans SQL Server 2008
- 4. Création d'une sauvegarde d'une base de données SQL Server
- 5. Fichiers de sauvegarde SQL Server
- 6. Problème de sauvegarde SQL Server
- 7. sauvegarder la base de données sql de Microsoft SQL Server
- 8. SQL Server 2008: Sauvegarde de la base de données avant l'exécution de la procédure stockée
- 9. Sauvegarde SQL Server 2005 - afficher ou restaurer sans interférer avec la base de données existante?
- 10. Sql Server 2000 Sauvegarde
- 11. Restauration d'une sauvegarde avec SQL Server
- 12. Suivi de la progression d'une requête SQL dans SQL Server
- 13. Remplacer la base de données SQL Server
- 14. Comment créer une réplication SQL Server à l'aide de la sauvegarde de base de données?
- 15. sql server Restaurer la base de données
- 16. Comment faire pour synchroniser la base de données SQL Server 2008 avec la base de données SQL Server 2005?
- 17. Sauvegarde de la base de données MySql avec PHP
- 18. Restauration directe de la base de données SQL Server à partir d'une autre base de données
- 19. Comment puis-je obtenir une sauvegarde compatible SQL Server 2005 à partir de la base de données SQL Server 2008?
- 20. Sauvegarde de la base de données SQL Server: Accès au fichier Service réseau
- 21. Sauvegarde d'une base de données SQL Server à partir du disque dur avec des procédures stockées?
- 22. Importation de la base de données Sql Server 2005 dans Sql Server express 2008
- 23. Sauvegarde MS SQL Server 2005?
- 24. Sauvegarde par mot de passe Sauvegarde SQL Server
- 25. Copier la base de données SQL Server dans le code
- 26. Didacticiel de sauvegarde SQL Server 2008
- 27. Quelle est la meilleure façon de comparer deux fichiers de sauvegarde de base de données avec MS Sql Server 2005?
- 28. SQL Server sauvegarde et de restauration 2005
- 29. Base de données de sauvegarde/restauration pour les tests d'intégration continue SQL Server
- 30. Erreur lors de la conversion de la base de données sql server 2005 en SQL Server base de données 2000
quelle version du serveur sql? – Gratzy
MSSQL 2005 et 2008 – RPS