PDA

View Full Version : آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ



firoozi90
سه شنبه 18 بهمن 1390, 23:17 عصر
سلام .امروز میخوام کد بکاپ و ریستور کردن پایگاه داده بوسیله کد سی شارپ براتون بزارم.
این کد کاملا تست شده و جواب داده


Cursor.Current = Cursors.WaitCursor;

try
{
if (File.Exists(@"d:\SQLBackup\svBackUp1.bak"))
{
if (MessageBox.Show("آیا مایل به انجام عمل بازگردانی هستید؟", "بازگردانی", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
//Connect SQL-----------
SqlConnection connect;
string con = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\SRVCARD.mdf;Integrated Security=True;User Instance=True";
connect = new SqlConnection(con);
connect.Open();
//-----------------------------------------------------------------------------------------

//Excute SQL----------------
SqlCommand command;
command = new SqlCommand("use master", connect);
command.ExecuteNonQuery();
command = new SqlCommand(@"restore database SRVCARD from disk = 'd:\SQLBackup\svBackUp1.bak'", connect);
command.ExecuteNonQuery();
//--------------------------------------------------------------------------------------------------------
connect.Close();

MessageBox.Show("بازگردانی با موفقیت انجام شد", "بازگردانی", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
else
MessageBox.Show(@"Do not make any endorsement above (or is not in the correct path)", "Restoration", MessageBoxButtons.OK, MessageBoxIcon.Information);

}
catch (Exception exp)
{
MessageBox.Show(exp.Message);
}



برای کسب اطلاعات بیشتر به http://www.papro.blogfa.com مراجعه کنید

spinelruby
چهارشنبه 19 بهمن 1390, 13:25 عصر
سلام
ممنون از پست خوبت، میشه کد بک آپ گیری رو هم بذاری البته تست شده !

firoozi90
چهارشنبه 19 بهمن 1390, 17:50 عصر
اینم کد بک آپ

bool bBackUpStatus = true;

Cursor.Current = Cursors.WaitCursor;

if (Directory.Exists(@"d:\SQLBackup"))
{
if (File.Exists(@"d:\SQLBackup\svBackUp1.bak"))
{
if (MessageBox.Show(@"آیا میخواهید پشتیبان چدیدتر بگیرید؟", "پشتیبان گرفته شده است", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
File.Delete(@"d:\SQLBackup\svBackUp1.bak");
}
else
bBackUpStatus = false;
}
}
else
Directory.CreateDirectory(@"d:\SQLBackup");

if (bBackUpStatus)
{
//Connect to DB
SqlConnection connect;
string con = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\SRVCARD.mdf;Integrated Security=True;User Instance=True";
connect = new SqlConnection(con);
connect.Open();
//----------------------------------------------------------------------------------------------------

//Execute SQL---------------
SqlCommand command;
command = new SqlCommand(@"backup database SRVCARD to disk ='d:\SQLBackup\svBackUp1.bak' with init,stats=10", connect);
command.ExecuteNonQuery();
//-------------------------------------------------------------------------------------------------------------------------------

connect.Close();

MessageBox.Show("پشتیبان گیری با موفقیت انجام شد", "پشتیبان گیر", MessageBoxButtons.OK, MessageBoxIcon.Information);
}

برای کسب اطلاعات بیشتر به http://www.papro.blogfa.com مراجعه کنید

lahzebelahze
دوشنبه 08 اسفند 1390, 00:23 صبح
سلام اگر بخواهیم از save dialog مسیر را تعیین کنیم چه تغییری باید در برنامه بدهبم.
من از این کد استفاده کردم اما انجام نمی دهد.

private void button8_Click(object sender, EventArgs e)
{

string strFileName = string.Empty;
saveFileDialog1.DefaultExt = "BAK";
saveFileDialog1.FileName = "backup file ";
saveFileDialog1.Filter = @"SQL Backup Files (*.BAK)|*.BAK |All Files(*.*)|*.*)";
saveFileDialog1.FilterIndex = 1;
saveFileDialog1.OverwritePrompt = true;
saveFileDialog1.Title = "Backup SQl files";

if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
strFileName = saveFileDialog1.FileName.ToString();
backup(strFileName);
}
private void backup(string strNameFile)

{
try
{
string command = @"backup database [library] to disk='"+strNameFile+"'";
this.Cursor = Cursors.WaitCursor;
SqlCommand ocommand = null;
SqlConnection connect = null;
connect = new SqlConnection("data source =" + Dns.GetHostName() + @"\SQLEXPRESS;initial catalog=library;integrated security=true");
if (connect.State != ConnectionState.Open)
{
connect.Open();
ocommand = new SqlCommand(command, connect);
ocommand.ExecuteNonQuery();
this.Cursor = Cursors.Default;
MessageBox.Show("anjam shod");

}
}
catch (Exception ex)
{
MessageBox.Show("error " + ex.Message);
}

firoozi90
سه شنبه 09 اسفند 1390, 22:22 عصر
سلام این فایل می تونه به شما کمک کنه






برای کسب اطلاعات بیشتر به http://www.papro.blogfa.com مراجعه کنید

جوان ایرانی
یک شنبه 14 اسفند 1390, 10:40 صبح
سلام
من می خواهم کد بک اپ وریستور را در یه پروسیجر بنویسم اما نمی دونم چه طور اونها در سی شارپ فراخوانی کنم پروسیجر بک اپ رو به این شکل نوشتم که البته این هم مطمئن نیستم درسته یا نه
ALTER Procedure [dbo].[AutoBackUp]
@FileName nvarchar(50)
As
declare @Path nvarchar(255)
set @Path =( select top 1 PathBackUp from tblSetting )
declare @PathFileName nvarchar(300)
set @PathFileName = @FileName
set @PathFileName = REPLACE(@PathFileName ,'\\','\')
Begin
BACKUP DATABASE [Question&AnswerBank] TO DISK = @PathFileName with noinit
End

میشه لطفا کمکم کنید

tooti98
یک شنبه 20 فروردین 1391, 20:09 عصر
salam
این روش به نظرم خیلی کارآمدتر از نوشتن کد های sql در بین کدهاب سی شارپه:تشویق:

البته من هر کاری کردم نتونستم پروسیجری در sqlexpress(منظورم همون نسخه همراه ویژوال استودیوه!) بنویسم:ناراحت:
ولی کسایی که با sql server management studio کار میکنن میتونن از روی پروسیجر ذخیره شده ای به نام
sys.sp_addumpdevice برای نوشتن پروسیجر تقلب کنن!!

sabagood
جمعه 25 فروردین 1391, 15:26 عصر
سلام میشه توضیح بدید خط
Cursor.Current = Cursors.WaitCursor;
رو برای چی نوشتید؟اصلا چی کار میکنه؟
بعد من توی قسمت پشیبان گیری مشکل دارم "d:\SQLBackup\svBackUp1.bak" آدری چیه؟ و همچنین اولای کدتون " if (Directory.Exists(@"d:\SQLBackup")) {" برای چی؟

میلاد رئیسی
دوشنبه 28 فروردین 1391, 10:29 صبح
با سلام و درود به برنامه نويسان عزيز .

اين هم آموزشي كه در خواست كرده بوديد : آموزش پشتيبان گيري و بازيابي آن توسط پروسيجر در سي شارپ

موفق باشيد

from_hell
دوشنبه 28 فروردین 1391, 16:46 عصر
این کد ها اگه در سیستم مقصد نسخه express نصب باشه کار میکنند؟

firoozi90
دوشنبه 28 فروردین 1391, 17:21 عصر
Cursor.Current = Cursors.WaitCursor;

مکان نمای فعلی موس را به شکل انتظار(ساعت شنی در میاره) همین.کار خاصی انجام نمیده


عد من توی قسمت پشیبان گیری مشکل دارم "d:\SQLBackup\svBackUp1.bak" آدری چیه؟

این دایرکتوری مسیری است که فایل بکاپتون ذخیره میشه.در واقع مسیر و اسم فایل بکاپتون رو خودتون از کد نویسی لنتخاب می کنید.


" if (Directory.Exists(@"d:\SQLBackup"))

این شرط هم همونطور که ازش مشخصه میگه که اگر دایرکتوری که بالا توضیحش دادم(البته به جز فایل.فقط مسیر) وجود داشت شرط بعدی که عدم وجود یا وجود فایل بکاپ هست رو چک می کنه.
این کد که خیلی واضح هست من نمی دونم دیگه چطور میشه توضیحش داد

firoozi90
دوشنبه 28 فروردین 1391, 17:23 عصر
1
2
Cursor.Current = Cursors.WaitCursor;




مکان نمای فعلی موس را به شکل انتظار(ساعت شنی در میاره) همین.کار خاصی انجام نمیده
عد من توی قسمت پشیبان گیری مشکل دارم "d:\SQLBackup\svBackUp1.bak" آدری چیه؟


این دایرکتوری مسیری است که فایل بکاپتون ذخیره میشه.در واقع مسیر و اسم فایل بکاپتون رو خودتون از کد نویسی لنتخاب می کنید.

1
2
" if (Directory.Exists(@"d:\SQLBackup"))




این شرط هم همونطور که ازش مشخصه میگه که اگر دایرکتوری که بالا توضیحش دادم(البته به جز فایل.فقط مسیر) وجود داشت شرط بعدی که عدم وجود یا وجود فایل بکاپ هست رو چک می کنه.
این کد که خیلی واضح هست من نمی دونم دیگه چطور میشه توضیحش داد

hadi.araban
سه شنبه 29 فروردین 1391, 00:20 صبح
آیا این کد به صورت اتوماتیک بکآپ می گیره؟

from_hell
سه شنبه 29 فروردین 1391, 00:57 صبح
من وقتی می خوام restore کنم میگه دیتابیس در حال استفاده است.در حالی که اصلا این طور نیست



The file 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\nezamshab.mdf' cannot be overwritten. It is being used by database 'nezamshab'.
File 'nezamshab' cannot be restored to 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\nezamshab.mdf'. Use WITH MOVE to identify a valid location for the file.

من حتی از use master استفاده می کنم.ولی باز همین پیغام رو میده.

firoozi90
سه شنبه 29 فروردین 1391, 22:37 عصر
آیا این کد به صورت اتوماتیک بکآپ می گیره؟
منظورتون از اتوماتیک چیه؟یعنی هر چند وقت یکبار خودش بکاپ بگیره؟و یا چیز دیگه ای؟

firoozi90
سه شنبه 29 فروردین 1391, 22:40 عصر
من وقتی می خوام restore کنم میگه دیتابیس در حال استفاده است.در حالی که اصلا این طور نیست



The file 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\nezamshab.mdf' cannot be overwritten. It is being used by database 'nezamshab'.
File 'nezamshab' cannot be restored to 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\nezamshab.mdf'. Use WITH MOVE to identify a valid location for the file.

من حتی از use master استفاده می کنم.ولی باز همین پیغام رو میده.

شما این کد رو کدوم قسمت برنامت نوشتی؟شاید قسمتی نوشتی که از پایگاه داده داره استفاده میشه.معمولات کد بکاپ و ریستور میزارن توی صفحه اصلی برنامه.جایی که هیچ اتفاقی روی پایگاه داده نمیوفته.

shmp30
جمعه 15 اردیبهشت 1391, 23:42 عصر
سلام دوستان.
وقتی این کد رو اجرا میکنم خطا دریافت میکنم که دیتا بیس رو پیدا نمیکنه.
این خطا رو میده:
Database 'Hossein' does not exist. Make sure that the name is entered correctly.
BACKUP DATABASE is terminating abnormally.

کدم هم به این صورت هستش:

SqlConnection myConnection = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\Hossein.mdf;Integrated Security=True;User Instance=True");
myConnection.Open();
SqlCommand myCommand = new SqlCommand();
myCommand.Connection = myConnection;
myCommand.CommandText = @"BACKUP DATABASE Hossein TO DISK ='C:\Users\SHM\Desktop\back.bak'";
myCommand.CommandType = CommandType.Text;
myCommand.ExecuteNonQuery();
myConnection.Close();

http://www.hostpic.org/images/335_4_2012_11_51_24_PM.gif

ممنون میشم راهنماییم کنید.

mar236
جمعه 29 اردیبهشت 1391, 11:39 صبح
بسيار ممنون و سپاسگزارم.... تنها كدي كه واسه بك آپ كار كرد همين بود... ممنونم ..
البته واسه من يه اروور كوچك داد كه با گشتن تو سايت برنامه نويس اين لينكو پيدا كردم و حل شد... http://stackoverflow.com/questions/9...-created-by-vs (http://stackoverflow.com/questions/9497911/how-to-backup-from-mdf-database-that-created-by-vs)

mar236
جمعه 29 اردیبهشت 1391, 11:55 صبح
شما این کد رو کدوم قسمت برنامت نوشتی؟شاید قسمتی نوشتی که از پایگاه داده داره استفاده میشه.معمولات کد بکاپ و ریستور میزارن توی صفحه اصلی برنامه.جایی که هیچ اتفاقی روی پایگاه داده نمیوفته.

منم براي بازيابي به مشكلي كه from-hell گفتن برخوردم... خوب البته قبل از صفحه اصلي برنامه ، يك فرم براي login كاربر دارم.... چه كار مي تونم كنم؟

*Ashrafi*
چهارشنبه 21 تیر 1391, 09:29 صبح
سلام دوستان میشه یک سورس کامل بزارید تمام سایت را گشتم همه کد گذاشتن که برای ما مبتدی ها پیاده سازیش سخته من دارم روی اولین پروژه ام کار میکنم که با Sqlو #C هست می خوام این کارو یاد بگیرم توروخدا پیشنهاد جستجو ندیداگه بزارید ممنونتون میشم...

pamapz
دوشنبه 30 مرداد 1391, 13:40 عصر
با سلام و درود به برنامه نويسان عزيز .

اين هم آموزشي كه در خواست كرده بوديد : آموزش پشتيبان گيري و بازيابي آن توسط پروسيجر در سي شارپ

موفق باشيد
سلام من نتونستم با پروسیجر پشتیبانگیریو پیدا کنم !!!

firoozi90
شنبه 18 شهریور 1391, 12:56 عصر
سلام دوستان میشه یک سورس کامل بزارید تمام سایت را گشتم همه کد گذاشتن که برای ما مبتدی ها پیاده سازیش سخته من دارم روی اولین پروژه ام کار میکنم که با Sqlو #C هست می خوام این کارو یاد بگیرم توروخدا پیشنهاد جستجو ندیداگه بزارید ممنونتون میشم...

دوست عزيز منظورت از سورس كامل چيه؟
اين كد رو كه من گذاشتم يكي از راحت ترين كدهاست.
شما هرجاش كه براتون نامفهومه بگيد من توضيح خواهم داد

beno2009
شنبه 15 مهر 1391, 08:50 صبح
سلام بچه ها من يه مشكل دارم
وقتي اين كد رو مي نويسم پيغام ارور مي ده كه ذيتا بيسمو نميشناسه
Database 'DBKordestan' does not exist. Make sure that the name is entered correctly.
BACKUP DATABASE is terminating abnormally.

firoozi90
سه شنبه 28 آذر 1391, 13:09 عصر
سلام بچه ها من يه مشكل دارم
وقتي اين كد رو مي نويسم پيغام ارور مي ده كه ذيتا بيسمو نميشناسه
Database 'DBKordestan' does not exist. Make sure that the name is entered correctly.
BACKUP DATABASE is terminating abnormally.

سلام دوست من حتما اشتباه تایپی داشتی.مثلا اسم پایگاه داده ات رو توی کد اشتباه وارد کردی.
در غیر اینصورت کدت رو بزار تا ببینم مشکلش چی هست

kingtak
پنج شنبه 07 دی 1391, 11:25 صبح
سلام دوستان
من فقط فایل .bak رو دارم.کانکشن استرینگ رو باید چی بذارم؟
من کد پایین رو قرار دادم خطا میده:
Login failed for user 'Hamid-pc/Hamid


try
{
//Connect SQL-----------
SqlConnection connect;
string con = @"Data Source=.;Integrated Security=True;User Instance=True";
connect = new SqlConnection(con);
connect.Open();
//-----------------------------------------------------------------------------------------

//Excute SQL----------------
SqlCommand command;
command = new SqlCommand("use master", connect);
command.ExecuteNonQuery();
command = new SqlCommand(@"restore database ketabkhane from disk = 'C:\Users\Hamid\Desktop\Backup\ketabkhane.bak'", connect);
command.ExecuteNonQuery();
//--------------------------------------------------------------------------------------------------------
connect.Close();
MessageBox.Show("بازگردانی با موفقیت انجام شد", "بازگردانی");
}
catch (Exception exp)
{
MessageBox.Show(exp.Message);
}

PirouzNZ
پنج شنبه 05 بهمن 1391, 00:26 صبح
با سلام
من یه فایل pdf دارم شاید بدردتون بخوره،موفق باشید.

hashemi85sep
سه شنبه 17 بهمن 1391, 14:17 عصر
سلام دوست عزیز
من کدهایی که شما گفته بودن رو اجرا کردم
برای backup مشکلی نبود و لی توی restore این خطا رو میده :

hashemi85sep
سه شنبه 17 بهمن 1391, 14:24 عصر
سلام دوست عزیز
من کدهایی که شما گفته بودین رو اجرا کردم
برای backup مشکلی نبود و لی توی restore این خطا رو میده :

setareh masompoor
شنبه 21 بهمن 1391, 13:03 عصر
بچه ها من يه مشكل دارم اونم اينه كه :
يه برنامه فروشگاهي نوشته ام و sql server ‌رو فقط رو كامپيوتر سرور نصب كردم و بقيه كلاينت ها براي استفاده از بانك اطلاعاتي از آدرس سرور استفاده ميكنند.
back up‌گيري تو سرور مشكل نداره اما تو كلاينت ها با اين خطا مواجه ميشم.
خطاش به نظرم در مورد مسير اما اين مسير تو كلاينت ها وجود داره
نميدونم چرا باز اينو ميگه
ميشه راهنماييم كنيد؟؟؟؟
99819

ferdin
شنبه 21 بهمن 1391, 13:13 عصر
بچه ها من يه مشكل دارم اونم اينه كه :
يه برنامه فروشگاهي نوشته ام و sql server ‌رو فقط رو كامپيوتر سرور نصب كردم و بقيه كلاينت ها براي استفاده از بانك اطلاعاتي از آدرس سرور استفاده ميكنند.
back up‌گيري تو سرور مشكل نداره اما تو كلاينت ها با اين خطا مواجه ميشم.
خطاش به نظرم در مورد مسير اما اين مسير تو كلاينت ها وجود داره
نميدونم چرا باز اينو ميگه
ميشه راهنماييم كنيد؟؟؟؟


سلام
مسیر گرفتن Back up فقط می تونه رو سرور باشه ، البته با کلاینتها میشه back up گرفت اما روی سرور back up گرفته میشه .

HAMRAHSOFT.IR
یک شنبه 22 بهمن 1391, 08:05 صبح
امکان داره یک نمونه اجرای قرار بدید

mosab_vb
دوشنبه 02 اردیبهشت 1392, 20:31 عصر
سلام.
من موقع ریستور به همچین مشکلی برخوردم.لطفا راهنمایی کنید.ممنونم.
103200

mosab_vb
دوشنبه 02 اردیبهشت 1392, 20:38 عصر
سلامی دوباره.مشکل قبلیم حل شد با اضافه کردن with replace به آخر کوئری.
حالا مشکل جدیدم اینه:
103201

mosab_vb
سه شنبه 03 اردیبهشت 1392, 00:56 صبح
command = new SqlCommand(@"restore database SRVCARD from disk = 'd:\SQLBackup\svBackUp1.bak'", connect);
command.CommandTimeout = 0;

command.ExecuteNonQuery();




این مشکل هم حل شد با ;command.CommandTimeout = 0 که اضافه کردم به بالا.

monilin
دوشنبه 13 خرداد 1392, 09:55 صبح
وقتی دستورات Backup رو مینویسم در اجرا این Error رو میده، یکی کمک کنه


A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

ragbar1
دوشنبه 13 خرداد 1392, 21:25 عصر
با سلام به همگی دوستان
من هر چی کد در مورد پشتیبانگیری و بازگردانی بلد بودم نوشتم من در نسخه اصلی sql مشکلی ندارم ولی زمانی که بیس برنامه را sqlexpressتغییر دادم هیچ وقت نتونستم به طور کامل پشتیبانگیری و بازگردانی کنم من پروژه ای که دارم مینویسم رو یک ماه پیش با نسخه اصلی SQLنوشتم ولی به دلیل ناسازگاری نسخه نصبی با ویندوز مجبور شدم دوباره بنشینم و با SQLEXPRESSکار کنم این اولین پروژه ای بود که با EXPRESS نوشتم از همان منوهای اول با EXPRESSمشکل داشتم به همین خاطر گفتم که کد پشتیبانگیری و بازگردانی که کاملا تسلط دارم را بنویسم ولی هنوز که هنوزه نتوانستم این کد را به سرانجام برسانم لذا از شما دوستان تمنا دارم در صورتی که اطلاعاتی در این زمینه داشته باشید که یاریم کند ممنون میشم که در اختیارم قرار بدید تا هرچه زودتر به سراغ منوهای دیگر بروم
کدی که من نوشتم به طور کامل بازگردانی درر حالت ساده با پیغام موفقیت نشون میده ولی هیچ کاری یا اطلاعاتی رو برنمیگردونه
بعد از یک بازگرادنی به هنگام کامپایل برنامه دو پیغام میده پس ابتدا کد بازگردانی به شکل زیر است
try
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.AddExtension = true;
openFileDialog.CheckFileExists = false;
openFileDialog.CheckPathExists = true;
openFileDialog.Filter = "(*.bak) فایل پشتیبانی |*.bak";
openFileDialog.Title = "بازیابی فایل پشتیانی";
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|\Database1.mdf;Integrated Security=True;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=0;User Instance=True");
cmd.Connection.Open();
cmd.CommandText = query;
cmd.ExecuteNonQuery();
cmd.Connection.Close();
progressBar1.PerformStep();
progressBar1.Value = 100;
label1.Visible = true;
label1.Text = "%" + progressBar1.Value.ToString();
MessageBox.Show("نسخه پشتيبان به طور كامل بازيابي شد ", "پيام");
// FarsiMessegeBox.Show("برنامه باید دوباره راه اندازی شود ", "هشدار", FMessegeBoxButtons.Ok, FMessegeBoxIcons.Information);
Application.Restart();
progressBar1.Value = 0;
}
catch (Exception ex)
{
textBox1.Text = ex.Message;
/* if (!showmeesage)
MessageBox.Show(ex.Message);
else*/
MessageBox.Show("اشکال در بازگردانی پایگاه داده / خطا 106", "خطا");
}
}

}
catch
{

}
پیغام خطا 1
Error 2 Unable to copy file "C:\Documents and Settings\esmaeel\Desktop\gireh\setup\back jadid\2\2\Database1.mdf" to "bin\Debug\Database1.mdf". The process cannot access the file 'bin\Debug\Database1.mdf' because it is being used by another process.
پیغام خطای2
Error 3 Unable to copy file "C:\Documents and Settings\esmaeel\Desktop\gireh\setup\back jadid\2\2\Database1_log.ldf" to "bin\Debug\Database1_log.ldf". The process cannot access the file 'bin\Debug\Database1_log.ldf' because it is being used by another process.

monilin
سه شنبه 14 خرداد 1392, 00:43 صبح
ممکنه اون مشکل من به خاطر نصب نبودن کامل SQL باشه؟ بانک در SQL 2008R2 ساخته شده و من از طریق VS باهاش کار میکنم، از درستی کدهای Backup , Restore تقریبا مطمئنم.

ragbar1
سه شنبه 14 خرداد 1392, 19:34 عصر
با سلام به همگی
یعنی کسی نیست که بتونه مشکلم حل کنه هرچی فکر میکنم هیچی به ذهنم نمیرسه که بفهمم چی دیگه بنویسم :گیج:

safa55
جمعه 17 خرداد 1392, 08:18 صبح
پیغام خطا 1
Error 2 Unable to copy file "C:\Documents and Settings\esmaeel\Desktop\gireh\setup\back jadid\2\2\Database1.mdf" to "bin\Debug\Database1.mdf". The process cannot access the file 'bin\Debug\Database1.mdf' because it is being used by another process.
پیغام خطای2
Error 3 Unable to copy file "C:\Documents and Settings\esmaeel\Desktop\gireh\setup\back jadid\2\2\Database1_log.ldf" to "bin\Debug\Database1_log.ldf". The process cannot access the file 'bin\Debug\Database1_log.ldf' because it is being used by another process

با سلام
با توجه این خطاها ، می تونم بگم که دیتابیس شما در حال حاضر داره با برنامه دیگه ای استفاده می شه (یعنی همون sqlserver) ، خوب اگر شما ارتباط دیتابیس تون رو با sqlserver قطع کنید مشکل حل می شود.
برای این کار هم باید SqlConnection.ClearAllPools();
استفاده کنی.
موفق باشی

omiditc
جمعه 17 خرداد 1392, 09:40 صبح
لینک زیر بک آپ گیری و ریستور کردن بانک اطلاعاتی SQL رو در سی شارپ به صورت تصویری و فارسی آموزش میده.
فیلم آموزش Backup گیری پایگاه داده SQL در سی شارپ (http://www.daneshjooyar.com/%d9%81%db%8c%d9%84%d9%85-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-backup-%da%af%db%8c%d8%b1%db%8c-%d9%be%d8%a7%db%8c%da%af%d8%a7%d9%87-%d8%af%d8%a7%d8%af%d9%87-sql-%d8%af%d8%b1-%d8%b3%db%8c-%d8%b4%d8%a7%d8%b1/)

HAMRAHSOFT.IR
جمعه 17 خرداد 1392, 09:40 صبح
امکان داره یک نمونه اجرای قرار بدید

ragbar1
دوشنبه 20 خرداد 1392, 01:19 صبح
با سلام خدمت شما تمامی دوستان
در ابتدا بخاطر فیلم آموزشی که گذاشتید و دستور قطع ارتباطی که بیان کردید تشکر میکنم من با استفاده از فیلم و با به کار بردن این دستور برنامه جداگانه ای نوشتم ولی بازهم بعد از یک بار اجرا دوباره همان دو خطا را میدهد و یک باری که برنامه اجرا میشود پیغام بازگردانی با موفقیت انجام شد را نشان میدهد ولی زمانی که سراغ جدولها میروم میبینم هیچ عمل بازگردانی انجام نداده است اگه میشه و کسی میدونه چرا اینطور میشه به من بگه بازهم از جوابهایی که به تایپیکهای من دادید خیلی خیلی تشکر میکنم منتظر راهنماییتون هستم با تشکر
کد پشتیبان گیری که با پروژه جدیدی که نوشتم
public string Backup(string str)
{

try
{

this.Refresh();
this.Cursor = Cursors.WaitCursor;
SqlCommand cmd = new SqlCommand();
string scnn = @"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Documents and Settings\esmaeel\Desktop\back jadid\2\2\Database1.mdf;Integrated Security=True;User Instance=True";

SqlConnection oConnection = new SqlConnection(scnn);

cmd.Connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\backdb.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 [" + Application.StartupPath + @"\backdb.mdf] TO DISK ='" + str.ToString().Trim() + "' ";
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();
this.Cursor = Cursors.Default;
MessageBox.Show("تهیهنسخهپشتیبانازاطلاعاتب اموفقیتانجامشد", "پشتیبانگیری", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

catch (Exception ex)
{
MessageBox.Show("Error Occurd : " + ex.Message);
//textBox1.Text = ex.Message;
return ex.Message;
}
return "";
}
کد بازگردانی که با پروژه جدیدی که نوشتم
private void Restore1(string strFileName)
{
#region Restore File Bak
SqlConnection.ClearAllPools();
try
{
SqlConnection.ClearAllPools();
this.Refresh();
string Command = "ALTER DATABASE [" + Application.StartupPath + @"\backdb.mdf] SET SINGLE_USER with ROLLBACK IMMEDIATE; RESTORE DATABASE [" + Application.StartupPath + @"\backdb.mdf] FROM DISK='" + strFileName + "';ALTER DATABASE[" + Application.StartupPath + @"\backdb.mdf] SET MULTI_USER;";
this.Cursor = Cursors.WaitCursor;
SqlCommand cmd = new SqlCommand();
cmd.Connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\backdb.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
cmd.Connection.Open();
string dbname = cmd.Connection.Database;
cmd.Connection.Close();
cmd.Connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;Integrated Security=True;Connect Timeout=30;User Instance=True");
cmd.Connection.Open();
cmd.CommandText = Command;
cmd.ExecuteNonQuery();
cmd.Connection.Close();
SqlConnection.ClearAllPools();
MessageBox.Show("بازیابی انجام شد .");
}
catch (Exception ex)
{
MessageBox.Show("Error :" + ex.Message);
}
#endregion
}
پیغام خطا 1
Unable to delete file "C:\Documents and Settings\esmaeel\My Documents\Visual Studio 2008\Projects\back\back\bin\Debug\backdb.mdf". The process cannot access the file 'C:\Documents and Settings\esmaeel\My Documents\Visual Studio 2008\Projects\back\back\bin\Debug\backdb.mdf' because it is being used by another process.
.
پیغام خطای2
Unable to delete file "C:\Documents and Settings\esmaeel\My Documents\Visual Studio 2008\Projects\back\back\bin\Debug\backdb_log.ldf". The process cannot access the file 'C:\Documents and Settings\esmaeel\My Documents\Visual Studio 2008\Projects\back\back\bin\Debug\backdb_log.ldf' because it is being used by another process.

messi13
سه شنبه 05 شهریور 1392, 15:36 عصر
من تو پروژه از چنین دستوراتی استفاده نکردم
از linq وDataSet استفاده کردم
با این دستورات هرکار میکنم خطا میده...
راهنمائی کنید
تشکر

messi13
سه شنبه 05 شهریور 1392, 16:18 عصر
109787

اینم کد خطا:




Incorrect syntax near '.'.
Incorrect syntax near the keyword 'with'. If this statement is a common table expression, an xmlnamespaces clause or a change tracking context clause, the previous statement must be terminated with a semicolon.

و اینم کدهای بک آپ:



private void button2_Click(object sender, EventArgs e)
{
bool bBackUpStatus = true;

Cursor.Current = Cursors.WaitCursor;

if (Directory.Exists(@"d:\SQLBackup"))
{
if (File.Exists(@"d:\SQLBackup\Test1.bak"))
{
if (MessageBox.Show(@"آیا میخواهید پشتیبان چدیدتر بگیرید؟", "پشتیبان گرفته شده است", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
File.Delete(@"d:\SQLBackup\Test1.bak");
}
else
bBackUpStatus = false;
}
}
else
Directory.CreateDirectory(@"d:\SQLBackup");

if (bBackUpStatus)
{
//Connect to DB
SqlConnection connect;
string con = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Test.mdf;Integrated Security=True;User Instance=True";
//string con = @"Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\Test.mdf;Integrated Security=True;User Instance=True";
connect = new SqlConnection(con);
connect.Open();
//----------------------------------------------------------------------------------------------------

//Execute SQL---------------
SqlCommand command;
command = new SqlCommand(@"backup database Test.mdf to disk ='d:\SQLBackup\Test1.bak' with init,stats=10", connect);
command.ExecuteNonQuery();
//-------------------------------------------------------------------------------------------------------------------------------

connect.Close();

MessageBox.Show("پشتیبان گیری با موفقیت انجام شد", "پشتیبان گیر", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}

messi13
چهارشنبه 06 شهریور 1392, 13:38 عصر
http://upload.tehran98.com/upme/uploads/e709064d40f2be8a1.jpg
بچه ها این خطا معنیش چیه؟

soran.kurds
شنبه 16 شهریور 1392, 01:04 صبح
سلام
من کدهای پشتیبان گیری و بازیابی پایگاه داده را با اصلاحات لازم نوشتم.
دو متد بسیار سادست که هر کدام دو مقدار ورودی میگیره، یکی نام پایگاه داده و دیگری نام و مسیر فایل مورد نظره.

اگر مشکلی بود بفرمایید تا توضیخ بدم:چشمک:

کد Backup گیری:

public void BackUp(string DatabaseName,string FileName)
{
string strSQL = @"BACKUP DATABASE "+ DatabaseName +" TO DISK='"+ FileName +"'";
SqlConnection con = new SqlConnection();
SqlCommand com = new SqlCommand();
con.ConnectionString = strCon;
com.CommandText = strSQL;
com.Connection = con;
con.Open();
com.ExecuteNonQuery();
con.Close();
}


کد Restore کردن:

public void Restore(string DatabaseName, string FileName)
{
string strSQL = "USE MASTER RESTORE DATABASE " + DatabaseName + " FROM DISK = '" + FileName + "' WITH REPLACE";
SqlConnection con = new SqlConnection();
SqlCommand com = new SqlCommand();
con.ConnectionString = strCon;
com.CommandText = strSQL;
com.Connection = con;
con.Open();
com.ExecuteNonQuery();
con.Close();
}

amiriking
یک شنبه 14 مهر 1392, 10:15 صبح
سلام.
من موقع ریستور به همچین مشکلی برخوردم.لطفا راهنمایی کنید.ممنونم.
103200

سلام دوست عزیز. من هم با مشکل شما روبرو شدم. ولی اگر از with replace‌استفاده کنیم داده های روی دیتا بیسو پاک میکنه . بعد این فایل بک آپ رو جایگزین میکنه. شما راه حل دیگه ای براش ندارید؟:متفکر:

hamidking555
پنج شنبه 02 آبان 1392, 00:31 صبح
سلام دوستان.
من همه چیز رو درست انجام دادم اما وقتی می خواد بکاپ بگیره این اررور رو میده


An error has occured while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: SQL Network Interfaces, error 26 - Error Locating Server/Instance Specified)


لطفا راهنمایی کنید.
در ضمن دیتا بیس من database file هست

hessam2003
شنبه 05 بهمن 1392, 13:40 عصر
کسی میدونه خطای این دستور چیه؟
BACKUP DATABASE ACC TO DISK 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\ACC.BAK'
این خطا رو میده:
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\ACC.BAK'.

Mansoor92
پنج شنبه 10 بهمن 1392, 13:54 عصر
سلام

آیا میشه دستور بکاپ رو توی یک تایمر گذاشت تا بصورت اتوماتیک مثلا در 12 شب بکاپ گرفته بشه...؟؟

یا کار بهتری هم میشه انجام داد

ممنون میشم راهنمایی کنید...

espootin
پنج شنبه 10 بهمن 1392, 15:23 عصر
با سلام.

با استفاده از تایمر شما دائما cpu را درگیر خواهید کرد و این در حالیست که سرویس SQL Server Agent برای انجام چنین کار هایی همیشه فعال می باشد و بهتر و منطقی تر است که از خود SQL Server برای اینکار استفاده کنید.

شما با استفاده از یک Job در SQL Server براحتی می توانید چنین کاری را انجام دهید.

موفق باشید.

mh3242
یک شنبه 29 تیر 1393, 19:37 عصر
با سلام
دوستان منم مشکل عدم شناسایی دیتابیس رو در زمان پشتیبان گیری دارم. متن ارور هم اینه:
database EngAsgharzadeOfficeDatabase does not exist. make sure that the name entered correctly
command هم به این صورته:
backup database EngAsgharzadeOfficeDatabase to disk ='C:\1\1.bak'
به هیچ وجه هم امکان نداره اسم دیتابیس اشتباه باشه چون خیلی امتحان کردم و حتی از connection string که درست هم کار میکنه و ارتباط رو باز و بسته میکنه اسم دیتابیس رو کپی کردم. حتی اسم فایل mdf رو که تو پوشه برنامم هستش هم کپی گرفتم اما بازم همون ارور رو میده. کسی میتونه راهنمائیم کنه؟

ghasem110deh
دوشنبه 15 دی 1393, 17:02 عصر
سلام
بکاپ اتوماتیک تو این تاپیک انگار به جایی نرسیده ...
این آدرس یکی از دوستان تو یه تاپیکه دیگه گذاشتن واسه بکاپگیری اتوماتیک ولی من چیزی سر در نیوردم (چون زبانم ضعیفه)

http://weblogs.asp.net/sreejukg/scheduling-automated-backup-using-sql-server-2008

اما مسئله اصلی اینه که من میخوام هر دو صورت (بکاپ گیری معمولی و اتوماتیک) رو تو پروژه داشته باشه ... و اگه کابر تیک چک باکس (تو فرم بکاپ گیری) رو زد بعد از خروج از برنامه بکاپ گیری اتومات انجام شه و اگه تیک نزد که هیچی !

اینم هست (واسه ری استور خودکار)

http://blogs.lessthandot.com/index.php/DataMgmt/DBAdmin/automate-database-restore-to-remote/

pooriajojo
پنج شنبه 14 اسفند 1393, 12:09 عصر
اقا من اینجا eror mide
کلمه file را مشگل میبینه زیرش خط قرمز میزنه


if (File.Exists(@"d:\SQLBackup\svBackUp1.bak"))
میرم و فایل ای eror میاد
the name 'file'does not exist in the current context

khikhof
جمعه 15 خرداد 1394, 01:23 صبح
اقا من اینجا eror mide
کلمه file را مشگل میبینه زیرش خط قرمز میزنه


if (File.Exists(@"d:\SQLBackup\svBackUp1.bak"))
میرم و فایل ای eror میاد
the name 'file'does not exist in the current context

دوست عزیز شما باید از using System.IO; بالای کدتون استفاده کنید.

Aqeel95
پنج شنبه 04 تیر 1394, 22:30 عصر
سلام خدمت اساتید گرامی
نمیخواستم تایپک جدید درست کنم برای همین همینجا میپرسم سوالمو
--------------
با کد زیر من بکآپ گرفتن اتوماتیک درست کردم از برنامه که هرگاه از برنامه خارج شد کاربر خودکار بکآپ گیری انجام بشه


SqlCommand sqlcom = new SqlCommand();
sqlcom.Connection = new SqlConnection("Data Source=KARIMI_PC;Initial Catalog=New_work;Integrated Security=True");
sqlcom.Connection.Open();
string dbname = sqlcom.Connection.Database;
sqlcom.Connection.Close();
SqlConnection.ClearAllPools();
string query = "BACKUP DATABASE New_work TO DISK='C:\\Users\\Karimi\\Documents\\Montada\\auto back up.bak'";
sqlcom.Connection = new SqlConnection(@"Data Source=KARIMI_PC;Integrated Security=True");
sqlcom.Connection.Open();
sqlcom.CommandText = query;
sqlcom.ExecuteNonQuery();
sqlcom.Connection.Close();
Application.Exit();

درست بکآپ گرفته میشه و مشکلی هم نداره اما فقط دفعه اول انجام میشه و به طور خلاصه اینکه
میخوام کمکم کنید که بتونم overwrite بکنم فایل بکآپ جدید رو
امیدوارم تونسته باشم منظورمو برسونم
باتشکر از پاسخ گوییتون

ma890201794
پنج شنبه 18 تیر 1394, 12:10 عصر
سلام منم مثل خودتم ولی بک آپ رو حل کردم ولی ریستور رو نه اگه کدی واسه ریستور پیدا کردی بفرست.
کد بک آپ از اس کیو ال اکسپرس:
private void button1_Click(object sender, EventArgs e)
{
string strFileName = "BackupFile.bak";
try
{
this.Cursor = Cursors.WaitCursor;
SqlCommand cmd = new SqlCommand();
SqlConnection.ClearAllPools();
cmd.Connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=G:\Users\Moha mmad\Documents\Sandwech.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;");
cmd.Connection.Open();
string dbname = cmd.Connection.Database;
cmd.Connection.Close();
string query = "BACKUP DATABASE [" + dbname + "] TO DISK ='D:\\" + strFileName + "' WITH NO_COMPRESSION ,CONTINUE_AFTER_ERROR ,FORMAT, INIT, NAME = N'accounting-Full Database Backup', SKIP,NOREWIND, NOUNLOAD, STATS = 10";
cmd.Connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=G:\Users\Moha mmad\Documents\Sandwech.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;");
cmd.Connection.Open();
cmd.CommandText = query;
cmd.ExecuteNonQuery();
cmd.Connection.Close();
this.Cursor = Cursors.Default;
MessageBox.Show("تهیه نسخه پشتیبان از اطلاعات با موفقیت انجام شد", "پشتیبان گیری", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show("Error Occurd : " + ex.Message);
}
}

LostOfMind
پنج شنبه 15 مرداد 1394, 17:54 عصر
یه دنیا ازتون ممنونم

masoud sh
شنبه 17 مرداد 1394, 17:53 عصر
اقا یه سوال شاید مسخره ولی خب سواله دیگه:لبخندساده:
برای ریستور کردن یه دیتابیس حتما باید اون دیتابیس روی اسکیوال اتچ باشه؟؟
ینی میخوام ببینم میتونم برای ساخت ستاپ برنامه ام بجای اینکه فایل دیتابیس را بدم بکاپشا بدم و توی مقصد توی اولین اجرا بجای اتچ کردن دیتابیس بکاپشا ریستور کنه؟
و اگه امکانش هست بازم اون قضیه ریدانلی شدن توی درایو ویندوز اینجا هم ممکنه پیش بیاد؟

kmf2001
سه شنبه 26 مرداد 1395, 09:51 صبح
با سلام.
من میخوام وقتی سیستم درحال پشتیبان گیری از اطلاعات همزمان نوار progress barهم داشته باشم که میزان پیشرفت عملیات پشتیبان گیری رو بهم نشون بده

12457812
سه شنبه 26 مرداد 1395, 11:31 صبح
سلام .امروز میخوام کد بکاپ و ریستور کردن پایگاه داده بوسیله کد سی شارپ براتون بزارم.
این کد کاملا تست شده و جواب داده


Cursor.Current = Cursors.WaitCursor;

try
{
if (File.Exists(@"d:\SQLBackup\svBackUp1.bak"))
{
if (MessageBox.Show("آیا مایل به انجام عمل بازگردانی هستید؟", "بازگردانی", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
//Connect SQL-----------
SqlConnection connect;
string con = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\SRVCARD.mdf;Integrated Security=True;User Instance=True";
connect = new SqlConnection(con);
connect.Open();
//-----------------------------------------------------------------------------------------

//Excute SQL----------------
SqlCommand command;
command = new SqlCommand("use master", connect);
command.ExecuteNonQuery();
command = new SqlCommand(@"restore database SRVCARD from disk = 'd:\SQLBackup\svBackUp1.bak'", connect);
command.ExecuteNonQuery();
//--------------------------------------------------------------------------------------------------------
connect.Close();

MessageBox.Show("بازگردانی با موفقیت انجام شد", "بازگردانی", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
else
MessageBox.Show(@"Do not make any endorsement above (or is not in the correct path)", "Restoration", MessageBoxButtons.OK, MessageBoxIcon.Information);

}
catch (Exception exp)
{
MessageBox.Show(exp.Message);
}



برای کسب اطلاعات بیشتر به http://www.papro.blogfa.com مراجعه کنید


سلام این کدی که دادین واسه sqlexpress هستش یا خود sql?

kaamel
دوشنبه 12 مهر 1395, 11:58 صبح
دوستان هنگام بک آپ گیری دچار این مشکل میشم
An unhandled exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll


Additional information: Database 'MDT' does not exist. Make sure that the name is entered correctly.
روشهای دیگه رو هم رفتم ، نتیجه نگرفتم ف لطفا راهنماییم کنید ، نمیدونم چطور برطرفش کنم

kaamel
دوشنبه 12 مهر 1395, 13:49 عصر
دوستان من از کدهای زیر برای ریستور کردن استفاده میکنم اما مشکل این هست که فایل log بانک رو میخواد،،، اما بخش کدهای بک آپ کارش رو انجام میده و بک آپ رو درست میگیره ، لطفا من رو راهنمایی کنید
OpenFileDialog openfiledialog = new OpenFileDialog();
openfiledialog.Filter = "BackupFile(*.BAK)|*.BAK";
if (openfiledialog.ShowDialog() == DialogResult.OK)
{
//try
//{
this.Refresh();
SqlCommand cmd = new SqlCommand();
cmd.Connection = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirec tory|\MDT.mdf;Integrated Security=True;Connect Timeout=60");
cmd.Connection.Open();
string dbname = cmd.Connection.Database;
cmd.Connection.Close();
string query = "ALTER DATABASE [" + Application.StartupPath + @"\MDT.mdf] SET SINGLE_USER WITH ROLLBACK IMMEDIATE ; USE MASTER
RESTORE DATABASE [" + Application.StartupPath + @"\MDT.mdf] FROM DISK= '" + openfiledialog.FileName + "' ;ALTER DATABASE [" + Application.StartupPath + @"\MDT.mdf ] SET MULTI_USER ;";
//string query = "use master " + " RESTORE DATABASE [" + Application.StartupPath + @"\MDT.mdf ] FROM DISK= '" + openfiledialog.FileName + "' ; ";


cmd.Connection = new SqlConnection(@"Data Source=(LocalDB)\v11.0;Integrated Security=True;Connect Timeout=60");
cmd.Connection.Open();
cmd.CommandText = query;
cmd.ExecuteNonQuery();
cmd.Connection.Close();
MessageBox.Show("بازیابی داده های شما با موفقیت انجام شد");

kaamel
سه شنبه 13 مهر 1395, 01:44 صبح
عزیران ، کسی نیست به من پاسخ بده:ناراحت::اشتباه:

kaamel
پنج شنبه 15 مهر 1395, 00:44 صبح
دوستان ، کسی نیست جواب بده

reza.m.majidi
جمعه 08 بهمن 1395, 16:14 عصر
با تشکر از مطالب مفیدتون
کد بکاپ گیری رو اجرا کردم به خوبی کار کرد
اما کد ری استور با خطا مواجه شد
ممنون میشم راهنمایی کنید

reza.m.majidi
جمعه 08 بهمن 1395, 19:25 عصر
دوستان ، کسی نیست جواب بده

این میتونه کمکتون کنه
http://uplod.ir/2lpo4pdzbvdn/BackRestore.rar.htm
من خودم خیلی دنبالش گشتم تا پیداش کردم

cmsdqq2
دوشنبه 23 اسفند 1395, 21:58 عصر
با عرض سلام و احترام

پس از جستجوهای فراوان، شیوه ی بکاپ گیری از دیتابیس SQL Server 2012 Express LocalDB از طریق #C را در این لینک می توانید بیابید. (http://barnamenevis.org/showthread.php?536001-%D8%A8%DA%A9%D8%A7%D9%BE-%DA%AF%DB%8C%D8%B1%DB%8C-%D8%A8%D9%87-%D8%B5%D9%88%D8%B1%D8%AA-%D9%85%D8%B3%D8%AA%D9%82%D9%84-%D8%A7%D8%B2-SMO)

لطفاً جهت حل این مسئله ی فراگیر برای دیگران، به دیگر افراد نیز اطلاع دهید.

saba664
چهارشنبه 13 دی 1396, 09:18 صبح
سلام .امروز میخوام کد بکاپ و ریستور کردن پایگاه داده بوسیله کد سی شارپ براتون بزارم.
این کد کاملا تست شده و جواب داده






if (File.Exists(@"d:\SQLBackup\svBackUp1.bak"))








من این کد رو می نویسم قسمت فایلش خطا میگیره به جای فایل بایداسم بانک خودمو بنویسم؟