AmiN0012
یک شنبه 29 آذر 1394, 16:42 عصر
دوستان من خیلی کد های متنوع راجب بکاپ و ریسعتور دیدم اما نمیدونم چرا پیخام زیر رو میده:
Cannot open database "TetBackUp" requested by the login. The login failed.
Login failed for user 'MyPCUser'.
میخام یوزر جدید در بانک معرفی کنم باز اونجام ارور میده:
the login already has an account under a different user name
روی دیتابیسم در اس کیو ال نوشه single user.
کد های من:
بکاپ:
SaveFileDialog savefiledialog = new SaveFileDialog();
savefiledialog.FileName = DateTime.Now.ToString("ddMMyyyy_HHmmss");
savefiledialog.Filter = "BackupFile(*.Bak)|*.Bak";
if (savefiledialog.ShowDialog() == DialogResult.OK)
{
this.Refresh();
SqlCommand cmd = new SqlCommand();
cmd.Connection = new SqlConnection(@"Data Source=.;Initial Catalog=TetBackUp;Integrated Security=True");
cmd.Connection.Open();
string dbname = cmd.Connection.Database;
cmd.Connection.Close();
SqlConnection.ClearAllPools();
string query = "BACKUP DATABASE [" + Application.StartupPath + @"\TetBackUp.mdf] TO DISK ='" + savefiledialog.FileName + "'";
cmd.Connection = new SqlConnection(@"Data Source=.;Integrated Security=True");
cmd.Connection.Open();
cmd.CommandText = query;
cmd.ExecuteNonQuery();
cmd.Connection.Close();
this.Refresh();
MessageBox.Show("پایگاه داده با موفقیت پشتیبان گیری شده");
}
ریستور:
OpenFileDialog openfiledialog = new OpenFileDialog();
openfiledialog.Filter = "BackupFile(*.Bak)|*.Bak";
if (openfiledialog.ShowDialog() == DialogResult.OK)
{
this.Refresh();
SqlCommand cmd = new SqlCommand();
cmd.Connection = new SqlConnection(@"Data Source=.;AttachDbFilename=|DataDirectory|\TetBackU p.mdf;Integrated Security=True");
cmd.Connection.Open();
string dbname = cmd.Connection.Database;
cmd.Connection.Close();
string query = "ALTER DATABASE [" + Application.StartupPath
+ @"\TetBackUp.mdf] SET SINGLE_USER WITH ROLLBACK IMMEDIATE ; RESTORE DATABASE ["
+ Application.StartupPath + @"\TetBackUp.mdf] FROM DISK ='" + openfiledialog.FileName + "';ALTER DATABASE [" + Application.StartupPath + @"\TetBackUp.mdf] SET MULTI_USER;";
cmd.Connection = new SqlConnection(@"Data Source=.;Integrated Security=True");
cmd.Connection.Open();
cmd.CommandText = query;
cmd.ExecuteNonQuery();
cmd.Connection.Close();
this.Refresh();
MessageBox.Show("بازیابی پایگاه داده با موفقیت انجام شده")
}
ممنون میشم کمکم کنید
Cannot open database "TetBackUp" requested by the login. The login failed.
Login failed for user 'MyPCUser'.
میخام یوزر جدید در بانک معرفی کنم باز اونجام ارور میده:
the login already has an account under a different user name
روی دیتابیسم در اس کیو ال نوشه single user.
کد های من:
بکاپ:
SaveFileDialog savefiledialog = new SaveFileDialog();
savefiledialog.FileName = DateTime.Now.ToString("ddMMyyyy_HHmmss");
savefiledialog.Filter = "BackupFile(*.Bak)|*.Bak";
if (savefiledialog.ShowDialog() == DialogResult.OK)
{
this.Refresh();
SqlCommand cmd = new SqlCommand();
cmd.Connection = new SqlConnection(@"Data Source=.;Initial Catalog=TetBackUp;Integrated Security=True");
cmd.Connection.Open();
string dbname = cmd.Connection.Database;
cmd.Connection.Close();
SqlConnection.ClearAllPools();
string query = "BACKUP DATABASE [" + Application.StartupPath + @"\TetBackUp.mdf] TO DISK ='" + savefiledialog.FileName + "'";
cmd.Connection = new SqlConnection(@"Data Source=.;Integrated Security=True");
cmd.Connection.Open();
cmd.CommandText = query;
cmd.ExecuteNonQuery();
cmd.Connection.Close();
this.Refresh();
MessageBox.Show("پایگاه داده با موفقیت پشتیبان گیری شده");
}
ریستور:
OpenFileDialog openfiledialog = new OpenFileDialog();
openfiledialog.Filter = "BackupFile(*.Bak)|*.Bak";
if (openfiledialog.ShowDialog() == DialogResult.OK)
{
this.Refresh();
SqlCommand cmd = new SqlCommand();
cmd.Connection = new SqlConnection(@"Data Source=.;AttachDbFilename=|DataDirectory|\TetBackU p.mdf;Integrated Security=True");
cmd.Connection.Open();
string dbname = cmd.Connection.Database;
cmd.Connection.Close();
string query = "ALTER DATABASE [" + Application.StartupPath
+ @"\TetBackUp.mdf] SET SINGLE_USER WITH ROLLBACK IMMEDIATE ; RESTORE DATABASE ["
+ Application.StartupPath + @"\TetBackUp.mdf] FROM DISK ='" + openfiledialog.FileName + "';ALTER DATABASE [" + Application.StartupPath + @"\TetBackUp.mdf] SET MULTI_USER;";
cmd.Connection = new SqlConnection(@"Data Source=.;Integrated Security=True");
cmd.Connection.Open();
cmd.CommandText = query;
cmd.ExecuteNonQuery();
cmd.Connection.Close();
this.Refresh();
MessageBox.Show("بازیابی پایگاه داده با موفقیت انجام شده")
}
ممنون میشم کمکم کنید