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

نام تاپیک: کمک در رابطه با بازیابی بانک sql

  1. #1

    Question کمک در رابطه با بازیابی بانک sql

    سلام تمام مطالب مربوط را خواندم ولی با این پیغام خطا نمی دانم چه کنم. لطفا راهنمایی کنیید.

  2. #2

    نقل قول: کمک در رابطه با بازیابی بانک sql

    این خطا:
    RESTORE cannot process database 'H:\SOURCE\APPLICATION\WORDS_APPLICATION\BIN\DEBUG \DB_WORDS.MDF' because it is in use by this session. It is recommended that the master database be used when performing this operation.
    RESTORE DATABASE is terminating abnormally.

  3. #3

    نقل قول: کمک در رابطه با بازیابی بانک sql

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

    این خطا برای چیست؟

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

    من در مورد kill روش kill کردن رو بلد نیستم.
    لطفا کمک کنید.
    آخرین ویرایش به وسیله zahra_no : دوشنبه 24 مرداد 1390 در 16:53 عصر دلیل: کامل کردن مطلب

  4. #4
    کاربر دائمی آواتار Esmail Solhkhah
    تاریخ عضویت
    مهر 1385
    محل زندگی
    بورکینافاسو
    پست
    1,774

    نقل قول: کمک در رابطه با بازیابی بانک sql


    خب طبیعیه برنامه خودتون بهش کانکشن باز داره

    احیانا تو کانکشن استرینگ مربوط به دستورات ریستور نام دیتابیس رو به همین دیتابیس جاری اشاره نکردید؟

    موقع بازیابی دیتابیس جاری باید master باشه


    من در مورد kill روش kill  کردن رو بلد نیستم.


    این کد :

    private void KillConnectionWithTSQL(string ServerConnectionString, string DataBaseName)
    {
    try
    {
    using (SqlConnection con = new SqlConnection(ServerConnectionString))
    {
    string query = @"SELECT DISTINCT request_session_id FROM master.sys.dm_tran_locks
    WHERE resource_type = 'DATABASE'
    AND resource_database_id = db_id(N'" + DataBaseName + "')";
    if (con.State != ConnectionState.Open)
    con.Open();
    SqlCommand cmd = con.CreateCommand();
    cmd.CommandText = query;
    SqlDataReader reader = cmd.ExecuteReader();

    List<object> pids = new List<object>();
    while (reader.Read())
    {
    pids.Add(reader[0]);
    }
    reader.Close();

    foreach (object Pid in pids)
    {
    if (Pid != null)
    {
    query = "KILL " + Pid;
    cmd.CommandText = query;
    cmd.ExecuteNonQuery();
    }
    }

    if (con.State == ConnectionState.Open)
    con.Close();
    }

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


    موفق باشید.

  5. #5

    نقل قول: کمک در رابطه با بازیابی بانک sql

    من با این دستور kill رو انجام میدم ولی باز همان خطا رو میده
    try
    {
    using (SqlConnection con = new SqlConnection(ServerConStr))
    {
    string query = @"SELECT DISTINCT request_session_id FROM master.sys.dm_tran_locks
    WHERE resource_type = 'DATABASE'
    AND resource_database_id = db_id(N'" + dbName + "')";
    if (con.State != ConnectionState.Open)
    con.Open();
    SqlCommand cmd = con.CreateCommand();
    cmd.CommandText = query;
    SqlDataReader reader = cmd.ExecuteReader();

    List<object> pids = new List<object>();
    while (reader.Read())
    {
    pids.Add(reader[0]);
    }
    reader.Close();

    foreach (object Pid in pids)
    {
    if (Pid != null)
    {
    query = "KILL " + Pid;
    cmd.CommandText = query;
    cmd.ExecuteNonQuery();
    }
    }

    if (con.State == ConnectionState.Open)
    con.Close();
    }

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


    دوستان کمک کنید. من به کمک فوری احتیاج دارم

  6. #6

    نقل قول: کمک در رابطه با بازیابی بانک sql

    برای بازیابی از این کد استفاده میکنم
    master بودن رو کجا باید بزارم؟
    OpenFileDialog openFileDialog = new OpenFileDialog();
    openFileDialog.AddExtension = true;
    openFileDialog.CheckFileExists = false;
    openFileDialog.CheckPathExists = true;
    openFileDialog.Filter = "Backup File (*.Bak)|*.Bak";
    openFileDialog.DefaultExt = "Bak";
    openFileDialog.RestoreDirectory = true;
    if (openFileDialog.ShowDialog() == DialogResult.OK)
    {
    this.server = new SQLServer2Class();
    this.Restor = new Restore2Class();
    this.server.LoginSecure = true;
    this.server.Connect(@"ZAHRA-PC\SQLEXPRESS", Missing.Value, Missing.Value);
    database = (Database2)server.Databases.Item("PIM", Missing.Value);
    Restor.Database = database.Name;
    Restor.Files = openFileDialog.FileName;
    Restor.SQLRestore(server);
    server.DisConnect();
    Restor = null;
    server = null;
    MessageBox.Show("jjgiuggvhh");
    }


    شرمنده میدونم بگردم پیدا میکنم
    ولی واقعا وقت ندارم
    بازم شرمنده دوست عزیز

  7. #7
    کاربر دائمی آواتار Esmail Solhkhah
    تاریخ عضویت
    مهر 1385
    محل زندگی
    بورکینافاسو
    پست
    1,774

    نقل قول: کمک در رابطه با بازیابی بانک sql


  8. #8

    نقل قول: کمک در رابطه با بازیابی بانک sql

    نقل قول نوشته شده توسط Esmail Solhkhah مشاهده تاپیک
    DMo

    ممنون دوست عزیز که کمکم میکنید.
    آخرین ویرایش به وسیله zahra_no : دوشنبه 24 مرداد 1390 در 21:40 عصر

  9. #9
    کاربر دائمی آواتار Esmail Solhkhah
    تاریخ عضویت
    مهر 1385
    محل زندگی
    بورکینافاسو
    پست
    1,774

    نقل قول: کمک در رابطه با بازیابی بانک sql

    دوست عزیز بنده این کار رو قبلا با DMO انجام دادم ولی واقعیتش ماله چند سال پیشه

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

    فعلا این لینکها رو بررسی کنید

    اگه مورد حل نشد PM بدید از آرشیوم پیدا میکنم براتون سند میکنم

    http://www.dotnetspider.com/resource...ng-SQLDMO.aspx

    http://social.msdn.microsoft.com/For...-b80891f832eb/

    موفق باشید.

  10. #10

    نقل قول: کمک در رابطه با بازیابی بانک sql

    قبل از restore کوئری زیر رو اجرا کنید
    1
    ALTER DATABASE DatabaseName SET SINGLE_USER with ROLLBACK IMMEDIATE





    بعد restore رو انجام بدید مثل کوئری زیر
    1
    RESTORE DATABASE DatabaseName FROM DISK= 'Path' WITH FILE = 1,NOUNLOAD,REPLACE,STATS = 10





    بعد کوئری زیر رو در نهایت اجرا کنید
    1
    ALTER DATABASE DatabaseName SET MULTI_USER





    به جای DatabaseName اسم دیتابیستونو بذارید , path هم مسیر بک آپ هست

    اینو دوست عزیزمون زحمت کشیدن دستش درد نکنه با این کد تونستم مشکلمو حل کنم soheila_1643

  11. #11
    کاربر دائمی آواتار Esmail Solhkhah
    تاریخ عضویت
    مهر 1385
    محل زندگی
    بورکینافاسو
    پست
    1,774

    نقل قول: کمک در رابطه با بازیابی بانک sql

    خب اونموقع DMO رو میخاید چیکار

    اینکه شد کلا TSQL

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

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