نمایش نتایج 1 تا 17 از 17

نام تاپیک: نحوه Backup & Restore گیری از 2008 SQL Server Express

  1. #1
    کاربر جدید
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    اصفهان
    پست
    26

    نحوه Backup & Restore گیری از 2008 SQL Server Express

    سلام دوستان میدونم تاپیک تکراریه ولی من هرچی کد تو پست های قبلی بود رو تست کردم خطا داده ، یک نفر لطف کد یا یک مثال ساده برای Backup & Restore از یک دیتابیس اکسپرس ارسال کنه.

  2. #2
    کاربر دائمی آواتار m.soleimani
    تاریخ عضویت
    دی 1386
    محل زندگی
    اصفهان
    پست
    639

    نقل قول: نحوه Backup & Restore گیری از 2008 SQL Server Express

    نقل قول نوشته شده توسط FremderJunge مشاهده تاپیک
    سلام دوستان میدونم تاپیک تکراریه ولی من هرچی کد تو پست های قبلی بود رو تست کردم خطا داده ، یک نفر لطف کد یا یک مثال ساده برای Backup & Restore از یک دیتابیس اکسپرس ارسال کنه.
    Backup

    Restore

    شاد و پیروز باشید./

  3. #3
    کاربر جدید
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    اصفهان
    پست
    26

    نقل قول: نحوه Backup & Restore گیری از 2008 SQL Server Express

    تشکر ویژه از m.soleimani که این ویدیوی آموزشی رو آدرس دادن ولی متاسفانه به اینترنت پرسرعت تا اون هفته دسترسی ندارم که این آموزش رو ببینم اگه کسی مثال کدی هم داره اطف کنه. یه مشکل دیگه اینکه من فعلا برای این پروژه SQl Server Management Studio ندارم بدون اون میشه Backup & Restore گرفت یا نه باید برم گیر بیارم؟
    آخرین ویرایش به وسیله FremderJunge : دوشنبه 18 مهر 1390 در 10:04 صبح

  4. #4
    کاربر جدید
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    اصفهان
    پست
    26

    نقل قول: نحوه Backup & Restore گیری از 2008 SQL Server Express

    سلام کسی یه مثل ساده آپلود کنه مشکل ما حل بشه؟
    من خیلی کد چک کردم مشکل ابنجاست که پیغام میده Database در حال استفاده است و نمی تونید از اون بک آپ بگیرید.

  5. #5
    کاربر دائمی آواتار m.soleimani
    تاریخ عضویت
    دی 1386
    محل زندگی
    اصفهان
    پست
    639

    نقل قول: نحوه Backup & Restore گیری از 2008 SQL Server Express

    اگر از منجمنت استدیو استفاده نمی‌کنی به صورت دستی دیتابیس رو stop کن تا دیگه جایی ازش استفاده نکنه برای این کار کافیه که داخل run این دستور رو بنویسی
    services.msc.
    از اونجا سرور رو پیدا کن و stop کن کارت که تموم شد میتونی دوباره start کنی./

  6. #6
    کاربر جدید
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    اصفهان
    پست
    26

    نقل قول: نحوه Backup & Restore گیری از 2008 SQL Server Express

    نقل قول نوشته شده توسط m.soleimani مشاهده تاپیک
    اگر از منجمنت استدیو استفاده نمی‌کنی به صورت دستی دیتابیس رو stop کن تا دیگه جایی ازش استفاده نکنه برای این کار کافیه که داخل run این دستور رو بنویسی
    services.msc.
    از اونجا سرور رو پیدا کن و stop کن کارت که تموم شد میتونی دوباره start کنی./
    خودم که دستی میتونم این کارو انجام بدم می خوام تو نرم افزار این کار رو خودش خودکار انجام بده!

  7. #7
    کاربر دائمی آواتار m.soleimani
    تاریخ عضویت
    دی 1386
    محل زندگی
    اصفهان
    پست
    639

    نقل قول: نحوه Backup & Restore گیری از 2008 SQL Server Express

    نقل قول نوشته شده توسط FremderJunge مشاهده تاپیک
    خودم که دستی میتونم این کارو انجام بدم می خوام تو نرم افزار این کار رو خودش خودکار انجام بده!
    یه چیز غیر اصولی که الان به فکرم می‌رسه و بدون فکر کردن دارم میگم این هست که یه بچ فایل براش بنویسی « در صورتی که بلد باشی » و زمان مورد نیاز فراخوانیش کنی تا خودش بانک رو متوقف کنه و بعد هم با یه برنامه دیگه بانک رو دوباره راه‌اندازی کنه فعلن همین رو توی ذهنم دارم نصفه شبی ولی اگر مورد مناسبی بعدن پیدا کردم حتمن خبرت می‌کنم ./

  8. #8
    کاربر جدید
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    اصفهان
    پست
    26

    نقل قول: نحوه Backup & Restore گیری از 2008 SQL Server Express

    نقل قول نوشته شده توسط m.soleimani مشاهده تاپیک
    یه چیز غیر اصولی که الان به فکرم می‌رسه و بدون فکر کردن دارم میگم این هست که یه بچ فایل براش بنویسی « در صورتی که بلد باشی » و زمان مورد نیاز فراخوانیش کنی تا خودش بانک رو متوقف کنه و بعد هم با یه برنامه دیگه بانک رو دوباره راه‌اندازی کنه فعلن همین رو توی ذهنم دارم نصفه شبی ولی اگر مورد مناسبی بعدن پیدا کردم حتمن خبرت می‌کنم ./
    مرسی
    بچ فایل رو گذاشتم برای مرحله آخر چون چیزی ازش بلد نیستم ولی چاره ای نباشه میرم دنبالش، فعلا ساده ترین کار نوشتن یه دستور که خود فایل اصلی دیتابیس رو کپی پیست کنه.

  9. #9
    کاربر دائمی آواتار m.soleimani
    تاریخ عضویت
    دی 1386
    محل زندگی
    اصفهان
    پست
    639

    نقل قول: نحوه Backup & Restore گیری از 2008 SQL Server Express

    نقل قول نوشته شده توسط FremderJunge مشاهده تاپیک
    مرسی
    بچ فایل رو گذاشتم برای مرحله آخر چون چیزی ازش بلد نیستم ولی چاره ای نباشه میرم دنبالش، فعلا ساده ترین کار نوشتن یه دستور که خود فایل اصلی دیتابیس رو کپی پیست کنه.
    هم‌شهری این‌ رو تست کن ببین نیاز شما رو برطرف می‌کنه یا نه :

     
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.ServiceProcess;
    namespace ConsoleApplication1
    {
    class Program
    {
    static void Main()
    {
    string myServiceName = "MSSQL$SQLEXPRESS"; //service name of SQL Server Express
    string status; //service status (For example, Running or Stopped)
    Console.WriteLine("Service: " + myServiceName);
    //display service status: For example, Running, Stopped, or Paused
    ServiceController mySC = new ServiceController(myServiceName);
    try
    {
    status = mySC.Status.ToString();
    }
    catch (Exception ex)
    {
    Console.WriteLine("Service not found. It is probably not installed. [exception=" + ex.Message + "]");
    Console.ReadLine();
    return;
    }
    //display service status: For example, Running, Stopped, or Paused
    Console.WriteLine("Service status : " + status);
    //if service is Stopped or StopPending, you can run it with the following code.
    if (mySC.Status.Equals(ServiceControllerStatus.Stoppe d) | mySC.Status.Equals(ServiceControllerStatus.StopPen ding))
    {
    try
    {
    Console.WriteLine("Starting the service...");
    mySC.Start();
    mySC.WaitForStatus(ServiceControllerStatus.Running );
    Console.WriteLine("The service is now " + mySC.Status.ToString());
    }
    catch (Exception ex)
    {
    Console.WriteLine("Error in starting the service: " + ex.Message);
    }
    }
    Console.WriteLine("Press a key to end the application...");
    Console.ReadLine();
    return;
    }
    }
    }


    پی‌نوشت : راستی یادم رفت بگم این رفرنس رو هم به پروژه خودت اضافه کن :
     
    System.ServiceProcess

  10. #10
    کاربر جدید
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    اصفهان
    پست
    26

    نقل قول: نحوه Backup & Restore گیری از 2008 SQL Server Express

    این کد خروجی میده که سرویس شما در حالت اجراست.
    اگه درست متوجه شده باشم با نوشتن یه متد Stop الان باید بشه دیتابیس رو متوقف کرد و بک آپ گرفت.

  11. #11
    کاربر دائمی آواتار m.soleimani
    تاریخ عضویت
    دی 1386
    محل زندگی
    اصفهان
    پست
    639

    نقل قول: نحوه Backup & Restore گیری از 2008 SQL Server Express

    نقل قول نوشته شده توسط FremderJunge مشاهده تاپیک
    این کد خروجی میده که سرویس شما در حالت اجراست.
    اگه درست متوجه شده باشم با نوشتن یه متد Stop الان باید بشه دیتابیس رو متوقف کرد و بک آپ گرفت.
    بله به همین شکل عمل می‌کنه بعد از این که کارت رو انجام دادی برای این‌که مشکلات بعدی پیش نیاد دوباره سرویس مورد نظر رو راه‌اندازی کن./

  12. #12
    کاربر جدید
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    اصفهان
    پست
    26

    نقل قول: نحوه Backup & Restore گیری از 2008 SQL Server Express

    string strFileName = "BackupFile.bak";
    try
    {
    this.Cursor = Cursors.WaitCursor;
    SqlCommand cmd = new SqlCommand();
    SqlConnection.ClearAllPools();
    cmd.Connection = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\mydb.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 ='c:\\" + 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=|DataDirecto ry|\\mydb.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);
    }

    با کد بالا مشکل BackUp حل شد حالا میرسیم به Restore و دوباره روز از نو

  13. #13
    کاربر دائمی آواتار m.soleimani
    تاریخ عضویت
    دی 1386
    محل زندگی
    اصفهان
    پست
    639

    نقل قول: نحوه Backup & Restore گیری از 2008 SQL Server Express

    با کد بالا مشکل BackUp حل شد حالا میرسیم به Restore و دوباره روز از نو
    یکم تلاش کن به نتیجه میرسی همیشه دستت رو بزار روی زانوی خودت و بلندشو به هر حال کدت رو بنویس هرجا به مشکل برخوردی بپرس حتمن بهت پاسخ داده می‌شه. اگر کد مناسبی هم به ذهنم رسید برات می‌نویسم ./

  14. #14
    کاربر جدید
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    اصفهان
    پست
    26

    نقل قول: نحوه Backup & Restore گیری از 2008 SQL Server Express

    سلام
    هر نوع کدی رو برای ریستور امتحان کردم ولی باز خطای میده که پایگاه داده شما در حال استفاده است آیا کدی باید وارد کنم تا ارتباط ها با پایگاه داده رو حذف کنه یا اشکال از جای دیگه است؟
    کدی رو هم که دوست عزیز m.soleimani دادن کل Sql رو Off میکنه و دوباره Run هم نمیکنه در حای که تو برنامه پیغام اجرا میده!

    یه سوال دیگه مثلا در آینده به این پایگاه داده بخوایم یه جدول جدید یا به یکی از جداول چند فیلد اضافه کنیم تکلیف این Backup ها چی میشه؟آیا راهی هست که از BackUp قبلی استفاده کرد یا باید اطلاعات رو از اول وارد کرد؟

  15. #15
    کاربر جدید
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    اصفهان
    پست
    26

    نقل قول: نحوه Backup & Restore گیری از 2008 SQL Server Express

    سلام
    کد Restore که به سختی پیداش کردم اینجا میگذارم شاید به درد کسی بخوره.
     try
    {
    this.Cursor = Cursors.WaitCursor;
    SqlCommand cmd = new SqlCommand();
    SqlConnection.ClearAllPools();
    cmd.Connection = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|DataBase.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
    cmd.Connection.Open();
    string dbname = cmd.Connection.Database;
    cmd.Connection.Close();
    string query = "USE [master]; RESTORE DATABASE [" + dbname + "] FROM DISK = N'" + TxtAddress.Text + "' WITH NOUNLOAD, REPLACE, STATS = 10";
    cmd.Connection = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|DataBase.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);
    this.Close();
    }
    catch
    {
    MessageBox.Show(" خطا در جایگزینی نسخه پشتیبان", "پشتیبان گیری", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }

  16. #16

    نقل قول: نحوه Backup & Restore گیری از 2008 SQL Server Express

    البته یه راه ساده تر اینکه اگه به شما پیغام میده که دیتابیس در حال اجراست (که البته در مورد Backup گیری تا به حال من این پیغام را مشاهده نکردم) یه دیتابیس دیگه را به حالت اجرایی ببرید بعد از دیتابیستان Backup بگیرید .
    می تونی از دستور use استفاده کنی .
    برای Backup گیری از دیتابیس به نام kamel از روش زیر استفاده کن .
    use master
    go
    backup database kamel to disk='e:\kamel'
    go
    فقط آدرس باید داخل ' ' باشد

  17. #17

    نقل قول: نحوه Backup & Restore گیری از 2008 SQL Server Express

    با سلام به دوستان برنامه نویس
    من دیتابیسم رو در sql management 2012 نوشتم و الان میخوام در سیستم مقصد با sql express 2012 برنامه مو اجرا کنم
    برای بکاب گیری از کوئری زیر استفاده می کنم (یعنی اتچ بیس هستش):
    'BACKUP DATABASE [|DatDirectory|\PhoneBookDB.mdf] TO DISCK = 'save path
    ارور میده که دیتابیس در این مسیر وجود ندارد در واقع DataDirectory داخل براکت کار نمی کند. چون
    اگر مسیر دیتابیس را به صورت دستی وارد می کنم بکاپ عمل میکند، Application.StartupPath رو هم
    امتحان کردم ولی باز جواب نداد

    اگر دوستان راهنمایی بفرمایند ممنون میشم...

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •