-
نقل قول: backup گیری از اطلاعات در برنامه
private void button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;Integrated Security=True");
SqlCommand com=new SqlCommand();
com.Connection = con;
con.Open();
com.CommandText="Use master backup database [phonebank] to disk=N'd:\\o'";
com.ExecuteNonQuery();
con.Close();
}
-
نقل قول: backup گیری از اطلاعات در برنامه
این کد بالارو همین الان تست کردم هیچ عیبی هم نداشت
-
مشکل در بکاپ و ریستور
سلام
یک برنامه دارم که بانک اطلاعاتیش sql 2005 هستش و از داخل محیط visual stadio قسمت server explorer مدیریتش میکنم. یعنی sql server 2005 بصورت جدا نصب نکردم.
می خوام از دیتابیسم backup بگیرم و اونو ریستور کنم خیلی از کد هایی که تواین سایت بود را امتحان کردم ولی جواب نداد.
بکاپ میگیره ولی وقتی ریستور میکنم تغییرات به حالت قبل برنمی گرده.
باید چکار کنم؟
-
نقل قول: مشکل در بکاپ و ریستور
backup
"BACKUP DATABASE Clup TO DISK='" + path + "' WITH NOFORMAT, NOINIT, SKIP, NOREWIND, NOUNLOAD, STATS = 10"
restore
@"use master" + (char)13 + @"restore database [clup] from disk =N'" + path + "' with file=1,replace,stats=10"
path همون مسیر
-
نقل قول: مشکل در بکاپ و ریستور
این کد تو رنامه خودم بدون هیچ مشکلی اجرا میشه :
private void ToolStripMenuItemCreatBackUp_Click(object sender, EventArgs e)
{
try
{
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.AddExtension = true;
saveFileDialog.CheckFileExists = false;
saveFileDialog.CheckPathExists = true;
saveFileDialog.OverwritePrompt = true;
saveFileDialog.DereferenceLinks = true;
saveFileDialog.FileName = "Backup";
saveFileDialog.Filter = "Backup File (*.Bak)|*.Bak";
saveFileDialog.DefaultExt = "Bak";
saveFileDialog.RestoreDirectory = true;
saveFileDialog.InitialDirectory = "C:\\";
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
SqlCommand sqlCommand = new SqlCommand();
sqlCommand.Connection = sqlConnection;
sqlCommand.CommandText = "BACKUP DATABASE MontazeriAbbasAbad TO DISK = @Destination WITH FORMAT";
sqlCommand.Parameters.Add("@Destination", SqlDbType.VarChar);
temp = saveFileDialog.FileName;
sqlCommand.Parameters["@Destination"].Value = saveFileDialog.FileName;
if (temp.StartsWith("C:\\"))
{
MessageBox.Show(" . ", telBookName);
saveFileDialog.ShowDialog();
}
else
{
sqlConnection.Open();
this.Cursor = Cursors.WaitCursor;
sqlCommand.ExecuteNonQuery();
MessageBox.Show(" ", telBookName);
}
}
}
catch (Exception)
{
MessageBox.Show(" ", telBookName);
}
}
Restore :
private void ToolStripMenuItemLoadBackUpFile_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.ShowDialog();
if ((openFileDialog1.FileName != "") && (openFileDialog1.FileName != "openFileDialog1"))
{
try
{
string filename = openFileDialog1.FileName;
sqlCommand.Connection = sqlConnection;
sqlCommand.CommandText = "ALTER DATABASE MontazeriAbbasAbad SET SINGLE_USER WITH ROLLBACK IMMEDIATE USE master;"
+ " RESTORE DATABASE MontazeriAbbasAbad FROM DISK =N'" + filename + "' WITH REPLACE ";
sqlCommand.Connection = sqlConnection;
sqlConnection.Open();
this.Cursor = Cursors.WaitCursor;
sqlCommand.ExecuteNonQuery();
sqlCommand.CommandText = " ALTER DATABASE MontazeriAbbasAbad SET MULTI_USER ";
sqlCommand.ExecuteNonQuery();
MessageBox.Show(" ", telBookName);
}
catch
{
MessageBox.Show(" ", telBookName);
}
}
}
-
نقل قول: مشکل در بکاپ و ریستور
دستتون درد نکنه ولی بازم جواب نگرفتم
:متفکر: یک نکته دیگه اینکه حجم فایل دیتابیسم حدود 2.5MB هستش ولی حجم فایل بکاپ حدود 805KB این ممکنه غیرعادی باشه؟
لطفا کمک کنید پروژم همش توموم شده ولی لین قسمتش گیر کردم:گریه:
-
نقل قول: مشکل در بکاپ و ریستور
دستتون درد نکنه خودم تونستم جوابشو پیدا کنم. اینجا میزارم تا بقیه دوستان بتونن استفاده کنن
Backup:
private void btnbackup_Click(object sender, EventArgs e)
{
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.AddExtension = true;
saveFileDialog.CheckFileExists = false;
saveFileDialog.CheckPathExists = true;
saveFileDialog.OverwritePrompt = true;
saveFileDialog.FileName = "Backup" + information.datebackup;
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|\\DBNAME.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();
MessageBox.Show("نسخه پشتيبان به طور كامل ايجاد شد ", "پيام", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch
{
MessageBox.Show("اشكال در اتصال به بانك اطلاعات\nلطفا مجدد تلاش كنيد", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
-------------------------------------------------------------------------
Restor:
private void btnrestor_Click(object sender, EventArgs e)
{
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|\\DBNAME.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();
MessageBox.Show("نسخه پشتيبان به طور كامل بازيابي شد ", "پيام", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch
{
MessageBox.Show("اشكال در اتصال به بانك اطلاعات", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
-
نقل قول: گرفتن نسخه پشتیبان در برنامه
نقل قول:
نوشته شده توسط
iman_lovely666
بايد از دستور بكاپ و ري استور استفاده كني !
يك نمونه برنامه هست برات ميذارم كارتو راه ميندازه !
براي اسكيول 2008 جواب نميده
-
خطا در backup گیری
دوستان من از تمام روشهای که تو این سایت در مورد backup گیری گفته شده استفاده کردم
ولی تمام روشها به این خطا میرسه
فک میکنین مشکل از چی میتونه باشه؟
Cannot open backup device 'C:\b.bak'. Operating system error 5(Access is denied.).
BACKUP DATABASE is terminating abnormally.
-
نقل قول: خطا در backup گیری
کدتون رو بزارید بررسی میکنم
-
نقل قول: خطا در backup گیری
https://barnamenevis.org/showthread.p...8C%D8%B1%DB%8C
من این کد رو رو برنامه ام گذاشته ام
اگه لازم شد خود برنامه رو هم میزارم
-
نقل قول: خطا در backup گیری
نقل قول:
نوشته شده توسط
zahra_no
اونجا پستی از شما نمیبینم
کد رو همینجا آپ کنید
-
نقل قول: خطا در backup گیری
این جا سه روش backup رو گذاشته ام
که از سه روش هم استفاده کردم ولی همان خطا رو میده
private void backup1_Click(object sender, EventArgs e)
{
if (this.saveFileDialog1.ShowDialog() == DialogResult.OK)
{
SqlConnection c = new SqlConnection(@"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=PIM;Data Source=ZAHRA-PC\SQLEXPRESS");
try
{
c.Open();
SqlCommand cm = new SqlCommand(@"BACKUP DATABASE PIM TO DISK ='" + this.saveFileDialog1.FileName + "'", c);
//SqlCommand cm = new SqlCommand(@"USE PIM BACKUP DATABASE PIM TO DISK ='" + this.saveFileDialog1.FileName + "'", c);
cm.ExecuteNonQuery();
c.Close();
MessageBox.Show("پشتیبان گیری با موفقیت انجام شد");
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message);
}
}
}
private void backup2_Click(object sender, EventArgs e)
{
if (this.saveFileDialog1.ShowDialog() == DialogResult.OK)
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = new SqlConnection(@"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=PIM;Data Source=ZAHRA-PC\SQLEXPRESS");
cmd.Connection.Open();
string dbname = cmd.Connection.Database;//
DatabaseAssistant.DbAssistant db = new DatabaseAssistant.DbAssistant(@"ZAHRA-PC\SQLEXPRESS", dbname);
db.PerformBackUp(this.saveFileDialog1.FileName, DatabaseAssistant.AnimationStyle.Style1);
}
}
private void backup3_Click(object sender, EventArgs e)
{
if (this.saveFileDialog1.ShowDialog() == DialogResult.OK)
{
this.server = new SQLServer2Class();
this.backup = new Backup2Class();
this.server.LoginSecure = true;
this.server.Connect(@"ZAHRA-PC\SQLEXPRESS", Missing.Value, Missing.Value);
database = (Database2)server.Databases.Item("PIM", Missing.Value);
backup.Database = database.Name;
backup.Files = this.saveFileDialog1.FileName;
backup.SQLBackup(server);
server.DisConnect();
backup = null;
server = null;
}
}
-
نقل قول: خطا در backup گیری
شرمنده برق رفت
چشم بررسی میکنم
-
نقل قول: خطا در backup گیری
نقل قول:
نوشته شده توسط
zahra_no
این جا سه روش backup رو گذاشته ام
که از سه روش هم استفاده کردم ولی همان خطا رو میده
private void backup1_Click(object sender, EventArgs e)
{
if (this.saveFileDialog1.ShowDialog() == DialogResult.OK)
{
SqlConnection c = new SqlConnection(@"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=PIM;Data Source=ZAHRA-PC\SQLEXPRESS");
try
{
c.Open();
SqlCommand cm = new SqlCommand(@"BACKUP DATABASE PIM TO DISK ='" + this.saveFileDialog1.FileName + "'", c);
//SqlCommand cm = new SqlCommand(@"USE PIM BACKUP DATABASE PIM TO DISK ='" + this.saveFileDialog1.FileName + "'", c);
cm.ExecuteNonQuery();
c.Close();
MessageBox.Show("پشتیبان گیری با موفقیت انجام شد");
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message);
}
}
}
private void backup2_Click(object sender, EventArgs e)
{
if (this.saveFileDialog1.ShowDialog() == DialogResult.OK)
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = new SqlConnection(@"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=PIM;Data Source=ZAHRA-PC\SQLEXPRESS");
cmd.Connection.Open();
string dbname = cmd.Connection.Database;//
DatabaseAssistant.DbAssistant db = new DatabaseAssistant.DbAssistant(@"ZAHRA-PC\SQLEXPRESS", dbname);
db.PerformBackUp(this.saveFileDialog1.FileName, DatabaseAssistant.AnimationStyle.Style1);
}
}
private void backup3_Click(object sender, EventArgs e)
{
if (this.saveFileDialog1.ShowDialog() == DialogResult.OK)
{
this.server = new SQLServer2Class();
this.backup = new Backup2Class();
this.server.LoginSecure = true;
this.server.Connect(@"ZAHRA-PC\SQLEXPRESS", Missing.Value, Missing.Value);
database = (Database2)server.Databases.Item("PIM", Missing.Value);
backup.Database = database.Name;
backup.Files = this.saveFileDialog1.FileName;
backup.SQLBackup(server);
server.DisConnect();
backup = null;
server = null;
}
}
تو اولی Initial Catalog=PIM رو بردارید چون موقع بکاپ گیری دیتابیس جاری باید مستر باشه
درضمن تو روت درایو ذخیره نکنید یه مسیر عادی مثل C:\backup
-
نقل قول: خطا در backup گیری
تو دومی از DatabaseAssistant استفاده کردید که من ندارمش
-
نقل قول: خطا در backup گیری
شما همون متد اول رو استفاده کنید مورد حله
فقط به دیتابیس مستر اشاره کنید تو کانکشن استرینگ یا اصلا دیتاسورس رو نذارید.
موفق باشید.
-
1 ضمیمه
ریستور فایل bak
سلام
من نیاز دارم یه نفر برام این فایل را ریستور کنه
ضمیمه 75346
کسی الان میتونه ریستور کنه برام؟
خیلی ممنون میشم اگه ریستورش کنید
سپاس
-
نقل قول: ریستور فایل bak
نقل قول:
نوشته شده توسط
mehrdad1991h
سلام
من نیاز دارم یه نفر برام این فایل را ریستور کنه
ضمیمه 75346
کسی الان میتونه ریستور کنه برام؟
خیلی ممنون میشم اگه ریستورش کنید
سپاس
کد restore:
public string RestoreDB(string StrFileName)
{
try
{
string command = "USE MASTER ALTER DATABASE AminLibraryDB SET OFFLINE WITH ROLLBACK IMMEDIATE RESTORE DATABASE AminLibraryDB FROM DISK='" + StrFileName +
"' WITH REPLACE ,RESTART ALTER DATABASE AminLibraryDB SET ONLINE WITH ROLLBACK IMMEDIATE";
SqlCommand oCommand = null;
if (con.State != ConnectionState.Open)
con.Open();
oCommand = new SqlCommand(command, con);
oCommand.ExecuteNonQuery();
Result = "Success";
}
catch (Exception ex)
{
Result = ex.ToString();
}
finally
{
con.Close();
}
return Result;
}
-
نقل قول: چه طور میشه از دیتابیس Add شده به پروژه(SQlExpress) بکاپ (Backup) گرفت؟
نقل قول:
نوشته شده توسط
zayens
دستور را عین مال شما کردم
بازم ارور فرقی نکرد
کلمات زیر را در گوگل سرچ کردم
Invalid column name 'is_compressed'.
Invalid column name 'compressed_backup_size'
تو بعضی سایتهای خارجی گفته بودن بدلیل ورژن دیتابیس هست.
من از sqlExpress2008 استفاده میکنم.
چون دیتابیسم روی SQL2008 ساخته شده بود و VS هم اکسپرس2005 را ساپورت میکنه
منم اجبارا اکسپرس 2008 را جداگانه نصب کردم که VS بتونه دیتابیسم را به پروژم اتچ کنه
کسی میتونه بگه الآن باید چیکار کنم؟:گریه:
من هم دقیقاً این مشکل را دارم کسی از دوستان میتونه راهنمایی کنه ؟
با تشکر از دوستان
-
نقل قول: چه طور میشه از دیتابیس Add شده به پروژه(SQlExpress) بکاپ (Backup) گرفت؟
نقل قول:
نوشته شده توسط
alirezamli
من هم دقیقاً این مشکل را دارم کسی از دوستان میتونه راهنمایی کنه ؟
با تشکر از دوستان
تو پروفایلم بگرد شاید یه چیزایی گیرت بیاد
-
نقل قول: چه طور میشه از دیتابیس Add شده به پروژه(SQlExpress) بکاپ (Backup) گرفت؟
دوست عزیز گشتم ولی چیزی دستگیرم نشد اگر لینکش را بذارید ممنون میشم
-
نقل قول: چه طور میشه از دیتابیس Add شده به پروژه(SQlExpress) بکاپ (Backup) گرفت؟
نقل قول:
نوشته شده توسط
alirezamli
دوست عزیز گشتم ولی چیزی دستگیرم نشد اگر لینکش را بذارید ممنون میشم
من خیلی وقته سایت نمیآم برنامه نویسی هم زیاد نمیکنم دقیق بگید مشکلتان چیه ولی برای بکاپ و ریستور کد تو پروفایلم هست ولی لینکشو نمیدونم
-
1 ضمیمه
نقل قول: ریستور فایل bak
دوست عزیز دیتابیس رو ریستور کردم موردی نداشت ، فقط دقت کنید دوتا بکاپ رو شامل میشه
بنده آخریشو ریستور کردم
کدتون هم بدون مورد اجرا میشه
مطمئن هستید تنظیمات SQL SERVER شما با اونی که تو کانکشن استرینگ دادید برابره ؟
-
نقل قول: ریستور فایل bak
بله یکسان هستند
و این خوب منم همینا ریستور میکنم ولی برنامه نمیشناسدش
برنامه را اجرا نمیکنه قبل از ورود به صفحه لاگین میگه ارتباط با پایگاه داده برقرار نشد
-
نقل قول: ریستور فایل bak
یعنی شما الان این دیتابیسی رو که بنده فرستادم اتچ کردید
و SQL SERVER با اینستنس SQLEXPRESS نصب شده و Authentication هم درسته
اگه همه اینا درسته کد خطا رو بیزحمت بذارید (البته کامل با Message و StackTrace)
-
مشکل در بکاپ گیری
سلام
من دو button دارم که با یکی می خوام عمل بکاپ را انجام بدهد و با دیگری عمل بازیابی از برنامه نویسان خواهش می کنم کمکم کنن
من این کد را نوشتم ولی نمی دونم چرا بکاپ نمیگیره
private void button1_Click(object sender, EventArgs e)
{
try
{
saveFileDialog1.DefaultExt = "BAK";
saveFileDialog1.FileName = "BackupFile" + DateTime.Now.ToShortDateString();
saveFileDialog1.Filter = @"SQL Backup files (*.BAK) |*.BAK|All files (*.*) |*.*";
saveFileDialog1.FilterIndex = 1;
saveFileDialog1.OverwritePrompt = true;
saveFileDialog1.Title = "Backup SQL File";
string strfilename;
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
strfilename = saveFileDialog1.FileName;
string command = @"BACKUP DATABASE brt_Data TO DISK='" + strfilename + "'";
con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\brt_Data.mdf;Integrated Security=True;User Instance=True");
if (con.State != ConnectionState.Open)
con.Open();
SqlCommand ocammand = new SqlCommand(command, con);
ocammand.ExecuteNonQuery();
MessageBox.Show("complate");
}
}
catch
{
MessageBox.Show("error");
}
}
-
نقل قول: مشکل در بکاپ گیری
با کد زیر میتونی بک آپ بگیری :
String Strbackup1,Strbackup2;
DateTime dteDate;
dteDate = DateTime.Now;
Strbackup1 = "backup.bak";
Strbackup2 = Application.StartupPath + @"\backup\" ;
saveFileDialog1.FileName = Strbackup2 + Strbackup1 ;
saveFileDialog1.InitialDirectory = Strbackup2;
saveFileDialog1.ShowDialog();
textBox1.Text = saveFileDialog1.FileName;
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(@"backup database tel to disk = '" + @textBox1.Text.ToString() + "'");
//System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(@"backup database AccSlick1 to disk = 'd:\a.bak'");
System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection(DataBase.cn);
cmd.Connection = con ;
con.Open();
cmd.ExecuteNonQuery();
this.Close();
اینم کد بازیابی اطلاعات :
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 AccSlick1 SET SINGLE_USER with ROLLBACK IMMEDIATE; RESTORE DATABASE AccSlick1 FROM disk = " + @textBox1.Text.ToString() + " with REPLACE;ALTER DATABASE AccSlick1 SET MULTI_USER");
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(@"ALTER DATABASE tel SET SINGLE_USER with ROLLBACK IMMEDIATE; use [master]; RESTORE DATABASE tel FROM disk = '" + @textBox1.Text.ToString() + "' with REPLACE;ALTER DATABASE tel SET MULTI_USER");
//System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(@"use [master]; RESTORE DATABASE AccSlick1 FROM disk = 'G:\\a.bak' with REPLACE;");
//System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection("Data Source=.;Initial Catalog=master;user=sa;PWD=1234");
System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection(DataBase.cn);
cmd.Connection = con;
con.Open();
cmd.ExecuteNonQuery();
this.Close();
-
نقل قول: مشکل در بکاپ گیری
نقل قول:
نوشته شده توسط
pooria_googooli
با کد زیر میتونی بک آپ بگیری :
String Strbackup1,Strbackup2;
DateTime dteDate;
dteDate = DateTime.Now;
Strbackup1 = "backup.bak";
Strbackup2 = Application.StartupPath + @"\backup\" ;
saveFileDialog1.FileName = Strbackup2 + Strbackup1 ;
saveFileDialog1.InitialDirectory = Strbackup2;
saveFileDialog1.ShowDialog();
textBox1.Text = saveFileDialog1.FileName;
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(@"backup database tel to disk = '" + @textBox1.Text.ToString() + "'");
//System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(@"backup database AccSlick1 to disk = 'd:\a.bak'");
System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection(DataBase.cn);
cmd.Connection = con ;
con.Open();
cmd.ExecuteNonQuery();
this.Close();
اینم کد بازیابی اطلاعات :
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 AccSlick1 SET SINGLE_USER with ROLLBACK IMMEDIATE; RESTORE DATABASE AccSlick1 FROM disk = " + @textBox1.Text.ToString() + " with REPLACE;ALTER DATABASE AccSlick1 SET MULTI_USER");
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(@"ALTER DATABASE tel SET SINGLE_USER with ROLLBACK IMMEDIATE; use [master]; RESTORE DATABASE tel FROM disk = '" + @textBox1.Text.ToString() + "' with REPLACE;ALTER DATABASE tel SET MULTI_USER");
//System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(@"use [master]; RESTORE DATABASE AccSlick1 FROM disk = 'G:\\a.bak' with REPLACE;");
//System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection("Data Source=.;Initial Catalog=master;user=sa;PWD=1234");
System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection(DataBase.cn);
cmd.Connection = con;
con.Open();
cmd.ExecuteNonQuery();
this.Close();
با این کد هم من نتیجه نگرفتم کسی کد بهتری نداره که جواب داده باشه
-
نقل قول: مشکل در بکاپ گیری
string command = @"BACKUP DATABASE [" + Application.StartupPath + "\\photograph.mdf] TO DISK = '" + Application.StartupPath + "\\backup.bak' WITH NOFORMAT, NOINIT, NAME = N'accounting-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10";
this.Cursor = Cursors.WaitCursor;
SqlCommand oCommand = null;
SqlConnection oConnection = null;
string scnn = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\photograph.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
oConnection = new SqlConnection(scnn);
if (oConnection.State != ConnectionState.Open)
oConnection.Open();
oCommand = new SqlCommand(command, oConnection);
oCommand.ExecuteNonQuery();
this.Cursor = Cursors.Default;
oConnection.Close();
MessageBox.Show("پشتیبانی از اطلاعات با موفقیت انجام شد");
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\photograph.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
con.Open();
string s1 = "ALTER DATABASE [" + Application.StartupPath + "\\photograph.mdf] SET OFFLINE WITH ROLLBACK IMMEDIATE";
string s2 = "ALTER DATABASE [" + Application.StartupPath + "\\photograph.mdf] SET MULTI_USER";
string query = "RESTORE DATABASE [" + Application.StartupPath + "\\photograph.mdf] FROM DISK ='" + Application.StartupPath + "\\backup.bak' WITH RECOVERY,REPLACE";
SqlCommand cmd = new SqlCommand();
cmd.CommandText = s1;
cmd.Connection = con;
cmd.ExecuteNonQuery();
cmd.CommandText = s2;
cmd.Connection = con;
cmd.ExecuteNonQuery();
cmd.CommandText = query;
cmd.Connection = con;
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("بازگردانی اطلاعات با موفقیت انجام شد");
-
نقل قول: مشکل در بکاپ گیری
اگر جواب نگرفتید پیغامی که به شما میده رو در اینجا قرار دهید
-
مشکل در ریستور کردن بکاپ از طریق برنامه ...
با سلام ...
وقتی از طریق برنامه ایی که نوشتم به دیتا بیس مورد نظر وصل می شم؛ می تونم از همون دیتا بیس بکاپ بگیرم اما وقتی می خوام که اون رو ریستور کنم، ارور می ده؛ فکر کنم به خاطر اینه که می گه فایل هایی که می خوا برگردونی در حال حاظر موجوده؛ به خاطر همین می خوام که اول دیتا بیس حذف بشه و بعد ریستوری بشه که در این صورت هم ارور می ده که دیتا بیس در حال استفاده است یعنی برنامه داره از اون استفاده می کنه.
حالا چیکار کنم که وقتی برنامه در حال اجراست و داره از دیتا بیس استفاده می کنه بشه بکاپ همون دیتا بیس رو ریستور کرد..
ممنون ...
-
نقل قول: مشکل در ریستور کردن بکاپ از طریق برنامه ...
كانكشن هايي كه تو برنامه ايجاد كردي رو Close كن يا بهتر از اون مساوي Null قرار بده تا ارتباط قطع بشه البته اگه MultiUser باشه بايد همه ارتباط ها از بين برن .... اينطوري فك كنم بشه
-
نقل قول: مشکل در ریستور کردن بکاپ از طریق برنامه ...
کانکشنهای من همش close هستند.
راه دیگه چیه؟
-
نقل قول: مشکل در ریستور کردن بکاپ از طریق برنامه ...
کانکشن رو Closeکردم ولی نشد.
-
نقل قول: مشکل در ریستور کردن بکاپ از طریق برنامه ...
تست كردم درست كار كرد . مطمئن بشيد كه Close هست .
System.IO.File.Delete("DB.mdb");
-
نقل قول: مشکل در ریستور کردن بکاپ از طریق برنامه ...
سلام داداش من امروز کد restoreرو نوشتم ربطی به این که بانک وجود داشته باشه نداشت برات میزام
امتحان کن!!
string cs = "Integrated Security=SSPI;Persist Security Info=False;Initial Catalog='master';Data Source=ALIREZA-PC";
string cm = @"RESTORE DATABASE [EDB] FROM DISK ='c:\users\alireza\desktop\edb.bak'";
SqlConnection con = newSqlConnection(cs);
con.Open();
SqlCommand cmd = newSqlCommand(cm, con);
cmd.ExecuteNonQuery();
con.Close();
-
نقل قول: مشکل در ریستور کردن بکاپ از طریق برنامه ...
نقل قول:
نوشته شده توسط
reza_mostafavi63
تست كردم درست كار كرد . مطمئن بشيد كه Close هست .
System.IO.File.Delete("DB.mdb");
سلام
دوست عزیز درست کار نمیکنه
منم همین مشکل رو دارم
تا وقتی برنامه بسته نشه اجازه دسترسی به دیتابیس وجود نداره
-
نقل قول: مشکل در ریستور کردن بکاپ از طریق برنامه ...
نقل قول:
نوشته شده توسط
AliSaeedi_v
سلام داداش من امروز کد restoreرو نوشتم ربطی به این که بانک وجود داشته باشه نداشت برات میزام
امتحان کن!!
string cs = "Integrated Security=SSPI;Persist Security Info=False;Initial Catalog='master';Data Source=ALIREZA-PC";
string cm =@"RESTORE DATABASE [EDB] FROM DISK ='c:\users\alireza\desktop\edb.bak'";
SqlConnection con = newSqlConnection(cs);
con.Open();
SqlCommand cmd = newSqlCommand(cm, con);
cmd.ExecuteNonQuery();
con.Close();
واسه دیتابیس اکسس چی؟
-
نقل قول: مشکل در ریستور کردن بکاپ از طریق برنامه ...
زمانی که برای restore کردن دیتابیس به sql وصل میشی نام دیتابیس رو چی میزنی؟ همون دیتابیس خودتو؟ یا master رو؟
اگه master رو بزنی کار میکنه مگر اینکه یا sql بازه و توش دیتابیس بازه و یا کاربر دیگه ای داره کار میکنه مشکل سوم هم اینه که ویژوالت بازه و کانکشن به sql زده و باز مونده با exe برنامه کارکن ویژوال رو ببند چارمی دیگه وجود نداره:لبخندساده:
اکسس هم که یه فایله که جایگزین میکنی مثل sql سرویسی نداره که یاز نگه داره