-
نقل قول: نسخه پشتیبان
سلام
من این کد رو گذاشتم و جواب هم گرفتم:
if (MessageBox.Show("آیا می خواهید از بانک اطلاعاتی پشتیبان گیری نمایید؟", "حراست همگام", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
string strFileName = string.Empty;
saveFileDialog1.Filter = @"sql backup file (*.bak) | *.bak|all files (*.*) |*.*";
saveFileDialog1.FilterIndex = 1;
saveFileDialog1.Title = "ذخیره ساری فایل پشتیبان";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
Application.DoEvents();
strFileName = saveFileDialog1.FileName;
SqlConnection con = newSqlConnection();
con.ConnectionString = "Data Source=.;Initial Catalog=quran;Integrated Security=True";
SqlCommand com = newSqlCommand();
try
{
con.Open();
string query = "BACKUP DATABASE quran TO DISK = '" + strFileName + "'";
com.CommandText = query;
com.Connection = con;
com.ExecuteNonQuery();
con.Close();
MessageBox.Show("پشتیبان گیری به درستی انجام شد");
}
catch
{
MessageBox.Show("اشکال در ارتباط با بانک اطلاعاتی");
}
}
}
-
نقل قول: نسخه پشتیبان
-
نقل قول: نسخه پشتیبان
Could not locate entry in sysdatabases for database 'mydbajance'. No entry found with that name. Make sure that the name is entered correctly.
BACKUP DATABASE is terminating abnormally
دوستان من هر كار ميكنم باز اين ارورو ميده
-
نقل قول: نسخه پشتیبان
if (saveFileDialog_backup.ShowDialog() == DialogResult.OK)
{
string command = @"BACKUP DATABASE [" + Application.StartupPath + "\\sodour.mdf] TO DISK = N'"+saveFileDialog_backup.FileName+"' WITH FORMAT, INIT, NAME = N'accounting-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10";
this.Cursor = Cursors.WaitCursor;
SqlCommand oCommand = null;
if (objconnection.State != ConnectionState.Open)
objconnection.Open();
oCommand = new SqlCommand(command, objconnection);
oCommand.ExecuteNonQuery();
this.Cursor = Cursors.Default;
objconnection.Close();
FarsiMessageBox.FMessageBox.Show("فابل پشتیبان ذخیره شد", "", FarsiMessageBox.FMessageBoxIcons.Information, 2000);
oCommand.Dispose();
}
این کد رو داره استفاده میکنم،یه تستی بکن (دیتابیس من تو پوشه برنامم هست بخاطر همین از Application.StartupPath استفاده کردم)
البته کد شما اشکالی نداره فقط یه سوال : نام دیتابیس شما mydbajance اینه ولی در دستور بکاپ از نام database1 استفاده کردین،چجوریاست؟؟:متفکر:
-
نقل قول: نسخه پشتیبان
توي پروفايلم بگرديد يه چيزهايي پيداميشه
-
نقل قول: نسخه پشتیبان
ممنون حالا كاراي شما هم تست مي كنم اون Database1 هم واسه اينه كه يه ديبي ديگه هم ادد كردم كه تست كنم يادم رفته بود درست كنم اخه خيلي عجيبه در ظاهر همه چيز درسته ولي كار نميكنه
-
چه طور میشه از دیتابیس Add شده به پروژه(SQlExpress) بکاپ (Backup) گرفت؟
من کلی جستجو کردم و کدهای زیر دستگیرم شد پس لطفا از نمونه کدهای مسخره ی زیر استفاده نکنین چون هیچ کدوم به دردم نخورد.
در واقع همه ی اینها(به غیر از آخری) برای بکاپ گیری از دیتابیسی است که به sql Server اتچ شده نه به پروژه ی خودمون
query = "BACKUP DATABASE dbName TO DISK = N'E:\\aa.bak' WITH NOFORMAT, NOINIT, NAME = N'cc', SKIP, NOREWIND, NOUNLOAD, STATS = 10";
یا
query = "BACKUP DATABASE 'C:\\dbName.MDF' TO DISK = N'E:\\dd.bak' WITH NOFORMAT, NOINIT, NAME = N'cc', SKIP, NOREWIND, NOUNLOAD, STATS = 10";
یا
"BACKUP DATABASE X TO DISK ='" + save_back_up + "'";
یا
"BACKUP DATABASE [C:\\dbName.MDF] TO DISK = N'E:\\backup_db.BAK'";
تا این که کد مورد نظر را پیدا کردم که برای بکاپ گیری از دیتابیس Attach شده به برنامه استفاده میشه
cmd.CommandText = @"ALTER DATABASE [C:\Users\zayens\Documents\Visual Studio 2008\Projects\RESTORANS\RESTORANS\bin\Debug\DBREST ORANS.MDF] SET read_write";
کد بالا 100% کار میکنه. اما حالا سوال اینجاست که وقتی برنامه را در سیستم مقصد نصب میکنم آدرس ها (.......C:\Users\zayens\Documents) عوض میشه و قطعا کار نمیکنه
به جای آدرس بالا کسی روشی سراغ داره؟
ممنون
-
نقل قول: چه طور میشه از دیتابیس Add شده به پروژه(SQlExpress) بکاپ (Backup) گرفت؟
نقل قول:
پس لطفا از نمونه کدهای مسخره ی زیر استفاده نکنین چون هیچ کدوم به دردم نخورد.
تو برنامه شما کارنکرده دلیل بر مسخره بودن اونا نمیشه...
این کد رو داره استفاده میکنم،با اکسپرس هم کار میکنه، دیتابیس هم به برنامه اتچ شده و در bin>debug برنامه قرار داره : (درواقع اصلاح شده کد دومی که گذاشتید با فرمت بکاپ قبلی)
if (saveFileDialog_backup.ShowDialog() == DialogResult.OK)
{
string command = @"BACKUP DATABASE [" + Application.StartupPath + "\\sodour.mdf] TO DISK = N'"+saveFileDialog_backup.FileName+"' WITH FORMAT, INIT, NAME = N'accounting-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10";
this.Cursor = Cursors.WaitCursor;
SqlCommand oCommand = null;
if (objconnection.State != ConnectionState.Open)
objconnection.Open();
oCommand = new SqlCommand(command, objconnection);
oCommand.ExecuteNonQuery();
this.Cursor = Cursors.Default;
objconnection.Close();
FarsiMessageBox.FMessageBox.Show("فابل پشتیبان ذخیره شد", "", FarsiMessageBox.FMessageBoxIcons.Information, 2000);
oCommand.Dispose();
}
اینم رستورش که کار هم میکنه :
objconnection.Open();
if (openFileDialog_restore.ShowDialog() == DialogResult.OK)
if (openFileDialog_restore.FileName.EndsWith(".bak") == true)
{
string s1 = "ALTER DATABASE [" + Application.StartupPath + "\\sodour.mdf] SET OFFLINE WITH ROLLBACK IMMEDIATE";
string s2 = "ALTER DATABASE [" + Application.StartupPath + "\\sodour.mdf] SET MULTI_USER";
string query = "RESTORE DATABASE [" + Application.StartupPath + "\\sodour.mdf] FROM DISK ='" + openFileDialog_restore.FileName + "' WITH RECOVERY,REPLACE";
SqlCommand cmd = new SqlCommand();
cmd.CommandText = s1;
cmd.Connection = objconnection;
cmd.ExecuteNonQuery();
cmd.CommandText = s2;
cmd.Connection = objconnection;
cmd.ExecuteNonQuery();
cmd.CommandText = query;
cmd.Connection = objconnection;
cmd.ExecuteNonQuery();
cmd.Dispose();
Application.Restart();
}
else
FarsiMessageBox.FMessageBox.Show("فایل با پسوند .bak انتخاب کنید", "خطا", FarsiMessageBox.FMessageBoxButtons.OK, FarsiMessageBox.FMessageBoxIcons.Error, FarsiMessageBox.FMessageBoxDefaultButtons.Button3) ;
هردو رو در سیستمی که برنامه توش نصبه تست کردم و کار میکنه...
-
نقل قول: چه طور میشه از دیتابیس Add شده به پروژه(SQlExpress) بکاپ (Backup) گرفت؟
اولین کدتون را امتحان کردم
البته کد زیر را هم بهش اضافه کردم
objconnection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\DBRESTORANS.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;");
بعد از دادن آدرس مورد نظر و نام دلخواه یه فایل بکاپ ایجاد میشه
اما یه مشکلاتی داره
1- هیچ پسوندی نداره(که البته نمیدونم باید داشته باشه یا نه)
2- بعد از ایجاد بکاپ برنامه ارور میده
ارور زیر را داد
Invalid column name 'is_compressed'.
Invalid column name 'compressed_backup_size'.
Could not insert a backup or restore history/detai
l record in the msdb database. This may
indicate a problem with the msdb database.
The backup/restore operation was still successful.
Processed 272 pages for database
'C:\Users\zayens\Documents\Visual Studio 2008\Projects\RESTORANS\RESTORANS\bin\Debug
\DBRESTORANS.mdf', file 'RESTAURANT' on file 1.
Processed 1 pages for database
'C:\Users\zayens\Documents\Visual Studio 2008\Projects\RESTORANS\RESTORANS\bin\Debug\
DBRESTORANS.mdf', file 'RESTAURANT_log' on file 1.
BACKUP DATABASE successfully processed
273 pages in 0.236 seconds (9.037 MB/sec).
-
1 ضمیمه
نقل قول: چه طور میشه از دیتابیس Add شده به پروژه(SQlExpress) بکاپ (Backup) گرفت؟
نقل قول:
1- هیچ پسوندی نداره(که البته نمیدونم باید داشته باشه یا نه)
باید داشته باشه،پسوندش توسط savefileDialog انتخاب میشه(عکس)
خطای دوم احتمالا واسه همینه،تست کنین..
-
نقل قول: چه طور میشه از دیتابیس Add شده به پروژه(SQlExpress) بکاپ (Backup) گرفت؟
نقل قول:
نوشته شده توسط
حجتی نیا
باید داشته باشه،پسوندش توسط savefileDialog انتخاب میشه(عکس)
خطای دوم احتمالا واسه همینه،تست کنین..
پسوند درست شد ولی خطا همچنان باقی است
این کد منه ببینید آیا مشکلی توش هست؟
private void btnSaveBakup_Click(object sender, EventArgs e)
{
objconnection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\DBRESTORANS.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;");
if (saveFileDialog_backup.ShowDialog() == DialogResult.OK)
{
string command = "BACKUP DATABASE [" + Application.StartupPath + "\\DBRESTORANS.mdf] TO DISK = N'" + saveFileDialog_backup.FileName + "' WITH FORMAT, INIT";
this.Cursor = Cursors.WaitCursor;
SqlCommand oCommand = null;
if (objconnection.State == ConnectionState.Closed)
objconnection.Open();
oCommand = new SqlCommand(command, objconnection);
oCommand.ExecuteNonQuery();
this.Cursor = Cursors.Default;
objconnection.Close();
oCommand.Dispose();
}
}
-
نقل قول: چه طور میشه از دیتابیس Add شده به پروژه(SQlExpress) بکاپ (Backup) گرفت؟
این هم کد دکمه ی restore
private void btnRestore_Click_1(object sender, EventArgs e)
{
objconnection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\DBRESTORANS.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;");
objconnection.Open();
if (openFileDialog_restore.ShowDialog() == DialogResult.OK)
if (openFileDialog_restore.FileName.EndsWith(".bak") == true)
{
string s1 = "ALTER DATABASE [" + Application.StartupPath + "\\DBRESTORANS.mdf] SET OFFLINE WITH ROLLBACK IMMEDIATE";
string s2 = "ALTER DATABASE [" + Application.StartupPath + "\\DBRESTORANS.mdf] SET MULTI_USER";
string query = "RESTORE DATABASE [" + Application.StartupPath + "\\DBRESTORANS.mdf] FROM DISK ='" + openFileDialog_restore.FileName + "' WITH RECOVERY,REPLACE";
SqlCommand cmd = new SqlCommand();
cmd.CommandText = s1;
cmd.Connection = objconnection;
cmd.ExecuteNonQuery();
cmd.CommandText = s2;
cmd.Connection = objconnection;
cmd.ExecuteNonQuery();
cmd.CommandText = query;
cmd.Connection = objconnection;
cmd.ExecuteNonQuery();
cmd.Dispose();
Application.Restart();
}
else
MessageBox.Show(" \n ");
}
این کد هم در قسمت ;()cmd.ExecuteNonQuery اروری مثل ارور قبل را میده:
ERROR
Invalid column name 'is_compressed'.
Invalid column name 'compressed_backup_size'.
Could not insert a backup or restore history/detail
record in the msdb database.
This may indicate a problem with the msdb database.
The backup/restore operation was still successful.
Processed 272 pages for database
'C:\Users\zayens\Documents\Visual Studio 2008
\Projects\RESTORANS\RESTORANS\bin\Debug\
DBRESTORANS.mdf', file 'RESTAURANT' on file 1.
Processed 1 pages for database
'C:\Users\zayens\Documents\Visual Studio 2008
\Projects\RESTORANS\RESTORANS\bin\Debug
\DBRESTORANS.mdf', file 'RESTAURANT_log' on file 1.
RESTORE DATABASE successfully processed
273 pages in 0.248 seconds (8.600 MB/sec)
-
نقل قول: چه طور میشه از دیتابیس Add شده به پروژه(SQlExpress) بکاپ (Backup) گرفت؟
نقل قول:
این کد منه ببینید آیا مشکلی توش هست؟
درقسمت بکاپ، دستور اونو کامل بنویس همونجوری من نوشتم...
-
نقل قول: چه طور میشه از دیتابیس Add شده به پروژه(SQlExpress) بکاپ (Backup) گرفت؟
دستور را عین مال شما کردم
بازم ارور فرقی نکرد
کلمات زیر را در گوگل سرچ کردم
Invalid column name 'is_compressed'.
Invalid column name 'compressed_backup_size'
تو بعضی سایتهای خارجی گفته بودن بدلیل ورژن دیتابیس هست.
من از sqlExpress2008 استفاده میکنم.
چون دیتابیسم روی SQL2008 ساخته شده بود و VS هم اکسپرس2005 را ساپورت میکنه
منم اجبارا اکسپرس 2008 را جداگانه نصب کردم که VS بتونه دیتابیسم را به پروژم اتچ کنه
کسی میتونه بگه الآن باید چیکار کنم؟:گریه:
-
گرفتن نسخه پشتیبان در برنامه
با سلام
میخواستم بدونم که طوری میشه از اطلاعات بانکم توی برنامه یه backup بگیریم و بتونم همون backup رو توی برنامه بازیابی کنم.
با تشکر
-
2 ضمیمه
نقل قول: گرفتن نسخه پشتیبان در برنامه
بايد از دستور بكاپ و ري استور استفاده كني !
يك نمونه برنامه هست برات ميذارم كارتو راه ميندازه !
-
نقل قول: گرفتن نسخه پشتیبان در برنامه
دستت دردنکنه مهندس
--------------------
نقل قول:
نوشته شده توسط
caspiansea
دستت دردنکنه مهندس
راستی اگه اطلاعاتو برگردونم اطلاعات قبلی که توی بانکه چی می شه؟؟؟؟؟؟؟؟؟؟از بین که نمیره؟؟؟؟؟؟؟؟؟؟
-
نقل قول: گرفتن نسخه پشتیبان در برنامه
وقتی شما اطلاعاتت را ریستور میکنی جای اطلاعات قبلی می شینه .پس اگر واست مهمه زود به زود بکاپ بگیر
-
نقل قول: backup گیری از اطلاعات در برنامه
سلام
هنگامی که از دستور Bakup استفاده می کنم در اجرا خطائی مبنی بر نبود نام بانک ظاهر می شود ضمن اینکه بانک من از نوع َAttached درSQLExpress است
-
نقل قول: backup گیری از اطلاعات در برنامه
با سلام
کدی که مینویسید رو بذارید تا ببینیم اشکال از کجاست.
موفق باشید
-
نقل قول: 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("بازگردانی اطلاعات با موفقیت انجام شد");