C# ile SQL Server 2005/2008 veritabanını nasıl yedekleyeceğini ve veritabanı yedekleme işleminin nasıl ilerlediğini bilen var mı?SQL Server Veri Tabanı İlerlemesiyle ilerleme
cevap
Burada zorluk hedef makinede SMO/SQLDMO yüklerken yaşıyorsanız (o eğer yapabilirsen iyi kaçınılmalıdır arkasında bir ağrı, var), saf ADO.NET çözümdür.
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("'", "''") + "'";
}
stats = 1
maddesi (bu durumda,% 1 olarak) belirtilen yüzde aralığında ağırlığı: 0 mesajlar gönderebilir SQL Server anlatır. FireInfoMessageEventOnUserErrors
özelliği ve InfoMessage
olayı, C# kodunun bu iletileri yalnızca sondan çok yürütme sırasında yakaladığından emin olur.
Uzun zamandır böyle bir şey arıyordum ... bunun geri yükleme versiyonu çok farklı mı? Bilgi mesajının hangi kısmı gerçek ilerleme yüzdesinin ne olduğunu söylüyor? – Patrick
Geri yükleme komutu çok benzer, ör. '= {0} veritabanını {0} diskten geri yükle, src = 1" '. Yüzde değerine gelince, ben şahsen sadece mesajın üzerinde bir regex kullanıyorum, ör. Regex.Match (e.Message, "(\ d {1,3}) yüzde"). –
SMO'nun yüzde tamamlanma etkinliği vardır.
- 1. SQL server veri tabanı tablo performansı
- 2. Tek veri tabanı vs SQL SERVER 2014'de çoklu veritabanı
- 3. sqlSave: Veri tabanı zaman damgalarını SQL Server zaman damgalarına eşleme
- 4. C# sql veri tabanı express
- 5. Tohum üretim veri tabanı
- 6. SQL Server Onaltılık veri türü
- 7. Para veri türü SQL Server
- 8. Tetikleyiciye özel veri tabanı
- 9. veri tabanı oluşturma stratejisi
- 10. Sequelize Veri Tabanı Oluştur
- 11. PHP'de Veri Tabanı Giriş Bilgilerini Gizle
- 12. Oluşturulmadan Önce Veri Tabanı Varsa Kontrol Edin
- 13. SQL Server 2008 Hiyerarşi Veri Türü Performansı?
- 14. SQL Server - Belirli bir veri türünde
- 15. MS SQL Server ondalık veri türü toplanıyor
- 16. SQL Server XML veri türü ile çalışma
- 17. SQL Server: Bir sütunun veri türü denetimi
- 18. Veri dökülmeden veri tabanı şemasını güncelle?
- 19. İki veri tabanı nasıl karşılaştırılır?
- 20. Müzik Genom Veri Tabanı Erişimi
- 21. Yüksek Puan Veri Tabanı Ölçeklendiriliyor
- 22. Basit Nesne Veri Tabanı Ürün
- 23. Bir Android SQLite Veri Tabanı
- 24. PHP - Veri tabanı sorununa ekle
- 25. [SQL Server]
- 26. SQL Server Kötü ve En İyi Yöntemleri
- 27. SQL Server Profiler SQL deyiminde
- 28. SQL Server 2008 R2
- 29. SQL Server
- 30. Sql Server
sql sunucusunun hangi sürümü var? – Gratzy
MSSQL 2005 ve 2008 – RPS