Sqlserver2014 принимая резервную копию приложений Windows с#
Я пытаюсь создать резервную копию своей базы данных приложений windows, написав программу.Моя проблема в том, что я могу сохранить файл .bak.Если мы создадим резервную копию файла в папку, то мы не сможем выбрать тот же путь к папке.Это действительно заметно, если можно создать папку с уникальным идентификатором в каждом случае создания резервного процесса.
Мой LOC-это
private void button3_Click(object sender, EventArgs e) { try { System.Data.SqlClient.SqlConnectionStringBuilder builder = new System.Data.SqlClient.SqlConnectionStringBuilder(ConnectionStringTwo); string serverName = builder.DataSource; string DbName = builder.InitialCatalog; string dbuserName = builder.UserID; string dbPassword = builder.Password; if (DestPath == "" || DbName == "") { MessageBox.Show("Try to select Database and Destination Folder !"); } else { string databaseName = DbName;//dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].FormattedValue.ToString(); //Define a Backup object variable. Backup sqlBackup = new Backup(); ////Specify the type of backup, the description, the name, and the database to be backed up. sqlBackup.Action = BackupActionType.Database; sqlBackup.BackupSetDescription = "BackUp of:" + databaseName + "on" + DateTime.Now.ToShortDateString(); sqlBackup.BackupSetName = "FullBackUp"; sqlBackup.Database = databaseName; ////Declare a BackupDeviceItem string destinationPath = DestPath; string backupfileName = DbName+".bak"; //string backupfileName = DbName+DateTime.Now.Day + DateTime.Now.TimeOfDay + ".bak"; BackupDeviceItem deviceItem = new BackupDeviceItem(destinationPath + "\\" + backupfileName, DeviceType.File); ////Define Server connection //ServerConnection connection = new ServerConnection(frm.serverName, frm.userName, frm.password); ServerConnection connection = new ServerConnection(serverName, dbuserName, dbPassword); ////To Avoid TimeOut Exception Server sqlServer = new Server(connection); sqlServer.ConnectionContext.StatementTimeout = 60 * 60; Database db = sqlServer.Databases[databaseName]; sqlBackup.Initialize = true; sqlBackup.Checksum = true; sqlBackup.ContinueAfterError = true; ////Add the device to the Backup object. sqlBackup.Devices.Add(deviceItem); ////Set the Incremental property to False to specify that this is a full database backup. sqlBackup.Incremental = false; sqlBackup.ExpirationDate = DateTime.Now.AddDays(3); ////Specify that the log must be truncated after the backup is complete. sqlBackup.LogTruncation = BackupTruncateLogType.Truncate; sqlBackup.FormatMedia = false; ////Run SqlBackup to perform the full database backup on the instance of SQL Server. sqlBackup.SqlBackup(sqlServer); ////Remove the backup device from the Backup object. sqlBackup.Devices.Remove(deviceItem); toolStripStatusLabel1.Text = "Successful backup is created!"; } } catch (Exception ex) { toolStripStatusLabel1.Text = ex.Message; // MessageBox.Show(ex.Message); } }
Что я уже пробовал:
при создании резервной копии до того же места
sqlBackup.SqlBackup(sqlServer);gives me an exception of "Back Up failed for server 'Outlet-PC'"
Wendelius
Можете ли вы опубликовать точное сообщение об исключении вместе с внутренними исключениями (если таковые имеются)
Bestin P S
Исключение возникло при выполнении инструкции Transact-SQl или пакета-вот что я получил
Wendelius
Содержит ли исключение внутреннее исключение?