Ich entwickelte eine Windows-C# .net-Anwendung und ich benutze Sqlserver-Datenbank. Ich erstellte Datenbank in einem speziellen Benutzer namens admin. Und jetzt möchte ich die Datenbank sichern und wiederherstellen.Wie zum Sichern und Wiederherstellen in C# .net
So bin ich in die Sicherung erfolgreich, aber ich Fehler erhalten, während
Wiederherstellungprivate 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 [email protected]", 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);
}
}
Fehler Bild:
Ich habe diese Erlaubnis erteilt, aber nicht:
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;
Wer ist Mobaker? Ich dachte, dein Benutzer heißt admin? – Ash8087