PDA

View Full Version : سوال: شکل در گرفتن پشتیبان از با نک sql exp 2005



ma.rad
دوشنبه 23 اسفند 1389, 10:16 صبح
باسلام
من میخوام از بانکی که دارم پشتیبان بگیرم وبازیابی کنم
ولی کد زیر چیزی تولید نمی کنه
کد بازیابی چطور؟


SqlConnection con = new SqlConnection();
SqlCommand cmd = new SqlCommand();
SqlDataAdapter da = new SqlDataAdapter();
con.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\db.mdf;Integrated Security=True;User Instance=True";
con.Open();
cmd.Connection = con;
cmd.CommandText="BACKUP DATABASE db.mdf TO DISK='D:\\bak' WITH NOFORMAT, NOINIT, SKIP, NOREWIND, NOUNLOAD, STATS = 10";
da.SelectCommand = cmd;
con.Close();

ma.rad
دوشنبه 23 اسفند 1389, 22:27 عصر
دوستان لطفا راهنمایی کنن

ma.rad
جمعه 27 اسفند 1389, 16:22 عصر
کسی نمی دونه تو sql experes چطوری بک اپ می گیرم؟
لطفا کمک کنید

MoS4k1
جمعه 27 اسفند 1389, 16:41 عصر
برای بکاپ
backup database [مسیر بانک] to disk ='مسیر بکاپ'
برای بازیابی
ALTER DATABASE [مسیر بانک] SET SINGLE_USER WITH ROLLBACK IMMEDIATE USE master;
RESTORE DATABASE [مسیر بانک] FROM DISK ='مسیر بکاپ' with Replace

ma.rad
جمعه 27 اسفند 1389, 18:08 عصر
باسلام
من میخوام از بانکی که دارم پشتیبان بگیرم وبازیابی کنم
ولی کد زیر چیزی تولید نمی کنه
کد بازیابی چطور؟


SqlConnection con = new SqlConnection();
SqlCommand cmd = new SqlCommand();
SqlDataAdapter da = new SqlDataAdapter();
con.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\db.mdf;Integrated Security=True;User Instance=True";
con.Open();
cmd.Connection = con;
cmd.CommandText="BACKUP DATABASE db.mdf TO DISK='D:\\bak' WITH NOFORMAT, NOINIT, SKIP, NOREWIND, NOUNLOAD, STATS = 10";
da.SelectCommand = cmd;
con.Close();


من این کدنوشتم ولی جواب نمی ده ایرادش کجاس؟

araz_pashazadeh
شنبه 28 اسفند 1389, 11:00 صبح
دوست عزیز شما از این کدی که استفاده می کنین در سرور جواب میده نه اکسپرس.
برای پشتیبان گیری و بازیابی اطلاعات در اکسپرس باید از SMO استفاده کنی.
من قبلا یک برنامه کامل در این مورد نوشتم و در این تالار قرار دادم جستجو کن حتما پیدا می کنی.

ma.rad
شنبه 28 اسفند 1389, 12:34 عصر
چیزی پیدا نکردم
میتونید توضیح بدبد؟

araz_pashazadeh
شنبه 28 اسفند 1389, 13:18 عصر
با نام کاربری من جستجو کن حتما می اره.
در ضمن لزومی نداره توضیح بدم برنامه تست شده و بدون مشکل اجرا میشه.
اگه قسمتی از برنامه برات مبهم بود بگین توضیح بدم.

ma.rad
یک شنبه 29 اسفند 1389, 08:58 صبح
سلام پیداش کردم ولی چیزی متوجه نشدم میشه کدی که باهاش تو sql expe بک آپ میگیرن رو بگید؟

araz_pashazadeh
یک شنبه 29 اسفند 1389, 09:24 صبح
این هم کد مربوط به قسمت پشتیبان گیری


try
{
if (Sqlsrv != null)
{
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
Backup budb = new Backup();
budb.Action = BackupActionType.Database;
budb.Database = cmbDataBases.SelectedItem.ToString().Trim();
BackupDeviceItem budevice = new BackupDeviceItem(saveFileDialog1.FileName, DeviceType.File);
budb.Initialize = true;
budb.Checksum = true;
budb.ContinueAfterError = true;
budb.Incremental = false;
budb.LogTruncation = BackupTruncateLogType.Truncate;
budb.Devices.Add(budevice);
budb.PercentComplete += new PercentCompleteEventHandler(backup_PercentComplete );
budb.PercentCompleteNotification = 1;
/*backup.Complete +=new Microsoft.SqlServer.Management.Common.ServerMessag eEventHandler(backup_Complete);*/
budb.SqlBackup(Sqlsrv);
MessageBox.Show("گرفتن پشتیبان با موفقیت انجام شد", "هشدار", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Information);
}
}
else
{
MessageBox.Show("لطفا سرور را مشخص و به آن متصل شوید", "هشدار", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
}
}
catch (NullReferenceException ex)
{
MessageBox.Show("پایگاه داده مورد نظر را انتخاب نمایید" + ex.Message, "توجــه", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.ToString() , "هشدار", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
}
در ضمن کد کاملی که شما دانلود کردن کامل اجرا میشه من تست کردم اگه در قسمتی از کد مشکلی هست تاپیک بزارین توضیح بدم.

ma.rad
یک شنبه 29 اسفند 1389, 09:42 صبح
تشکر،فقط این دوتا کتابخونه را نمی شناسه مشکل چیه؟


using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlServer.Management.Smo;