Как закрыть соединение с базой данных в службе windows
У меня есть служба windows для резервного копирования баз данных sql
это работает хорошо, но после любого резервного копирования базы данных служба сохраняет соединение открытым в течение некоторого времени, что замедляет работу базы данных при резервном копировании многих баз данных
в чем проблема?
Что я уже пробовал:
private void BackupSqlServerDB(string BackupPath, string DBName, string DBCon) { SqlConnection Con = new SqlConnection(); try { System.DateTime TheTime = DateTime.Now; string fileName = DBName + ".bak"; BackupPath = Path.Combine(BackupPath, fileName); if (System.IO.File.Exists(BackupPath)) System.IO.File.Delete(BackupPath); if (System.IO.File.Exists(BackupPath + ".zip")) System.IO.File.Delete(BackupPath + ".zip"); Con.ConnectionString = DBCon; Con.Open(); SqlCommand Cmd = new SqlCommand(); Cmd.Connection = Con; Cmd.CommandText = "BACKUP DATABASE " + DBName + " TO DISK ='" + BackupPath + "';"; Cmd.CommandTimeout = 360; Cmd.ExecuteNonQuery(); Cmd.Dispose(); Con.Close(); Con.Dispose(); GC.Collect(); } catch (Exception ex) { AddLog(ex.Message, "Preparing Sql Backup", true); } finally { Con.Close(); Con.Dispose(); GC.Collect(); } }