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

نام تاپیک: خطاي Timeout expired در هنگام ري استور ديتابيس

  1. #1

    خطاي Timeout expired در هنگام ري استور ديتابيس

    سلام دوستان برنامه نويس
    من از اين كد براي ري استور ديتابيس استفاده ميكنم:

    اين كديه كه OpenFileDialog رو باهاش باز ميكنم

    privatevoid button2_Click(object sender, EventArgs e)
    {
    string strFileName = string.Empty;
    openFileDialog1.Filter =
    @"SQL Backup files (*.BAK) |*.BAK|All files(*.*) |*.*";
    openFileDialog1.FilterIndex = 1;
    openFileDialog1.Title =
    "Restore SQL File";
    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
    strFileName = openFileDialog1.FileName;
    Restore(strFileName);
    }
    }


    و اينم تابع ري استور:

    privatevoid Restore(string strFileName)
    {
    try
    {
    string command = "ALTER DATABASE Fix SET SINGLE_USER with ROLLBACK IMMEDIATE " +
    "use master " +
    " RESTORE DATABASE Fix FROM DISK='" + strFileName + "'";
    this.Cursor = Cursors.WaitCursor;
    SqlCommand oCommand = null;
    SqlConnection oConnection = null;
    oConnection =
    newSqlConnection("Data Source=.;Initial Catalog=Fix;Integrated Security=True");
    if (oConnection.State != ConnectionState.Open)
    oConnection.Open();
    oCommand =
    newSqlCommand(command, oConnection);
    oCommand.ExecuteNonQuery();
    this.Cursor = Cursors.Default;
    MessageBox.Show(" ");
    }
    catch (Exception ex)
    {
    MessageBox.Show("Error Occurd :" + ex.Message);
    }

    }



    مشكل اينه كه وقتي ديتابيس برنامه م رو توي Commandها مي نويسم، خطاي :
    Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
    رو ميده ولي وقتي با ديتابيس Pubs خود SqlServer تست ميكنم يا ديتابيسي غير از ديتابيس خود برنامه رو تست ميكنم درست جواب ميده
    ممنون ميشم راهنماييم كنين.
    آخرین ویرایش به وسیله rana-writes : سه شنبه 04 بهمن 1390 در 23:33 عصر

  2. #2
    کاربر دائمی
    تاریخ عضویت
    آذر 1385
    محل زندگی
    همین نزدیکیها
    پست
    683

    نقل قول: خطاي Timeout expired در هنگام ري استور ديتابيس

    توی backup گرفتن از دیتابیس معمولا مشکلی پیش نمیاد
    ولی توی Restore کردنه که همیشه مشکل داریم
    مشکلات برگردوندن اطلاعات میتونه اینها باشه
    1 - کاربرای دیگه بهش وصلن
    2 - خود ویژوال بهش وصله
    3 - اتصال خود برنامه به دیتابیس هست
    4 - حالت برگرداندن کامل(Full restore برای اون ) setنشده
    5 - رونویسی فایل ها در صورت موجودبودن دیتابیس در مسیر تعیین شده ، set نشده
    6 - برای restore کردن نیاز به مجوز داخلی sql هست که با user,pass که به sql وصل میشیم تا restore کنیم اون مجوز رو نداره
    ....


    برای درک بهتر ، یک پروژه هست برو اونو نگاه کن
    کد هاش بدردت میخوره
    http://midnightprogrammer.net/post/B...e-using-C.aspx

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

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