[英]How to backup and restore in c#.net
我開發了Windows C#.net應用程序,並使用Sqlserver數據庫。 我在一個名為admin的特殊用戶中創建了數據庫。 現在,我想備份和還原數據庫。
所以我備份成功,但是恢復時出錯
private void pictureBox6_Click(object sender, EventArgs e)
{
try
{
SaveFileDialog f = new SaveFileDialog();
f.InitialDirectory = "D:\\";
f.Title = "HoghooghDastmozdBackup";
f.FileName = "HoghooghDastmozdBackup";
f.FilterIndex = 1;
f.OverwritePrompt = true;
f.Filter = @"SQL Backup files (*.BAK) |*.BAK|All files(*.*) |*.*";
if (f.ShowDialog() == DialogResult.OK)
{
SqlConnection sqlconn = new SqlConnection("Data Source=.;Initial Catalog=HoghooghDastmozd;Persist Security Info=True;User ID=admin;password=123456admin");
// SqlCommand sqlcmd = new SqlCommand("BACKUP DATABASE HoghooghDastmozd TO DISK =@n", sqlconn);
SqlCommand sqlcmd = new SqlCommand("BACKUP DATABASE [HoghooghDastmozd] TO DISK = @n WITH NOFORMAT, NOINIT, NAME = N'HoghooghDastmozd-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10",sqlconn);
sqlcmd.Parameters.AddWithValue("@n", f.FileName);
sqlconn.Open();
sqlcmd.ExecuteNonQuery();
sqlconn.Close();
MessageBox.Show("عملیات پشتیبانی موفق بود");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void pictureBox5_Click(object sender, EventArgs e)
{
try
{
OpenFileDialog f = new OpenFileDialog();
f.InitialDirectory = "D:\\";
f.Title = "HoghooghDastmozdBackup";
f.FileName = "HoghooghDastmozdBackup";
f.Filter = @"SQL Backup files (*.BAK) |*.BAK|All files(*.*) |*.*";
if (f.ShowDialog() == DialogResult.OK)
{
SqlConnection sqlconn = new SqlConnection("");
SqlCommand sqlcmd = new SqlCommand("ALTER DATABASE HoghooghDastmozd SET SINGLE_USER with ROLLBACK IMMEDIATE " + "use master " + "RESTORE DATABASE [HoghooghDastmozd] FROM DISK = @n WITH REPLACE ", sqlconn);
sqlcmd.Parameters.AddWithValue("@n", f.FileName);
sqlconn.Open();
sqlcmd.ExecuteNonQuery();
sqlconn.Close();
MessageBox.Show("عملیات بازیابی موفق بود");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
錯誤圖片:
我已授予這些權限,但無法正常工作:
EXEC sp_addrolemember 'db_ddladmin', mobtaker;
EXEC sp_addrolemember 'db_datareader', mobtaker;
EXEC sp_addrolemember 'db_datawriter', mobtaker;
EXEC sp_addrolemember 'db_owner', mobtaker;
EXEC sp_addrolemember 'dbcreator', mobtaker;
EXEC sp_addrolemember 'sysadmin', mobtaker;
確保您具有正確權限的最簡單方法是創建一個新的空白數據庫(您將自動成為所有者),然后在該數據庫上還原BAK。 此頁面告訴您如何...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.