-
نقل قول: كمك درباره restore كردن اطلاعات بانك sql
سلام
Bckup
try
{
string bname = DateTime.Now.ToString("yyyy-MM-dd-HH-mm");
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.AddExtension = true;
saveFileDialog.CheckFileExists = false;
saveFileDialog.CheckPathExists = true;
saveFileDialog.OverwritePrompt = true;
saveFileDialog.FileName = "Backup" + bname;
saveFileDialog.Filter = "Backup File (*.Bak)|*.Bak";
saveFileDialog.DefaultExt = "Bak";
saveFileDialog.RestoreDirectory = true;
saveFileDialog.InitialDirectory = System.Windows.Forms.Application.StartupPath;
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
try
{
this.Refresh();
SqlCommand cmd = new SqlCommand();
cmd.Connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Library.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
cmd.Connection.Open();
string dbname = cmd.Connection.Database;//گرفتن نام دیتابیس
cmd.Connection.Close();
SqlConnection.ClearAllPools();
string query = "BACKUP DATABASE [" + dbname + "] TO DISK ='" + saveFileDialog.FileName + "'";
cmd.Connection = new SqlConnection("Data Source=.\\sqlexpress;Integrated Security=True;Connect Timeout=30;User Instance=True");
cmd.Connection.Open();
cmd.CommandText = query;
cmd.ExecuteNonQuery();
cmd.Connection.Close();
this.Refresh();
progressBar1.PerformStep();
progressBar1.Value = 100;
MessageBox.Show("نسخه پشتيبان به طور كامل ايجاد شد ", "پيام", MessageBoxButtons.OK, MessageBoxIcon.Information);
progressBar1.Value = 0;
Restore
try
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.AddExtension = true;
openFileDialog.CheckFileExists = false;
openFileDialog.CheckPathExists = true;
openFileDialog.Filter = "Backup File (*.Bak)|*.Bak";
openFileDialog.DefaultExt = "Bak";
openFileDialog.RestoreDirectory = true;
openFileDialog.InitialDirectory = System.Windows.Forms.Application.StartupPath;
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
try
{
this.Refresh();
SqlCommand cmd = new SqlCommand();
cmd.Connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Library.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
cmd.Connection.Open();
string dbname = cmd.Connection.Database;
cmd.Connection.Close();
string query = "ALTER DATABASE [" + dbname + "] SET SINGLE_USER WITH ROLLBACK IMMEDIATE ;RESTORE DATABASE [" + dbname + "] FROM DISK = '" + openFileDialog.FileName + "';ALTER DATABASE [" + dbname + "] SET MULTI_USER ;";
cmd.Connection = new SqlConnection("Data Source=.\\sqlexpress;Integrated Security=True;Connect Timeout=30;User Instance=True");
cmd.Connection.Open();
cmd.CommandText = query;
cmd.ExecuteNonQuery();
cmd.Connection.Close();
progressBar1.PerformStep();
progressBar1.Value = 100;
MessageBox.Show("نسخه پشتيبان به طور كامل بازيابي شد ", "پيام", MessageBoxButtons.OK, MessageBoxIcon.Information);
MessageBox.Show("برنامه باید دوباره راه اندازی شود ", "هشدار", MessageBoxButtons.OK, MessageBoxIcon.Information);
Application.Restart();
progressBar1.Value = 0;
-
اشکال در restore کردن بانک اطلاعات
سلام خسته نباشید من دستور باز گردانی نوشتم که بانک اطلاعات رو به حالت اولش بر گردانی اگر هم وجود داشت برگرداند و جایی گزین بانک قبلی کنه ولی اشکال در ارتباط با دیتابیس میده ممنون میشم کمک کنید تا بدونم اشکال این خطا چی هستش با تشکر.
این هم کد های نوشته شده من.
string path;
private void BtnRestor_Click(object sender, EventArgs e)
{
if (txtaddress.Text.Length > 0)
{
SqlConnection con = new SqlConnection();
con.ConnectionString = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirec tory|\DBPoshak.mdf;Integrated Security=True;Connect Timeout=30";
SqlCommand cmd = new SqlCommand();
try
{
con.Open();
string query = "USE master RESTORE DATABASE [DBPoshak] FROM DISK ='" + path + "'";
cmd.CommandText = query;
cmd.Connection = con;
cmd.ExecuteNonQuery();
con.Close();
FarsiMessage.ShowMessageBox("بازیابی به درستی انجام شد","بازیابی");
}
catch
{
FarsiMessage.ShowMessageBox("اشکال در ارتباط با بانک اطلاعات / خطا 105","خطا");
}
}
else
{
FarsiMessage.ShowMessageBox("!"+"مسیر انتخاب نشده است","خطا",ShowButton.تائید_تنها,Ms gIcon.Warning);
}
}
این کدای که من نوشتم ممنون میشم دلیل خطا برنامه من رو بگید که خطا اشکال در ارتباط با بانک اطلاعات رو میده.
-
نقل قول: كمك درباره restore كردن اطلاعات بانك sql
سلام اين كد رو تو چه قسمتي بنويسم توي خود تابع ريستور يا تو رخداد كليد با توم
-
نقل قول: كمك درباره restore كردن اطلاعات بانك sql
با سلام وتشكر ديدمش ولي كمكي به من نكرد
-
نقل قول: اشکال در restore کردن بانک اطلاعات
خواهش میکنم یکی کمک کنی من رو خیلی نیاز دارم به این کد.برای بازگردانی اطلاعات
-
نقل قول: اشکال در restore کردن بانک اطلاعات
Restore
try
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.AddExtension = true;
openFileDialog.CheckFileExists = false;
openFileDialog.CheckPathExists = true;
openFileDialog.Filter = "Backup File (*.Bak)|*.Bak";
openFileDialog.DefaultExt = "Bak";
openFileDialog.RestoreDirectory = true;
openFileDialog.InitialDirectory = System.Windows.Forms.Application.StartupPath;
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
try
{
this.Refresh();
SqlCommand cmd = new SqlCommand();
cmd.Connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Dmb.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
cmd.Connection.Open();
string dbname = cmd.Connection.Database;
cmd.Connection.Close();
string query = "ALTER DATABASE [" + dbname + "] SET SINGLE_USER WITH ROLLBACK IMMEDIATE ;RESTORE DATABASE [" + dbname + "] FROM DISK = '" + openFileDialog.FileName + "';ALTER DATABASE [" + dbname + "] SET MULTI_USER ;";
cmd.Connection = new SqlConnection("Data Source=.\\sqlexpress;Integrated Security=True;Connect Timeout=30;User Instance=True");
cmd.Connection.Open();
cmd.CommandText = query;
cmd.ExecuteNonQuery();
cmd.Connection.Close();
progressBar1.PerformStep();
progressBar1.Value = 100;
MessageBox.Show("نسخه پشتيبان به طور كامل بازيابي شد ", "پيام", MessageBoxButtons.OK, MessageBoxIcon.Information);
MessageBox.Show("برنامه باید دوباره راه اندازی شود ", "هشدار", MessageBoxButtons.OK, MessageBoxIcon.Information);
Application.Restart();
progressBar1.Value = 0;
Backup
try
{
string bname = DateTime.Now.ToString("yyyy-MM-dd-HH-mm");
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.AddExtension = true;
saveFileDialog.CheckFileExists = false;
saveFileDialog.CheckPathExists = true;
saveFileDialog.OverwritePrompt = true;
saveFileDialog.FileName = "Backup" + bname;
saveFileDialog.Filter = "Backup File (*.Bak)|*.Bak";
saveFileDialog.DefaultExt = "Bak";
saveFileDialog.RestoreDirectory = true;
saveFileDialog.InitialDirectory = System.Windows.Forms.Application.StartupPath;
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
try
{
this.Refresh();
SqlCommand cmd = new SqlCommand();
cmd.Connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Library.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
cmd.Connection.Open();
string dbname = cmd.Connection.Database;//گرفتن نام دیتابیس
cmd.Connection.Close();
SqlConnection.ClearAllPools();
string query = "BACKUP DATABASE [" + dbname + "] TO DISK ='" + saveFileDialog.FileName + "'";
cmd.Connection = new SqlConnection("Data Source=.\\sqlexpress;Integrated Security=True;Connect Timeout=30;User Instance=True");
cmd.Connection.Open();
cmd.CommandText = query;
cmd.ExecuteNonQuery();
cmd.Connection.Close();
this.Refresh();
progressBar1.PerformStep();
progressBar1.Value = 100;
MessageBox.Show("نسخه پشتيبان به طور كامل ايجاد شد ", "پيام", MessageBoxButtons.OK, MessageBoxIcon.Information);
progressBar1.Value = 0;
-
نقل قول: اشکال در restore کردن بانک اطلاعات
سلام شما وقتی که ری استور میکنید در واقع فایل پشتیبان را با دیتا بیس جابه جا میکنید در حالی که دیتا بیس شما در حال استفاده است پس با اررور روبه رو میشید با این کد که میزارم مشکلتون حل میشه(@Masir) شامل ادرس فایل پشتیبان و اسمش
ALTER DATABASE [Database Name] SET OFFLINE with ROLLBACK IMMEDIATE RESTORE DATABASE [Database Name]
FROM DISK= @Masir with replace alter database [Database Name] set online
-
نقل قول: اشکال در restore کردن بانک اطلاعات
سلام برادرا من برای برای Restore کردن دیتابیسم همه کار کردم و برادران کمک کردن من رو ولی تو برگرداندن اطلاعات در سیستم با مشکل بر خورد کردم و توانستم به وسیله کدهای برادران اطلاعات رو به صورت bak.* پشتیبان بگیرم ولی حالا هر کار میکنم نمیشه بریش گردوند میگه سیستم نمی تونه باز گردانی کنه اطلاعات رو این دستور backup گرفتن من هستش که درست کار میکنه در فرم هم هستش private void BtnBackup_Click(object sender, EventArgs e)
{
//using (var back = new ClsRestorAndBackup())
//{
// back.BackUpMyDB();
//}
try
{
string bname = DateTime.Now.ToString("yyyy-MM-dd-HH-mm");
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.AddExtension = true;
saveFileDialog.CheckFileExists = false;
saveFileDialog.CheckPathExists = true;
saveFileDialog.OverwritePrompt = true;
saveFileDialog.FileName = "Backup" + bname;
saveFileDialog.Filter = "Backup File (*.Bak)|*.Bak";
saveFileDialog.DefaultExt = "bak";
saveFileDialog.RestoreDirectory = true;
saveFileDialog.InitialDirectory = System.Windows.Forms.Application.StartupPath;
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
try
{
this.Refresh();
SqlCommand cmd = new SqlCommand();
cmd.Connection = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirec tory|\DBPoshak.mdf;Integrated Security=True;Connect Timeout=30");
cmd.Connection.Open();
string dbname = cmd.Connection.Database;//گرفتن نام دیتابیس
cmd.Connection.Close();
SqlConnection.ClearAllPools();
string query = "BACKUP DATABASE [" + dbname + "] TO DISK ='" + saveFileDialog.FileName + "'";
cmd.Connection = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirec tory|\DBPoshak.mdf;Integrated Security=True;Connect Timeout=30");
//Data Source=.\\sqlexpress;Integrated Security=True;Connect Timeout=30;User Instance=True");
cmd.Connection.Open();
cmd.CommandText = query;
cmd.ExecuteNonQuery();
cmd.Connection.Close();
this.Refresh();
progressBar1.PerformStep();
progressBar1.Value = 100;
MessageBox.Show("نسخه پشتيبان به طور كامل ايجاد شد ", "پيام", MessageBoxButtons.OK, MessageBoxIcon.Information);
progressBar1.Value = 0;
}
catch (Exception ex)
{
// FarsiMessegeBox.Show("خطا در پشتیبان گیری");
FarsiMessegeBox.Show(ex.Message);
}
}
}
catch
{
}
}
و این هم دستور Restore کردن منهستش هی برای باز گردنای اطلاعات ایراد میگیری میخوام موقع برگداندن پسوند bak رو به پسوند خودش MDF برگدونه تا اطلاعات با همون نام و پسوند یاشه و ایراد نگیره ولی هر کاری میکنم ایراد میگیری این هم دستور Restore من در فرم
private void BtnRestor_Click(object sender, EventArgs e)
{
//using (var back = new ClsRestorAndBackup())
//{
// back.RestoreMyDB();
//}
try
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.AddExtension = true;
openFileDialog.CheckFileExists = false;
openFileDialog.CheckPathExists = true;
openFileDialog.Filter = "Backup File (*.Bak)|*.Bak";
openFileDialog.DefaultExt = "BaK";
openFileDialog.RestoreDirectory = true;
openFileDialog.InitialDirectory = System.Windows.Forms.Application.StartupPath;
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
//string ourPath = openFileDialog.FileName;
//string newPath = Path.ChangeExtension(ourPath, "*.mdf");
//File.Move(ourPath, newPath);
try
{
this.Refresh();
SqlCommand cmd = new SqlCommand();
cmd.Connection = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirec tory|\DBPoshak.mdf;Integrated Security=True;Connect Timeout=30");
cmd.Connection.Open();
string dbname = cmd.Connection.Database;
//string newPath = Path.ChangeExtension(dbname, "mdf");
//File.Move(dbname, newPath);
string ourPath = openFileDialog.FileName;
string newPath = Path.ChangeExtension(ourPath, "mdf");
File.Move(ourPath, newPath);
cmd.Connection.Close();
string query = "ALTER DATABASE [DBPoshak.mdf] SET OFFLINE with ROLLBACK IMMEDIATE RESTORE DATABASE [DBPoshak.mdf] FROM DISK= @Masir with replace alter database [DBPoshak.mdf] set online";
cmd.Connection = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirec tory|\DBPoshak.mdf;Integrated Security=True;Connect Timeout=30");
//" Data Source=.\\sqlexpress;Integrated Security=True;Connect Timeout=30;User Instance=True");
cmd.Connection.Open();
cmd.CommandText = query;
cmd.ExecuteNonQuery();
cmd.Connection.Close();
progressBar1.PerformStep();
progressBar1.Value = 100;
MessageBox.Show("نسخه پشتيبان به طور كامل بازيابي شد ", "پيام", MessageBoxButtons.OK, MessageBoxIcon.Information);
MessageBox.Show("برنامه باید دوباره راه اندازی شود ", "هشدار", MessageBoxButtons.OK, MessageBoxIcon.Information);
Application.Restart();
progressBar1.Value = 0;
}
catch (Exception ex)
{
// FarsiMessegeBox.Show("خطا در بازگردانی اطلاعات.");
FarsiMessegeBox.Show(ex.Message);
}
}
}
catch
{
}
}
من از دستور دیگه هم استفاده کردم برای پتیبان گیری و بازگردانی در این دستور نه میتونم پشتیبان گیری کنم و نه باز گردانی این دستورات رو در کلاس نوشتم و درفرم با تابعی صداش زدم این دستور ریستور و بکاپ گرفتن من در کلاس using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using FarsiMsgBox;
using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;
using FMessegeBox;
using System.IO;
using System.Diagnostics;
namespace Proje_SayeBan_Poshak
{
class ClsRestorAndBackup :IDisposable // باید توجه به namespace برنامه شود
{
//private string BackupString = @"data source=.;initial catalog=DBPoshak;integrated security=True;multipleactiveresultsets=true";//کانکشن استرین برای دست یابی به اطلاعات اصلی
//private string RestoreString = "Data Source=.;Initial Catalog=master;Integrated Security=True";//کانکشن استرین برای دست یابی به اطلاعات میستر
private string BackupString = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirec tory|\DBPoshak.mdf;Integrated Security=True;Connect Timeout=30";
//Data Source=ADMIN-PC;Initial Catalog=DBPoshak;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=Fa lse";//Connection String baraye Dastyabi be Data base Asli
private string RestoreString = @"Data Source=.;Initial Catalog=DBPoshak;Integrated Security=True";//Connection String baraye dastresi be data base Master
//Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirec tory|\DBPoshak.mdf;Integrated Security=True;Connect Timeout=30";
public void Dispose()
{
GC.SuppressFinalize(this);
}
public void RestoreMyDB()
{
//FarsiMessage.ShowMessageBox("تمام داده های ذخیره شده در پایگاه داده تغییر میکنند اگه موافق هستید دکمه بله رو انتخاب کنید", "بازگردانی اطلاعات", ShowButton.بله_خیر, MsgIcon.Question_2) == DialogResult.Yes
if (FarsiMessegeBox.Show("تمام داده های ذخیره شده در پایگاه داده تغییر میکنند اگه موافق هستید دکمه بله رو انتخاب کنید", "بازگردانی اطلاعات", FMessegeBoxButtons.YesNo, FMessegeBoxIcons.Question) == DialogResult.Yes) ;
{
SqlConnection.ClearAllPools();
using (SqlConnection con = new SqlConnection(RestoreString))
{
ServerConnection srvconn = new ServerConnection(con);
Server srvr = new Server(srvconn);
if (srvr != null)
{
try
{
Restore rstDatabase = new Restore();
rstDatabase.Action = RestoreActionType.Database;
rstDatabase.Database = "DBPoshak";//باید همین نام برای دیتابیس تنظیم شود
OpenFileDialog opfd = new OpenFileDialog();
opfd.Filter = "فایل پشتیبانی|*.bak";
opfd.Title = "بازگردانی اطلاعات";
if (opfd.ShowDialog() == DialogResult.OK)
{
string ourPath = opfd.FileName;
string newPath = Path.ChangeExtension(ourPath, "*.mdf");
File.Move(ourPath, newPath);
BackupDeviceItem bkpDevice = new BackupDeviceItem(opfd.FileName, DeviceType.File);
rstDatabase.ReplaceDatabase = true;
rstDatabase.SqlRestore(srvr);
// FarsiMessage.ShowMessageBox("اطلاعات با موفقعیت بازگردانی شدن", "بازگردانی اطلاعات", ShowButton.تائید_تنها, MsgIcon.Information_1);
FarsiMessegeBox.Show("اطلاعات با موفقعیت بازگردانی شدن", "بازگردانی اطلاعات", FMessegeBoxButtons.Ok, FMessegeBoxIcons.Information);
}
}
catch (Exception ex)
{
// FarsiMessage.ShowMessageBox("خطا در بازگردانی اطلاعات دیتابیس/ خطا 106", "اشکال در ارتباط", ShowButton.تائید_تنها, MsgIcon.Warning);
FarsiMessegeBox.Show("خطا در بازگردانی اطلاعات دیتابیس / خطا 106", "خطا در بازگردانی", FMessegeBoxButtons.Ok, FMessegeBoxIcons.Error);
}
}
}
}
}
public void BackUpMyDB()
{
using (SqlConnection con = new SqlConnection(BackupString))
{
ServerConnection srvcon = new ServerConnection(con);
Server srvr = new Server(srvcon);
if (srvr != null)
{
try
{
Backup bkdDatabase = new Backup();
bkdDatabase.Action = BackupActionType.Database;
bkdDatabase.Database = "DBPoshak";
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "پشتیبانی گرفتن فایل|*.bak";
sfd.Title = "پشتیبان گیری";
sfd.FileName = "BackUP_" + (DateTime.Now.ToShortDateString().Replace('/', '.'));
if (sfd.ShowDialog() == DialogResult.OK)
{
BackupDeviceItem bkpDevice = new BackupDeviceItem(sfd.FileName, DeviceType.File);
bkdDatabase.Devices.Add(bkpDevice);
bkdDatabase.SqlBackup(srvr);
FarsiMessegeBox.Show("پشتیبان گیرری با موفقعیت انجام شد", "پشتیبان گیری", FMessegeBoxButtons.Ok, FMessegeBoxIcons.Information);
}
}
catch (Exception ex)
{
// FarsiMessegeBox.Show(ex.ToString());
FarsiMessegeBox.Show("خطا در ایجاد پشتیبان گیری", "خطا", FMessegeBoxButtons.Ok, FMessegeBoxIcons.Error);
}
}
}
}
}
}
و این هم تابعی که در فرم صداش زدم. private void BtnRestor_Click(object sender, EventArgs e)
{
//using (var back = new ClsRestorAndBackup())
//{
// back.RestoreMyDB();
//}
از هر دستوری برای بازیابی و پشتیبان گیری استفاده کردم ولی یه دستور فقط پشتیبان گیری رو جواب داد ولی باز گردانی رو نه که موقع باز گردانی اطلاعات پسوند که موقع پشتیبان گیری bak گذاشتم رو به پسوند MDF تبدیل کنه و ایراد نگیری برای بازگردانی اطلاعات فایل دیتابیس کنار فایل اجرای هستش یعنی exe هر کاری میکنم بر نمیگرونه خواهش میکنم کمک کنید من رو خیلی لازم دارم خطاهای که میده به فارسی این ها میشه
1- نمی توانه عمل باز گردانی رو انجام بده فایل در حال استفاده شدن هستش 2- این پسوند ناشناخته هستش برای جداول
این خطا های هستش که میده ممنون میشم کمک کنید خیلی گیر کردم تو کدهای ممنون میشم کمک کنید من رو. با تشکر فراوان.
-
Restore کردن db با سی شارپ
من میخوام با سی شارپ کد Restore رو بنویسم ارور میده
این کدمه
try
{
string s = @"C:\New\1392-2-13 Time 1-9-48\SabaNet.bak";
SqlCommand cmd = new SqlCommand();
cmd.Connection = new SqlConnection("Data Source=victory-pc;Initial Catalog=SabaNet;Integrated Security=True");
cmd.Connection.Open();
string dbname = cmd.Connection.Database;
cmd.Connection.Close();
//USE [master]; RESTORE DATABASE [" + dbname + "] FROM DISK = N'" + TxtAddress.Text + "' WITH NOUNLOAD, REPLACE, STATS = 10
string query = "USE [master]; RESTORE DATABASE [" + dbname + "] FROM DISK = N'" + s + "'";
cmd.Connection = new SqlConnection("Data Source=victory-pc;Initial Catalog=SabaNet;Integrated Security=True");
cmd.Connection.Open();
cmd.CommandText = query;
cmd.ExecuteNonQuery();
cmd.Connection.Close();
MessageBox.Show("database restore: ok");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
این ارور
Exclusive access could not be obtained because the database is in use.
RESTORE DATABASE is terminating abnormally.
Changed database context to 'master
-
نقل قول: Restore کردن db با سی شارپ
دوست عزیز توی خوده اررور با زبون ساده گفته که دیتابیستون در حال استفادس و برای رفع این مشکل میتونید از کوئری USE MASTER استفاده کنید تا دیگه دیتابسی که میخواین restore کنید وصل نباشه
-
نقل قول: Restore کردن db با سی شارپ
خوب کد use master رو نوشتم
-
نقل قول: خطا زمان گرفتن backup از sql
نقل قول:
نوشته شده توسط
uniqueboy_ara
سعی کنید برای اینکه به این مشکلات بر نخورید از توابع SMO استفاده کنید
خیلی راحت تر و قشنگ تر میشه هم بکاپ گرفت، هم Restore کرد
توابع SMO چیه میشه توضیح بدی
-
نقل قول: اشکال در restore کردن بانک اطلاعات
سلام
مشکل شما در connection string هست.(AttachDbFilename)
در واقع connection string مورد استفاده توسط شما ،میخواد database رو به صورت موقت attach کنه،در صورتی که پشتیبان گیری برای پایگاه داده ای به کار میاد که قبلا attach شده،
اگر فایل شما به صورت کامل attach نشده باشه و connection string حاوی عبارت AttachDbFilename در بقیه جاهای برنامتون به خوبی جواب میده،به جای پشتیبان گیری از کپی برداری از فایل پایگاه داده بهره ببرید،در غیر این صورت باید connection string تصحیح بشه.
-
restor کردن بک آپ
سلام من برای گرفتن بک آپ از این کد استفاده میکنم برای ری استور باید چه کدی بنویسم؟
Cursor.Current = Cursors.WaitCursor;
Directory.CreateDirectory(@"d:\SQLBackup");
con.Open();
SqlCommand command;
command = new SqlCommand(@"backup database mobile to disk ='d:\\SQLBackup\\dbbackup.bak' with init,stats=10", con);
command.ExecuteNonQuery();
con.Close();
MessageBox.Show("پشتیبان گیری با موفقیت انجام شد", "پشتیبان", MessageBoxButtons.OK, MessageBoxIcon.Information);
-
نقل قول: restor کردن بک آپ
بنده از این کد برای برگرداندن اطلاعات استفاده میکنم.
string Filename;
OpenFileDialog openFileDialog1 = new OpenFileDialog();
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
Filename = openFileDialog1.FileName;
}
else return;
try
{
File.Copy(Filename, Application.StartupPath + @"\Database.accdb", true);
MessageBox.Show(".عمل بازیابی اطلاعات با موفقیت انجام شد");
Close();
}
catch (Exception x)
{
MessageBox.Show("خطا در بازیابی اطلاعات");
}
-
نقل قول: restor کردن بک آپ
نقل قول:
نوشته شده توسط
csharpdoost
بنده از این کد برای برگرداندن اطلاعات استفاده میکنم.
string Filename;
OpenFileDialog openFileDialog1 = new OpenFileDialog();
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
Filename = openFileDialog1.FileName;
}
else return;
try
{
File.Copy(Filename, Application.StartupPath + @"\Database.accdb", true);
MessageBox.Show(".عمل بازیابی اطلاعات با موفقیت انجام شد");
Close();
}
catch (Exception x)
{
MessageBox.Show("خطا در بازیابی اطلاعات");
}
این کد برای اکسز هست برای sql میخوام
-
ارور موقع ری استور کردن بک آپ
سلام
من موقع ری استور این ارور رو می گیرم
The tail of the log for the database "mobile" has not been backed up. Use BACKUP LOG WITH NORECOVERY to backup the log if it contains work you do not want to lose. Use the WITH REPLACE or WITH STOPAT clause of the RESTORE statement to just overwrite the contents of the log.
RESTORE DATABASE is terminating abnormally.
Failed to restart the current database. The current database is switched to master.
کدم اینه:
con.Open();
SqlCommand command;
command = new SqlCommand(@"ALTER DATABASE mobile SET OFFLINE with ROLLBACK IMMEDIATE restore database mobile from disk ='d:\\SQLBackup\\dbmobilebackup.bak'", con);
command.ExecuteNonQuery();
con.Close();
MessageBox.Show(".بازنشانی با موفقیت انجام شد", "پشتیبان", MessageBoxButtons.OK, MessageBoxIcon.Information);
-
نقل قول: restor کردن بک آپ
اکسس و sql نداره . شما دارید نام دیتابیس رو با پسوندش به برنامه میدی. خودت میتونی sql ش رو بنویسی.
File.Copy(Filename, Application.StartupPath + @"\dbbackup.bak", true);
-
نقل قول: restor کردن بک آپ
کدی که نوشتم اینجوری شد ولی بدون ارور هیچ عملیاتی انجام نمیده فقط پیامی که تو برنامه گذاشتم رو میده.
string Filename;
OpenFileDialog openFileDialog1 = new OpenFileDialog();
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
Filename = openFileDialog1.FileName;
}
else return;
try
{
File.Copy(Filename, Application.StartupPath + @"\dbmobilebackup.bak", true);
MessageBox.Show(".عمل بازیابی اطلاعات با موفقیت انجام شد");
Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(),"خطا در بازیابی اطلاعات");
}
-
نقل قول: restor کردن بک آپ
از این کد هم استفاده کردم ولی ارور میده
con.Open();
SqlCommand command;
command = new SqlCommand(@"ALTER DATABASE mobile SET OFFLINE with ROLLBACK IMMEDIATE restore database mobile from disk ='d:\\SQLBackup\\dbmobilebackup.bak'", con);
command.ExecuteNonQuery();
con.Close();
MessageBox.Show(".بازنشانی با موفقیت انجام شد", "پشتیبان", MessageBoxButtons.OK, MessageBoxIcon.Information);
-
نقل قول: restor کردن بک آپ
نقل قول:
نوشته شده توسط
csharpdoost
اکسس و sql نداره . شما دارید نام دیتابیس رو با پسوندش به برنامه میدی. خودت میتونی sql ش رو بنویسی.
File.Copy(Filename, Application.StartupPath + @"\dbbackup.bak", true);
شما تو این برنامه فقط دارید فایل رو کپی میکنید برای sql نمیشه.
-
ارور موقع restore کردن backup
سلام من موقع ری استور کردن بک اپ این ارور رو میگیرم.
RESTORE cannot process database 'mobile' because it is in use by this session. It is recommended that the master database be used when performing this operation.
RESTORE DATABASE is terminating abnormally.
اینم کدمه:
con.Open();
SqlCommand command;
command = new SqlCommand(@"restore database mobile from disk ='d:\\SQLBackup\\dbmobilebackup.bak'", con);
command.ExecuteNonQuery();
con.Close();
MessageBox.Show(".بازنشانی با موفقیت انجام شد", "پشتیبان", MessageBoxButtons.OK, MessageBoxIcon.Information);
-
نقل قول: ارور موقع restore کردن backup
برای باز گردانی اطلاعات شما باید ابتدا تمامی کانکشن ها تون رو به دیتا بیس موبایل ببندید سپس یک کانکشن به مستر ایجاد کنید نه موبایل بعد باید اون رو ری استور کنید
-
نقل قول: ارور موقع restore کردن backup
نقل قول:
نوشته شده توسط
gholami146
برای باز گردانی اطلاعات شما باید ابتدا تمامی کانکشن ها تون رو به دیتا بیس موبایل ببندید سپس یک کانکشن به مستر ایجاد کنید نه موبایل بعد باید اون رو ری استور کنید
یعنی میگید اول دیتابیس mobile رو آفلاین کنم بعد این کد رو اجرا کنم؟
command = new SqlCommand(@"restore database master from disk ='d:\\SQLBackup\\dbmobilebackup.bak'", con);
اینجا مستر چیکار میکنه؟ اصلا چیه؟ دیتابیسه؟
-
نقل قول: ارور موقع restore کردن backup
ممنون فهمیدم مشکل از کجاست
کد باید اینجوری شه.
command = new SqlCommand(@"ALTER DATABASE mobile SET OFFLINE with ROLLBACK IMMEDIATE restore database mobile from disk ='d:\\SQLBackup\\dbmobilebackup.bak' WITH REPLACE", con);
-
نقل قول: اشکال در restore کردن بانک اطلاعات
سلام به بچه های برنامه نویس میخواستم به اطلاع برنامه نویس های بریسونم اگه کسی با دانت 2010 یا 2012 کار میکنی میتونه از دستورات که برای کار با دیتابیس و هم همین طور این دستورات Backup و Restore استفاده کنی بدون هیچ مشکلی اگه در صورت اینکه با مشکل بر خورد کرد بدانه که کامپیوننت DevComponents و Telerik اجازه نمیدهد که از دستورات استفاده کنه و باعث میشه با پیغام خطا مواجه بیشه و برنامه کار نکونه و اطلاعات رو از دیتابیس نخونه و بکاپ و ریستور برنامه نده اگه کسی با همچین چیزی مواجه بدون کار این 2 تا کامپوننت هستش که نصب شده و این 2 تا عذت میکنن من این دستورات بکاپ و ریستور رو جواب نگرفتم وقتی کامپوننت های DevComponentsو Telerik رو نصب کردم با مشکل برخورد کردم ولی ویندوز روو عوض کردوم و دانت نت و اسکول سرور رو نصب کردم دوباره درست شد و بکاپ و ریستور گرفت این اطلاعی رو به این دلیل میریسونم کسی با مشکل بر خورد کرد با دیتابیس و بکاپ ریستور بدانه اشکال رو این 2 تا ایجاد کردن..
-
restore اطلاعات
سلام.از دوستان کسی میتونه کد زیر رو برای بازگردانی اطلاعات در سی شارپ توضیح بده?جای school یا mine و single user چیه؟کدوم قسمت هاش باید عوض بشه؟
private void Restore(string strFileName)
{
try
{
string command = "ALTER DATABASE school SET SINGLE_USER with ROLLBACK IMMEDIATE " + "use master " + " RESTORE DATABASE mine FROM DISK='" + strFileName + "'";
}
-
نقل قول: restore اطلاعات
سلام
اخرین پست این تاپیک
موفق
-
نقل قول: restore اطلاعات
نقل قول:
نوشته شده توسط
mousa1992
متوجه نشدم.یعنی چی؟
-
بکاپ -ریستور
سلام من ی قطعه کد میخام که بتونم از داده های جدولم بکاپ بگیرم و بتونم بازیابیش کنم
-
نقل قول: بکاپ -ریستور
سلام دوست عزیز
این کدی که من تو برنامه هام استفاده میکنم یه نگاهی بنداز مشکلی نداره اگه متوجه نشدی برات توضیح میدم ، قبلش SaveFileDialog به فرمت اضافه کن
بک آپ گیری
SqlConnection sq = new SqlConnection("server=(local);database=RSR;integra ted security=true;");
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "*.bak|*.bak";
if (sfd.ShowDialog() == DialogResult.OK)
{
SqlCommand com = new SqlCommand("backup database " + RSR + " to disk='" + sfd.FileName + "'", sq);
sq.Open();
com.ExecuteNonQuery();
sq.Close();
MessageBox.Show("تهیه نسخه پشتیبان از اطلاعات با موفقیت انجام شد", "پیغام", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
بازیابی
SqlConnection sq = new SqlConnection("server=(local);database=RSR;integra ted security=true;");
OpenFileDialog ofd = new OpenFileDialog();
SqlConnection.ClearAllPools(); // برای از بین بردن کانکشن ها از بانک
ofd.Title = "Select Backup file";
ofd.Filter = "*.bak|*.bak";
if (ofd.ShowDialog() == DialogResult.OK)
{
String query = "USE [master]; RESTORE DATABASE [" + RSR + "] FROM DISK = N'" + ofd.FileName + " ' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10";
SqlCommand com = new SqlCommand(query, sq);
sq.Open();
com.ExecuteNonQuery();
sq.Close();
MessageBox.Show("بازیابی اطلاعات از پشتیبان با موفقیت انجام شد", "پیغام", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
-
نقل قول: بکاپ -ریستور
جواب نگرفتم
به RSR خطا گرفت(ابتدای برنامه نوشتم
publicstring RSR
خطا بر طرف شد )
تغییر دومی که دادم این بود آدرس پایگاه دادم که
SQLEXPRESS رو با آدرسی که داده بودید عوض کردم
(اگه بخام از داده های یک جدول خاص داخل فرمم بکاپ بگیرم چی )
-
نقل قول: بکاپ -ریستور
به جای RSR نام بانک نو بزار آقا محمود عزیز :لبخندساده:
-
خطا در بکاپ و بازیابی
سلام
این کد بکاپ گیریم هستش که به اسم پایگاه دادم که library هستش قبل از این که برنامه رو اجرا کنم خطا میگیره
SqlCommand com = newSqlCommand("backup database " + Library + " to disk='" + sfd.FileName + "'", sq);
در بازیابی هم همین مشکل هست
این هم سورس کامل برنامه
using System.Data.SqlClient;
namespace WindowsFormsApplication1
{
publicpartialclassForm1 : Form
{
public Form1()
{
InitializeComponent();
}
privatevoid button1_Click(object sender, EventArgs e)
{
SqlConnection sq = newSqlConnection(@"Data Source = .\SQLEXPRESS;
AttachDbFilename = |DataDirectory|\Library.mdf;
Integrated Security = True;
User Instance = True");
SaveFileDialog sfd = newSaveFileDialog();
sfd.Filter = "*.bak|*.bak";
if (sfd.ShowDialog() == DialogResult.OK)
{
SqlCommand com = newSqlCommand("backup database " + Library + " to disk='" + sfd.FileName + "'", sq);
sq.Open();
com.ExecuteNonQuery();
sq.Close();
MessageBox.Show("تهیه نسخه پشتیبان از اطلاعات با موفقیت انجام شد", "پیغام", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
privatevoid button2_Click(object sender, EventArgs e)
{
SqlConnection sq = newSqlConnection(@"Data Source = .\SQLEXPRESS;
AttachDbFilename = |DataDirectory|\Library.mdf;
Integrated Security = True;
User Instance = True");
OpenFileDialog ofd = newOpenFileDialog();
SqlConnection.ClearAllPools(); // برای از بین بردن کانکشن ها از بانک
ofd.Title = "Select Backup file";
ofd.Filter = "*.bak|*.bak";
if (ofd.ShowDialog() == DialogResult.OK)
{
String query = "USE [master]; RESTORE DATABASE [" + Library + "] FROM DISK = N'" + ofd.FileName + " ' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10";
SqlCommand com = newSqlCommand(query, sq);
sq.Open();
com.ExecuteNonQuery();
sq.Close();
MessageBox.Show("بازیابی اطلاعات از پشتیبان با موفقیت انجام شد", "پیغام", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
-
نقل قول: خطا در بکاپ و بازیابی
-
مشکل با بک اپ گیری
سلام دوستان خسته نباشید برای بک اپ گیری با سی شارپ ایا مدل دیتابیسها فرق میکنه منظورم اکسپرس و یا نسخ کامل هست ؟؟؟ اگر کسی از دوستان کد بک اپ و ریستور رو داره با مدلهای مختلف بانک بزاره ممنون میشم
-
نقل قول: مشکل با بک اپ گیری
بکاپ
string bname = DateTime.Now.ToString("yyyyMMddHHmm");
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.AddExtension = true;
saveFileDialog.CheckFileExists = false;
saveFileDialog.CheckPathExists = true;
saveFileDialog.OverwritePrompt = true;
saveFileDialog.FileName = "Backup" + bname;
saveFileDialog.Filter = "Backup File (*.Bak)|*.Bak";
saveFileDialog.DefaultExt = "Bak";
saveFileDialog.RestoreDirectory = true;
saveFileDialog.InitialDirectory = System.Windows.Forms.Application.StartupPath;
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
try
{
this.Refresh();
SqlCommand cmd = new SqlCommand();
cmd.Connection = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\LMS_DB.mdf;Integrated Security=True;Connect Timeout=10;User Instance=True");
cmd.Connection.Open();
string dbname = cmd.Connection.Database;//گرفتن نام دیتابیس
cmd.Connection.Close();
SqlConnection.ClearAllPools();
string query = "BACKUP DATABASE [" + dbname + "] TO DISK ='" + saveFileDialog.FileName + "'";
cmd.Connection = new SqlConnection("Data Source=.\\sqlexpress;Integrated Security=True;Connect Timeout=30;User Instance=True");
cmd.Connection.Open();
cmd.CommandText = query;
cmd.ExecuteNonQuery();
cmd.Connection.Close();
this.Refresh();
progressBar1.PerformStep();
progressBar1.Value = 100;
MessageBox.Show("نسخه پشتيبان به طور كامل ايجاد شد ", "پيام", MessageBoxButtons.OK, MessageBoxIcon.Information);
progressBar1.Value = 0;
}
catch
{
MessageBox.Show("اشكال در اتصال به بانك اطلاعات\nلطفا مجدد تلاش كنيد", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
-
نقل قول: مشکل با بک اپ گیری
ریستور
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.AddExtension = true;
openFileDialog.CheckFileExists = false;
openFileDialog.CheckPathExists = true;
openFileDialog.Filter = "Backup File (*.Bak)|*.Bak";
openFileDialog.DefaultExt = "Bak";
openFileDialog.RestoreDirectory = true;
openFileDialog.InitialDirectory = System.Windows.Forms.Application.StartupPath;
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
try
{
this.Refresh();
SqlCommand cmd = new SqlCommand();
cmd.Connection = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\LMS_DB.mdf;Integrated Security=True;Connect Timeout=10;User Instance=True");
cmd.Connection.Open();
string dbname = cmd.Connection.Database;
cmd.Connection.Close();
string query = "ALTER DATABASE [" + dbname + "] SET SINGLE_USER WITH ROLLBACK IMMEDIATE ;RESTORE DATABASE [" + dbname + "] FROM DISK = '" + openFileDialog.FileName + "';ALTER DATABASE [" + dbname + "] SET MULTI_USER ;";
cmd.Connection = new SqlConnection("Data Source=.\\sqlexpress;Integrated Security=True;Connect Timeout=30;User Instance=True");
cmd.Connection.Open();
cmd.CommandText = query;
cmd.ExecuteNonQuery();
cmd.Connection.Close();
progressBar2.PerformStep();
progressBar2.Value = 100;
MessageBox.Show("نسخه پشتيبان به طور كامل بازيابي شد ", "پيام", MessageBoxButtons.OK, MessageBoxIcon.Information);
progressBar2.Value = 0;
}
catch
{
MessageBox.Show("اشكال در اتصال به بانك اطلاعات", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
-
نقل قول: مشکل با بک اپ گیری
این کد نام دیتابیس رو بر اساس تاریخ و زمان ذخیره میکنه و ریستور کردن هم میتونه بر اساس همون تاریخ و زمان باشه
اکسپرس هم بوده اما فکر نکنم تفاوتی داشته باشه
-
نقل قول: مشکل با بک اپ گیری
این کد ها هم واسه پروسس بار هست اگه نخواستی میتونی پاکش کنی
progressBar1.PerformStep();
progressBar1.Value = 100;
progressBar2.Value = 0;
-
بک آپ گیری از دیتابیسی که به SQL SERVER 2008 وصل هست
درود بر همه شما دوستان
چطور می شه با استفاده از کدهای سی شارپ از برنامه ای که دیتابیس اون به
SQL SERVER 2008 متصل هست بک آپ و Restore نوشت؟؟؟
تاکید می کنم با SQL Express رو نمی خوام با دیتابیسی که به SQL SERVER 2008 وصل هست رو می خوام ممنونم می شم دوستان راهنمایی کنن
-
نقل قول: بک آپ گیری از دیتابیسی که به SQL SERVER 2008 وصل هست
سلام
این PROCEDURE رو با SqlCommand در برنامه فراخوانی کن
CREATE PROCEDURE sp_backup
AS
BEGIN
BACKUP DATABASE [YourDatabase] TO DISK = N'C:\YourPathAndFile.bak'
WITH NOFORMAT, NOINIT,
NAME = N'Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
END
GO
نمونه های دیگر و Restore
SQL = @"RESTORE DATABASE MyDataBase TO DISK='d:\MyDATA.BAK'";
Cmd = new SqlCommand(SQL, Conn);
Cmd.ExecuteNonQuery();
Cmd.Dispose();
SQL = @"USE master BACKUP DATABASE MyDataBase TO DISK='d:\MyDATA.BAK'";
Microsoft.SqlServer.Management.Smo.Server smoServer =
new Server(new ServerConnection(server));
Database db = smoServer.Databases['MyDataBase'];
string dbPath = Path.Combine(db.PrimaryFilePath, 'MyDataBase.mdf');
string logPath = Path.Combine(db.PrimaryFilePath, 'MyDataBase_Log.ldf');
Restore restore = new Restore();
BackupDeviceItem deviceItem =
new BackupDeviceItem('d:\MyDATA.BAK', DeviceType.File);
restore.Devices.Add(deviceItem);
restore.Database = backupDatabaseTo;
restore.FileNumber = restoreFileNumber;
restore.Action = RestoreActionType.Database;
restore.ReplaceDatabase = true;
restore.SqlRestore(smoServer);
db = smoServer.Databases['MyDataBase'];
db.SetOnline();
smoServer.Refresh();
db.Refresh();
-
نقل قول: بک آپ گیری از دیتابیسی که به SQL SERVER 2008 وصل هست
این Microsoft.SqlServer.Management.Smo.Server smoServer چی هست؟؟؟ چطوری بشناسونمش به visual studio ؟؟؟؟
-
نقل قول: restore کردن اطلاعات بعد از Backup
درسته قدیمیه ولی چون بدون پاسخ کامل مونده جوابشو میدم.
این اررور وقتی داده میشه که شما در دستور بکاپ یا رستورتون مسیر فایل مربوطه رو نداده باشین یا اشتباه داده باشین
-
1 ضمیمه
نقل قول: restore کردن اطلاعات بعد از Backup
باسلام
بعد از اینکه Backup می گیرم برای restore کردن ی چنین پیغامی رو میده نمیدونم مشکل چیه. لطفا ی راهنمایی کنید.(از SQLServer 2012 و VS 2010 استفاده می کنم)
-
نقل قول: backup and restore در سی شارپ
backup در سی شارپ
من کد نمیخوام از طریق دیگه میخوام از پروژه ای که نوشتم بک آپ بگیرم
-
نقل قول: دکمه پشتیبان و بازیابی
Backup:
private void bbackup_Click(object sender, EventArgs e)
{
String Strbackup1,Strbackup2;
DateTime dteDate;
dteDate = DateTime.Now;
Strbackup2 = Application.StartupPath + @"\backup\" ;
saveFileDialog1.FileName = Strbackup2 ;
saveFileDialog1.InitialDirectory = Strbackup2;
saveFileDialog1.ShowDialog();
textBox1.Text = saveFileDialog1.FileName;
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(@"backup database YOURDB to disk = '" + @textBox1.Text.ToString() + "'");
System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection(DataBase.cn);
cmd.Connection = con ;
con.Open();
cmd.ExecuteNonQuery();
this.Close();
}
-
نقل قول: دکمه پشتیبان و بازیابی
restor :
private void bbackup_Click(object sender, EventArgs e)
{
openFileDialog1.Title = "بازيابي اطلاعات";
openFileDialog1.FileName = "*.bak";
openFileDialog1.InitialDirectory = Application.StartupPath.ToString() + @"\backup\";
openFileDialog1.ShowDialog();
textBox1.Text = openFileDialog1.FileName;
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(@"ALTER DATABASE YOURDB SET SINGLE_USER with ROLLBACK IMMEDIATE; use [master]; RESTORE DATABASE YOURDB FROM disk = '" + @textBox1.Text.ToString() + "' with REPLACE;ALTER DATABASE YOURDB SET MULTI_USER");
cmd.Connection = con;
con.Open();
cmd.ExecuteNonQuery();
this.Close();
}
-
نقل قول: دکمه پشتیبان و بازیابی
ممنون
این کد ها را در کلیک دکمه بگذارم دیگه؟
-
نقل قول: دکمه پشتیبان و بازیابی
نقل قول:
نوشته شده توسط
pooria_googooli
Backup:
private void bbackup_Click(object sender, EventArgs e)
{
String Strbackup1,Strbackup2;
DateTime dteDate;
dteDate = DateTime.Now;
Strbackup2 = Application.StartupPath + @"\backup\" ;
saveFileDialog1.FileName = Strbackup2 ;
saveFileDialog1.InitialDirectory = Strbackup2;
saveFileDialog1.ShowDialog();
textBox1.Text = saveFileDialog1.FileName;
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(@"backup database YOURDB to disk = '" + @textBox1.Text.ToString() + "'");
System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection(DataBase.cn);
cmd.Connection = con ;
con.Open();
cmd.ExecuteNonQuery();
this.Close();
}
از این داره خطا می گیره saveFileDialog1