-
آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
سلام .امروز میخوام کد بکاپ و ریستور کردن پایگاه داده بوسیله کد سی شارپ براتون بزارم.
این کد کاملا تست شده و جواب داده
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 مراجعه کنید
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
سلام
ممنون از پست خوبت، میشه کد بک آپ گیری رو هم بذاری البته تست شده !
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
اینم کد بک آپ
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 مراجعه کنید
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
سلام اگر بخواهیم از save dialog مسیر را تعیین کنیم چه تغییری باید در برنامه بدهبم.
من از این کد استفاده کردم اما انجام نمی دهد.
privatevoid 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);
}
privatevoid backup(string strNameFile)
{
try
{
string command = @"backup database [library] to disk='"+strNameFile+"'";
this.Cursor = Cursors.WaitCursor;
SqlCommand ocommand = null;
SqlConnection connect = null;
connect = newSqlConnection("data source =" + Dns.GetHostName() + @"\SQLEXPRESS;initial catalog=library;integrated security=true");
if (connect.State != ConnectionState.Open)
{
connect.Open();
ocommand = newSqlCommand(command, connect);
ocommand.ExecuteNonQuery();
this.Cursor = Cursors.Default;
MessageBox.Show("anjam shod");
}
}
catch (Exception ex)
{
MessageBox.Show("error " + ex.Message);
}
-
1 ضمیمه
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
سلام این فایل می تونه به شما کمک کنه
برای کسب اطلاعات بیشتر به http://www.papro.blogfa.com مراجعه کنید
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
سلام
من می خواهم کد بک اپ وریستور را در یه پروسیجر بنویسم اما نمی دونم چه طور اونها در سی شارپ فراخوانی کنم پروسیجر بک اپ رو به این شکل نوشتم که البته این هم مطمئن نیستم درسته یا نه
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
میشه لطفا کمکم کنید
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
salam
این روش به نظرم خیلی کارآمدتر از نوشتن کد های sql در بین کدهاب سی شارپه:تشویق:
البته من هر کاری کردم نتونستم پروسیجری در sqlexpress(منظورم همون نسخه همراه ویژوال استودیوه!) بنویسم:ناراحت:
ولی کسایی که با sql server management studio کار میکنن میتونن از روی پروسیجر ذخیره شده ای به نام
sys.sp_addumpdevice برای نوشتن پروسیجر تقلب کنن!!
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
سلام میشه توضیح بدید خط
Cursor.Current = Cursors.WaitCursor;
رو برای چی نوشتید؟اصلا چی کار میکنه؟
بعد من توی قسمت پشیبان گیری مشکل دارم "d:\SQLBackup\svBackUp1.bak" آدری چیه؟ و همچنین اولای کدتون " if (Directory.Exists(@"d:\SQLBackup")) {" برای چی؟
-
3 ضمیمه
مديريت بانك sql server + پشتيبانگيري + بازيابي پشتيبيان
با سلام و درود به برنامه نويسان عزيز .
اين هم آموزشي كه در خواست كرده بوديد : آموزش پشتيبان گيري و بازيابي آن توسط پروسيجر در سي شارپ
موفق باشيد
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
این کد ها اگه در سیستم مقصد نسخه express نصب باشه کار میکنند؟
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
Cursor.Current = Cursors.WaitCursor;
مکان نمای فعلی موس را به شکل انتظار(ساعت شنی در میاره) همین.کار خاصی انجام نمیده
نقل قول:
عد من توی قسمت پشیبان گیری مشکل دارم "d:\SQLBackup\svBackUp1.bak" آدری چیه؟
این دایرکتوری مسیری است که فایل بکاپتون ذخیره میشه.در واقع مسیر و اسم فایل بکاپتون رو خودتون از کد نویسی لنتخاب می کنید.
" if (Directory.Exists(@"d:\SQLBackup"))
این شرط هم همونطور که ازش مشخصه میگه که اگر دایرکتوری که بالا توضیحش دادم(البته به جز فایل.فقط مسیر) وجود داشت شرط بعدی که عدم وجود یا وجود فایل بکاپ هست رو چک می کنه.
این کد که خیلی واضح هست من نمی دونم دیگه چطور میشه توضیحش داد
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
1
2
Cursor.Current = Cursors.WaitCursor;
مکان نمای فعلی موس را به شکل انتظار(ساعت شنی در میاره) همین.کار خاصی انجام نمیده
عد من توی قسمت پشیبان گیری مشکل دارم "d:\SQLBackup\svBackUp1.bak" آدری چیه؟
این دایرکتوری مسیری است که فایل بکاپتون ذخیره میشه.در واقع مسیر و اسم فایل بکاپتون رو خودتون از کد نویسی لنتخاب می کنید.
1
2
" if (Directory.Exists(@"d:\SQLBackup"))
این شرط هم همونطور که ازش مشخصه میگه که اگر دایرکتوری که بالا توضیحش دادم(البته به جز فایل.فقط مسیر) وجود داشت شرط بعدی که عدم وجود یا وجود فایل بکاپ هست رو چک می کنه.
این کد که خیلی واضح هست من نمی دونم دیگه چطور میشه توضیحش داد
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
آیا این کد به صورت اتوماتیک بکآپ می گیره؟
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
من وقتی می خوام 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 استفاده می کنم.ولی باز همین پیغام رو میده.
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
نقل قول:
نوشته شده توسط
hadi.araban
آیا این کد به صورت اتوماتیک بکآپ می گیره؟
منظورتون از اتوماتیک چیه؟یعنی هر چند وقت یکبار خودش بکاپ بگیره؟و یا چیز دیگه ای؟
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
نقل قول:
نوشته شده توسط
from_hell
من وقتی می خوام 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 استفاده می کنم.ولی باز همین پیغام رو میده.
شما این کد رو کدوم قسمت برنامت نوشتی؟شاید قسمتی نوشتی که از پایگاه داده داره استفاده میشه.معمولات کد بکاپ و ریستور میزارن توی صفحه اصلی برنامه.جایی که هیچ اتفاقی روی پایگاه داده نمیوفته.
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
سلام دوستان.
وقتی این کد رو اجرا میکنم خطا دریافت میکنم که دیتا بیس رو پیدا نمیکنه.
این خطا رو میده:
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_...1_51_24_PM.gif
ممنون میشم راهنماییم کنید.
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
بسيار ممنون و سپاسگزارم.... تنها كدي كه واسه بك آپ كار كرد همين بود... ممنونم ..
البته واسه من يه اروور كوچك داد كه با گشتن تو سايت برنامه نويس اين لينكو پيدا كردم و حل شد... http://stackoverflow.com/questions/9...-created-by-vs
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
نقل قول:
نوشته شده توسط
firoozi90
شما این کد رو کدوم قسمت برنامت نوشتی؟شاید قسمتی نوشتی که از پایگاه داده داره استفاده میشه.معمولات کد بکاپ و ریستور میزارن توی صفحه اصلی برنامه.جایی که هیچ اتفاقی روی پایگاه داده نمیوفته.
منم براي بازيابي به مشكلي كه from-hell گفتن برخوردم... خوب البته قبل از صفحه اصلي برنامه ، يك فرم براي login كاربر دارم.... چه كار مي تونم كنم؟
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
سلام دوستان میشه یک سورس کامل بزارید تمام سایت را گشتم همه کد گذاشتن که برای ما مبتدی ها پیاده سازیش سخته من دارم روی اولین پروژه ام کار میکنم که با Sqlو #C هست می خوام این کارو یاد بگیرم توروخدا پیشنهاد جستجو ندیداگه بزارید ممنونتون میشم...
-
نقل قول: مديريت بانك sql server + پشتيبانگيري + بازيابي پشتيبيان
نقل قول:
نوشته شده توسط
miladprogrammer
با سلام و درود به برنامه نويسان عزيز .
اين هم آموزشي كه در خواست كرده بوديد : آموزش پشتيبان گيري و بازيابي آن توسط پروسيجر در سي شارپ
موفق باشيد
سلام من نتونستم با پروسیجر پشتیبانگیریو پیدا کنم !!!
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
نقل قول:
نوشته شده توسط
*Ashrafi*
سلام دوستان میشه یک سورس کامل بزارید تمام سایت را گشتم همه کد گذاشتن که برای ما مبتدی ها پیاده سازیش سخته من دارم روی اولین پروژه ام کار میکنم که با Sqlو #C هست می خوام این کارو یاد بگیرم توروخدا پیشنهاد جستجو ندیداگه بزارید ممنونتون میشم...
دوست عزيز منظورت از سورس كامل چيه؟
اين كد رو كه من گذاشتم يكي از راحت ترين كدهاست.
شما هرجاش كه براتون نامفهومه بگيد من توضيح خواهم داد
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
سلام بچه ها من يه مشكل دارم
وقتي اين كد رو مي نويسم پيغام ارور مي ده كه ذيتا بيسمو نميشناسه
Database 'DBKordestan' does not exist. Make sure that the name is entered correctly.
BACKUP DATABASE is terminating abnormally.
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
نقل قول:
نوشته شده توسط
beno2009
سلام بچه ها من يه مشكل دارم
وقتي اين كد رو مي نويسم پيغام ارور مي ده كه ذيتا بيسمو نميشناسه
Database 'DBKordestan' does not exist. Make sure that the name is entered correctly.
BACKUP DATABASE is terminating abnormally.
سلام دوست من حتما اشتباه تایپی داشتی.مثلا اسم پایگاه داده ات رو توی کد اشتباه وارد کردی.
در غیر اینصورت کدت رو بزار تا ببینم مشکلش چی هست
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
سلام دوستان
من فقط فایل .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);
}
-
1 ضمیمه
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
با سلام
من یه فایل pdf دارم شاید بدردتون بخوره،موفق باشید.
-
1 ضمیمه
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
سلام دوست عزیز
من کدهایی که شما گفته بودن رو اجرا کردم
برای backup مشکلی نبود و لی توی restore این خطا رو میده :
-
1 ضمیمه
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
سلام دوست عزیز
من کدهایی که شما گفته بودین رو اجرا کردم
برای backup مشکلی نبود و لی توی restore این خطا رو میده :
-
1 ضمیمه
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
بچه ها من يه مشكل دارم اونم اينه كه :
يه برنامه فروشگاهي نوشته ام و sql server رو فقط رو كامپيوتر سرور نصب كردم و بقيه كلاينت ها براي استفاده از بانك اطلاعاتي از آدرس سرور استفاده ميكنند.
back upگيري تو سرور مشكل نداره اما تو كلاينت ها با اين خطا مواجه ميشم.
خطاش به نظرم در مورد مسير اما اين مسير تو كلاينت ها وجود داره
نميدونم چرا باز اينو ميگه
ميشه راهنماييم كنيد؟؟؟؟
ضمیمه 99819
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
نقل قول:
بچه ها من يه مشكل دارم اونم اينه كه :
يه برنامه فروشگاهي نوشته ام و sql server رو فقط رو كامپيوتر سرور نصب كردم و بقيه كلاينت ها براي استفاده از بانك اطلاعاتي از آدرس سرور استفاده ميكنند.
back upگيري تو سرور مشكل نداره اما تو كلاينت ها با اين خطا مواجه ميشم.
خطاش به نظرم در مورد مسير اما اين مسير تو كلاينت ها وجود داره
نميدونم چرا باز اينو ميگه
ميشه راهنماييم كنيد؟؟؟؟
سلام
مسیر گرفتن Back up فقط می تونه رو سرور باشه ، البته با کلاینتها میشه back up گرفت اما روی سرور back up گرفته میشه .
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
امکان داره یک نمونه اجرای قرار بدید
-
1 ضمیمه
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
سلام.
من موقع ریستور به همچین مشکلی برخوردم.لطفا راهنمایی کنید.ممنونم.
ضمیمه 103200
-
1 ضمیمه
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
سلامی دوباره.مشکل قبلیم حل شد با اضافه کردن with replace به آخر کوئری.
حالا مشکل جدیدم اینه:
ضمیمه 103201
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
command = new SqlCommand(@"restore database SRVCARD from disk = 'd:\SQLBackup\svBackUp1.bak'", connect);
command.CommandTimeout = 0;
command.ExecuteNonQuery();
این مشکل هم حل شد با ;command.CommandTimeout = 0 که اضافه کردم به بالا.
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
وقتی دستورات 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)
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
با سلام به همگی دوستان
من هر چی کد در مورد پشتیبانگیری و بازگردانی بلد بودم نوشتم من در نسخه اصلی 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.
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
ممکنه اون مشکل من به خاطر نصب نبودن کامل SQL باشه؟ بانک در SQL 2008R2 ساخته شده و من از طریق VS باهاش کار میکنم، از درستی کدهای Backup , Restore تقریبا مطمئنم.
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
با سلام به همگی
یعنی کسی نیست که بتونه مشکلم حل کنه هرچی فکر میکنم هیچی به ذهنم نمیرسه که بفهمم چی دیگه بنویسم :گیج:
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
نقل قول:
نوشته شده توسط
ragbar1
پیغام خطا 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();
استفاده کنی.
موفق باشی
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
لینک زیر بک آپ گیری و ریستور کردن بانک اطلاعاتی SQL رو در سی شارپ به صورت تصویری و فارسی آموزش میده.
فیلم آموزش Backup گیری پایگاه داده SQL در سی شارپ
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
امکان داره یک نمونه اجرای قرار بدید
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
با سلام خدمت شما تمامی دوستان
در ابتدا بخاطر فیلم آموزشی که گذاشتید و دستور قطع ارتباطی که بیان کردید تشکر میکنم من با استفاده از فیلم و با به کار بردن این دستور برنامه جداگانه ای نوشتم ولی بازهم بعد از یک بار اجرا دوباره همان دو خطا را میدهد و یک باری که برنامه اجرا میشود پیغام بازگردانی با موفقیت انجام شد را نشان میدهد ولی زمانی که سراغ جدولها میروم میبینم هیچ عمل بازگردانی انجام نداده است اگه میشه و کسی میدونه چرا اینطور میشه به من بگه بازهم از جوابهایی که به تایپیکهای من دادید خیلی خیلی تشکر میکنم منتظر راهنماییتون هستم با تشکر
کد پشتیبان گیری که با پروژه جدیدی که نوشتم
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.
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
من تو پروژه از چنین دستوراتی استفاده نکردم
از linq وDataSet استفاده کردم
با این دستورات هرکار میکنم خطا میده...
راهنمائی کنید
تشکر
-
1 ضمیمه
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
ضمیمه 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);
}
}
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
سلام
من کدهای پشتیبان گیری و بازیابی پایگاه داده را با اصلاحات لازم نوشتم.
دو متد بسیار سادست که هر کدام دو مقدار ورودی میگیره، یکی نام پایگاه داده و دیگری نام و مسیر فایل مورد نظره.
اگر مشکلی بود بفرمایید تا توضیخ بدم:چشمک:
کد 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();
}
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
نقل قول:
نوشته شده توسط
mosab_vb
سلام.
من موقع ریستور به همچین مشکلی برخوردم.لطفا راهنمایی کنید.ممنونم.
ضمیمه 103200
سلام دوست عزیز. من هم با مشکل شما روبرو شدم. ولی اگر از with replaceاستفاده کنیم داده های روی دیتا بیسو پاک میکنه . بعد این فایل بک آپ رو جایگزین میکنه. شما راه حل دیگه ای براش ندارید؟:متفکر:
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
سلام دوستان.
من همه چیز رو درست انجام دادم اما وقتی می خواد بکاپ بگیره این اررور رو میده
کد HTML:
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 هست
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
کسی میدونه خطای این دستور چیه؟
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'.
-
نقل قول: آموزش بکاپ و ریستور پایگاه داده sql با سی شارپ
سلام
آیا میشه دستور بکاپ رو توی یک تایمر گذاشت تا بصورت اتوماتیک مثلا در 12 شب بکاپ گرفته بشه...؟؟
یا کار بهتری هم میشه انجام داد
ممنون میشم راهنمایی کنید...