2016-01-10 3 views
-1

Моя строка соединения:Как сделать резервную копию базы данных с помощью строки подключения

@"Data Source=(LocalDB)\v11.0;AttachDbFilename=" + Application.StartupPath + @"\DataDirectory\sch.mdf;Integrated Security=True" 

Как сделать резервную копию этой базы данных в C# Windows Forms приложение?

+0

Вы хотите создать резервную копию базы данных по строке подключения? –

+0

Попробуйте выполнить [Backup SQL Server Database с помощью ADO.NET] (http://stackoverflow.com/questions/3142171/backup-sql-server-database-with-progress) – tchelidze

+3

Когда вы используете подход 'AttachDbFileName =' (который Я лично ** НЕ рекомендую ** вообще не рекомендовать), тогда соответствующая база данных будет иметь логическое имя, которое будет идентично ** всему пути и имени файла **, когда оно прикреплено к 'LocalDB' - используйте это имя для выполнения нормальная 'BACKUP DATABASE [YourDatabaseNameHere]' из C# –

ответ

0
 folderBrowserDialog1.ShowDialog(); 

     string path1 = folderBrowserDialog1.SelectedPath; 
     //MessageBox.Show(path1); 
     DateTime dmiladi = DateTime.Now; 
     PersianCalendar p = new PersianCalendar(); 

     string strdate = p.GetYear(dmiladi).ToString() + "/" + p.GetMonth(dmiladi).ToString() + "/" + p.GetDayOfMonth(dmiladi).ToString(); 

     string BackUpLocation = path1; 
     string BackUpFileName = "backup_sch"; 
     string DatabaseName = Application.StartupPath + @"\DataDirectory\sch.mdf"; 
     string ServerName = "(LocalDB)\\v11.0"; 
     DatabaseName = "[" + DatabaseName + "]"; 
     string fileUNQ = p.GetYear(dmiladi).ToString() + "_" + p.GetMonth(dmiladi).ToString() + "_" + p.GetDayOfMonth(dmiladi).ToString() + "_time" + DateTime.Now.Hour.ToString() + "_" + DateTime.Now.Minute.ToString() + "_" + DateTime.Now.Second.ToString(); 

     BackUpFileName = BackUpFileName + fileUNQ + ".bak"; 
     string SQLBackUp = @"BACKUP DATABASE " + DatabaseName + " TO DISK = N'" + BackUpLocation + @"\" + BackUpFileName + @"'"; 

     string svr = "Server=" + ServerName + ";Database=master;Integrated Security=True"; 
     SqlConnection cnBk; 
     SqlCommand cmdBkUp; 
     cnBk = new SqlConnection(svr); 

     cmdBkUp = new SqlCommand(SQLBackUp, cnBk); 

     cnBk.Open(); 
     cmdBkUp.ExecuteNonQuery(); 
Смежные вопросы