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

نام تاپیک: مشکل در detach کردن sql express

  1. #1
    کاربر دائمی آواتار morika
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    کرج
    سن
    33
    پست
    736

    Question مشکل در detach کردن sql express

    سلام
    الان دو روزه دارم تمام سایت رو میگردم واسه اینکه چجوری میشه بانک رو detach کرد واسه کپی کردن فایلش. همه راهایی که تو سایت بود و تست کردم ولی نشد که نشد. این پیغام و میده.
    System databases master, model, msdb, and tempdb cannot be detached.
    چیکارش کنم؟
    ممنون

  2. #2
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,718

    نقل قول: مشکل در detach کردن sql express

    سلام. عزیز شما میخوای فایل های اصلی و پایه ای sql server رو detach کنی ( از دور خارج کنی). sql هم اجازه چنین کاری رو به شما نمیده. شما باید دیتابیس خودتو دیتچ کنی. عکس ها رو ببین (sql دقیقا داره به شما میگه این 4 تا مال منه، باهاش کاری نداشته باش!):

    dbmaster1.JPG

    dbmaster2.JPG

  3. #3
    کاربر دائمی آواتار morika
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    کرج
    سن
    33
    پست
    736

    نقل قول: مشکل در detach کردن sql express

    البته منظور من detach کردن بانکی هست که واسه برناهم خودم تو #C ساختم. می خوام اونو از برنامم جدا کنم تا بتونم فایل mdf. و ldf. رو کپی کنم. با SQL Management Studio کاری ندارم. تمام کارایی که تو سایت بود رو انجام دادم ولی نشد که نشد. یا این پیغام رو میده یا اصلا پیغام نمیده ولی وقتی به کد کپی کردن فایلهای می رسه پیغام میده که فایل توسط یه پروسه دیگه اشغال شده.

  4. #4
    کاربر دائمی آواتار morika
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    کرج
    سن
    33
    پست
    736

    نقل قول: مشکل در detach کردن sql express

    دوستان کسی نظری نداره؟

  5. #5
    کاربر دائمی آواتار morika
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    کرج
    سن
    33
    پست
    736

    نقل قول: مشکل در detach کردن sql express

    دوستان عزیز من می خوام از دوتا فایل تو #C کپی بگیرم

  6. #6
    کاربر دائمی آواتار morika
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    کرج
    سن
    33
    پست
    736

    نقل قول: مشکل در detach کردن sql express

    می خوام از بانکم بکاپ بگیرم ولی حتما لازمه که خود فایلهای بانک رو کپی کنم تو یه فولدر دیگه نمی شه از متدهای بکاپ گیری خود sql مثل SMO استفاده کنم. ولی حالا هرکاری که می کنم اتصال بانک از برنامه قطع نمیشه که نمیشه که نمیشه

  7. #7
    مدیر بخش آواتار danialafshari
    تاریخ عضویت
    تیر 1387
    محل زندگی
    هر کجا هستم باشم آسمان مال من است
    پست
    2,909

    نقل قول: مشکل در detach کردن sql express

    اینجا بستگی به طراحی هم داره اگر دکمه کپی رو در فرم نمایش اطلاعات باشه باید ObjectName.dispose(); رو هم انجام بدی

  8. #8
    کاربر دائمی آواتار morika
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    کرج
    سن
    33
    پست
    736

    نقل قول: مشکل در detach کردن sql express

    الان دیگه هرچی از هرجا دستم میاد مینویسم ولی بازم نمیشه
    SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector  y|\MSDB.mdf;Integrated Security=True;User Instance = True");
    SqlConnection.ClearAllPools();
    SqlConnection.ClearPool(con);
    con.Dispose();
    File.Copy(Application.StartupPath + "\\msdb.mdf", "e:\\msdb.mdf");

  9. #9
    کاربر دائمی آواتار alias136790
    تاریخ عضویت
    خرداد 1391
    محل زندگی
    جنوب
    پست
    193

    نقل قول: مشکل در detach کردن sql express

    برای detach کردن کافیه از کانکت استرینگ زیر استفاده کنی:
    'use master; EXECUTE sp_detach_db @dbname = N'MSDB

  10. #10

    نقل قول: مشکل در detach کردن sql express

    برای detach کردن کافیه از کانکت استرینگ زیر استفاده کنی:
    'use master; EXECUTE sp_detach_db @dbname = N'MSDB
    آخه دوست عزیز وقتی برنامه داره از اون استفاده می کنه چه جوری detach کنه!!!!!

  11. #11
    کاربر دائمی آواتار AliSaeedi_v
    تاریخ عضویت
    آذر 1390
    محل زندگی
    اصفهان-ولاشان
    پست
    166

    نقل قول: مشکل در detach کردن sql express

    سلام من یه بار تو این تالار درباره بکاپ گیری سوال کردم و مشکلم حل شد.توی زان اس کیو ال یه دستور هست که این کارو انجام میده و یه فایل .bak میسازه و بایه دستوره دیگه هم بازگردانیش میکنه...بگرد پیداش میکنی..

  12. #12
    کاربر دائمی آواتار morika
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    کرج
    سن
    33
    پست
    736

    نقل قول: مشکل در detach کردن sql express

    نقل قول نوشته شده توسط mafaman2003 مشاهده تاپیک
    همون یک خط SqlConnection.ClearAllPools(); قبل از کپی جواب میده. برای شما چه خطایی میده؟
    زمانی که می رسه به خط کپی میگه که یه پروسه دیگه داره از فایل استفاده می کنه

  13. #13
    کاربر دائمی آواتار morika
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    کرج
    سن
    33
    پست
    736

    نقل قول: مشکل در detach کردن sql express

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

  14. #14

    نقل قول: مشکل در detach کردن sql express

    دوست عزيز لازم نيست حتما deatach كنيد سرويس sql رو يكبار stop كنيد تا همه فايلهاتون آزاد بشه بعد براحتي از اون كپي بگيريد.واسه اينكار كافيه روي گزينه database كليك راست كرده stop رو بزنيد.

  15. #15
    کاربر دائمی آواتار morika
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    کرج
    سن
    33
    پست
    736

    نقل قول: مشکل در detach کردن sql express

    نقل قول نوشته شده توسط ali_habibi1384 مشاهده تاپیک
    دوست عزيز لازم نيست حتما deatach كنيد سرويس sql رو يكبار stop كنيد تا همه فايلهاتون آزاد بشه بعد براحتي از اون كپي بگيريد.واسه اينكار كافيه روي گزينه database كليك راست كرده stop رو بزنيد.
    دوست عزیز ممنون از توجهتون ولی شما موضوع بحث تاپیک رو اصلا متوجه شدی؟ من می خوام با یه دکمه تو برنامه #C این اتقاف بیفته. با Management Studio که کار نمی کنم

  16. #16
    کاربر دائمی آواتار morika
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    کرج
    سن
    33
    پست
    736

    نقل قول: مشکل در detach کردن sql express

    نقل قول نوشته شده توسط AliSaeedi_v مشاهده تاپیک
    سلام من یه بار تو این تالار درباره بکاپ گیری سوال کردم و مشکلم حل شد.توی زان اس کیو ال یه دستور هست که این کارو انجام میده و یه فایل .bak میسازه و بایه دستوره دیگه هم بازگردانیش میکنه...بگرد پیداش میکنی..
    آره می دونم خودش یه سری دستور واسه این کار داره. اما تو این یه مورد خاص من لازم دارم به از خود فایل بانک کپی بگیرم

  17. #17
    کاربر دائمی آواتار morika
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    کرج
    سن
    33
    پست
    736

    نقل قول: مشکل در detach کردن sql express

    پس بالاخره چجوری باید ارتباط فایل بانک با برنامه رو قطع کرد؟؟؟؟؟؟؟؟؟

  18. #18
    کاربر دائمی آواتار alias136790
    تاریخ عضویت
    خرداد 1391
    محل زندگی
    جنوب
    پست
    193

    نقل قول: مشکل در detach کردن sql express

    سلام دوست عزیز ،
    برای اینکه دیتابیس detach بشه، راه حلش اینه که بعد از هربار استفاده از دیتابیس،کانکشن اون رو ببندین، مثلا بعد از اینکه یه رکورد به جدول دیتابیستون اضافه کردین، کانکشن اون
    رو ببندین.

    بعد از اینکار ، دیگه دیتابیس آزاد هست و میتونین، اون رو Detach کنین:

    static void detachdb()
    {
    try
    {
    SqlConnection sqlConn;
    sqlConn = new SqlConnection(@"Data Source=.\sqlexpress;Initial Catalog=master;Integrated Security=True;");
    sqlConn.Open();
    // for detach just write: use master; EXECUTE sp_detach_db @dbname = N'acount_db'
    string str = "use master;" +
    "EXECUTE sp_detach_db @dbname = N'Azmoongir_Data'";
    SqlCommand cmd = new SqlCommand(str, sqlConn);
    cmd.ExecuteNonQuery();
    sqlConn.Close();
    MessageBox.Show(" شد dettach دیتابیس با موفقیت");
    }
    catch (Exception x)
    {
    MessageBox.Show(x.Message, "خطا");
    }
    }

  19. #19
    کاربر دائمی آواتار morika
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    کرج
    سن
    33
    پست
    736

    نقل قول: مشکل در detach کردن sql express

    ممنون از جوابتون. من همه کانکشن هارو تو برنامه چک کردم و همشون رو بعداز استفاده بستم. ولی الان با این کد شما این پیغام رو به من میده:
    System databases master, model, msdb, and tempdb cannot be detached.
    Changed database context to 'master'.
    اینم کد خودم تو برنامم:
    SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector  y|\MSDB.mdf;Integrated Security=True;User Instance = True");
    con.Open();
    SqlCommand cmd = new SqlCommand("use master;EXECUTE sp_detach_db @dbname = N'MSDB'", con);
    cmd.ExecuteNonQuery();
    con.Close();

  20. #20

    نقل قول: مشکل در detach کردن sql express

    سلام.
    یه بار اینو امتحان کن:

    SqlConnection con = new SqlConnection();
    con.ConnectionString = "Data Source=.\SQLEXPRESS;Initial Catalog=YOUR_DATA_BASE_NAME;Integrated Security=True";
    SqlCommand cmd = new SqlCommand();
    string query;

    try
    {
    con.Open();
    query = "USE master;EXEC sp_detach_db @dbname = N'YOUR_DATA_BASE_NAME';";
    cmd.CommandText = query;
    cmd.Connection = con;
    cmd.ExecuteNonQuery();
    con.Close();
    }
    catch { con.Close(); }

    YOUR_DATA_BASE_NAME: رو با اسم دیتابیست جایگزین کن.
    موفق باشید.

  21. #21
    کاربر دائمی آواتار morika
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    کرج
    سن
    33
    پست
    736

    نقل قول: مشکل در detach کردن sql express

    ممنون از جوابتون دوست عزیز. ولی نمی دونم الان چرا این اینجوری شده. راستش دفعه اول که کد شمارو کپی کردم و کار کردم جواب داد و خیلی قشنگ از قایل بانک کپی گرفت. ولی وقتی یه بار دیگه اجراش کردم باز همون مشکل قبلی و گرفت که فایل بانک توسط یه پروسه دیگه اشغال شده. عجب گیری کردیم از دست این sql زبون نفهم. حالا چیکار باید کرد؟
    این دقیقا کدیه که من تو برنامه نوشتم و تو اولین اجرا جواب داد ولی دیگه جواب نمی ده:
    SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=|Data Directory|\MSDB.mdf;Integrated Security=True");
    con.Open();
    SqlCommand cmd = new SqlCommand("USE master;EXEC sp_detach_db @dbname = N'MSDB';", con);
    cmd.ExecuteNonQuery();
    con.Close();

  22. #22
    کاربر دائمی آواتار morika
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    کرج
    سن
    33
    پست
    736

    نقل قول: مشکل در detach کردن sql express

    الان داره این پیغام رو از تیکه con.open() می گیره که قبلا اصلا نمی گرفت:

    Cannot open database "|Data Directory|\MSDB.mdf" requested by the login. The login failed.
    Login failed for user 'Home-PC\Morteza'.

  23. #23
    کاربر دائمی آواتار alias136790
    تاریخ عضویت
    خرداد 1391
    محل زندگی
    جنوب
    پست
    193

    نقل قول: مشکل در detach کردن sql express

    سلام یجای کار شما اشتباه هست:
    شما تو کانکت استرینگ اولی بجای master ،آدرس دیتابیستون رو دادین.
    درستش اینه:

    SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=master;Integrated Security=True");con.Open();SqlCommand cmd = new SqlCommand("USE master;EXEC sp_detach_db @dbname = N'MSDB';", con);cmd.ExecuteNonQuery();con.Close();

  24. #24
    کاربر دائمی آواتار morika
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    کرج
    سن
    33
    پست
    736

    نقل قول: مشکل در detach کردن sql express

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

  25. #25
    کاربر دائمی آواتار alias136790
    تاریخ عضویت
    خرداد 1391
    محل زندگی
    جنوب
    پست
    193

    نقل قول: مشکل در detach کردن sql express

    به دیتابیس مستر(master)

  26. #26
    کاربر دائمی آواتار morika
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    کرج
    سن
    33
    پست
    736

    نقل قول: مشکل در detach کردن sql express

    خب الان با کد شما این مشکل رو می گیره:
    System databases master, model, msdb, and tempdb cannot be detached.
    Changed database context to 'master'.

  27. #27
    کاربر دائمی آواتار alias136790
    تاریخ عضویت
    خرداد 1391
    محل زندگی
    جنوب
    پست
    193

    نقل قول: مشکل در detach کردن sql express

    سلام،
    بلاخره مشکل رو تو کد شما پیدا کردم، شما اسم دیتابیستون رو گذاشتین MSDB، در حالی که خوده msdb، یکی از دیتابیس های اصلی اس کیو ال هست که نمیشه detach اش کرد. پس اگه اسم دیتابیس تون رو
    چیز دیگه ای بذارین مشکل حل میشه.

  28. #28
    کاربر دائمی آواتار morika
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    کرج
    سن
    33
    پست
    736

    نقل قول: مشکل در detach کردن sql express

    اگه اینجوری باشه که خیلی مشکل باحالی شده. همین الان تستش می کنم. ممنون

  29. #29
    کاربر دائمی آواتار morika
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    کرج
    سن
    33
    پست
    736

    نقل قول: مشکل در detach کردن sql express

    حالا بانک تو برنامه کار می کنه ولی وقتی می خواد detach کنه کلا وجود بانک رو منکر میشه. رسما قاطی کرد دیگه
    اسم دیتابیس رو عوض کردم گذاشتم MobinDB
    The database 'MobinDB' does not exist. Supply a valid database name. To see available databases, use sys.databases.
    Changed database context to 'master'.

  30. #30
    کاربر دائمی آواتار morika
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    کرج
    سن
    33
    پست
    736

    نقل قول: مشکل در detach کردن sql express

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

  31. #31
    کاربر دائمی آواتار alias136790
    تاریخ عضویت
    خرداد 1391
    محل زندگی
    جنوب
    پست
    193

    نقل قول: مشکل در detach کردن sql express

    چون شما همیشه برای استفاده از دیتابیس از آدرس دیتابیس استفاده کردین، فکر کنم برای Detach کردن هم باید بجای دیتابیس از آدرس دیتابیس استفاده کنی:

    string
    str = "use master;" +
    @"EXECUTE sp_detach_db @dbname = N'D:\C SHARP\LEARN C#‎\ABZAR\ABZAR\BANK\ABZAR_DATA.MDF'";


    اگه دیتابیست رو یه بار درست Attach کنی دیگه نیازی نیست برای هر بار استفاده از دیتابیس ، آدرس دیتابیس رو بدی، بعدش راحت میتونی برای هر بار
    استفاده از دیتابیس، فقط اسمش رو بنویسی و فکر کنم دیگه با Detach هم مشکل پیدا نکنی.
    برای اینکار ابتدا باید دیتابیس تون رو Detach کنین . و بعد
    برای Attach کردن دیتابیست از این استفاده کن:
    try
    {
    SqlConnection sqlConn;
    sqlConn = new SqlConnection(@"Data Source=.\sqlexpress;Initial Catalog=master;Integrated Security=True;");
    sqlConn.Open();
    // for detach just write: use master; EXECUTE sp_detach_db @dbname = N'acount_db'
    string str = "use master;" +
    "EXECUTE sp_attach_db @dbname = N'Azmoongir_Data' , " +
    " @filename1 = N'" + System.Environment.CurrentDirectory + "\\data\\Azmoongir_Data.mdf'," +
    "@filename2 = N'" + System.Environment.CurrentDirectory + "\\data\\Azmoongir_Log.ldf'," +
    "@filename3 = N'" + System.Environment.CurrentDirectory + "\\data\\Azmoongir_Data_log.ldf'";
    SqlCommand cmd = new SqlCommand(str, sqlConn);
    cmd.ExecuteNonQuery();
    sqlConn.Close();
    MessageBox.Show(" شد Attach دیتابیس با موفقیت");
    }
    catch (Exception x)
    {
    if (x.Message.IndexOf("already exists") >= 0)
    MessageBox.Show(" دیتابیس موجود است");
    else
    MessageBox.Show(x.Message, "خطا");
    }
    با این روش اتصال میتونی به همون روشی که قبلا گفتم دیتابیس رو Detach کنی فقط با آوردن اسم دیتابیس بدون نیاز به آدرس دیتابیس.

  32. #32
    کاربر دائمی آواتار morika
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    کرج
    سن
    33
    پست
    736

    نقل قول: مشکل در detach کردن sql express

    خب من الان کدم رو دقیقا تغییر دادم به چیزی که شما گفته بودین. ولی حالا در زمان execute این مشکل رو می گیره:
    Database 'MobinDB' already exists. Choose a different database name.
    Changed database context to 'master'.

    این کدم که تو برنامه نوشتم:
    SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=master;Integrated Security=True");
    con.Open();
    string str = "USE MASTER;" +
    "EXECUTE sp_attach_db @dbname = N'MobinDB', " +
    "@filename1 = N'" + System.Environment.CurrentDirectory + "\\MobinDB.mdf', " +
    "@filename2 = N'" + System.Environment.CurrentDirectory + "\\MobinDB_log.ldf'";
    SqlCommand cmd = new SqlCommand(str, con);
    cmd.ExecuteNonQuery();
    con.Close();

  33. #33
    کاربر دائمی آواتار alias136790
    تاریخ عضویت
    خرداد 1391
    محل زندگی
    جنوب
    پست
    193

    نقل قول: مشکل در detach کردن sql express

    گفتم که اول باید دیتابیس رو Detach کنی.
    برای Detach از کامنت قبلی استفاده کن.

  34. #34
    کاربر دائمی آواتار morika
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    کرج
    سن
    33
    پست
    736

    نقل قول: مشکل در detach کردن sql express

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

تاپیک های مشابه

  1. مشکل در استارت کردن SQL Server 2008 express
    نوشته شده توسط omid29 در بخش مسائل مرتبط با نصب و راه اندازی
    پاسخ: 0
    آخرین پست: یک شنبه 01 خرداد 1390, 22:52 عصر
  2. مشکل در detach کردن بانک از درون برنامه
    نوشته شده توسط ESG_Esfahan در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 1
    آخرین پست: شنبه 16 مرداد 1389, 11:33 صبح
  3. سوال: مشکل در detach کردن دیتا بیس از داخل کد برنامه(critical)
    نوشته شده توسط Alt+F4 در بخش C#‎‎
    پاسخ: 1
    آخرین پست: یک شنبه 22 شهریور 1388, 22:46 عصر
  4. مشکل ارتباط با دیتابیس SQl Express
    نوشته شده توسط alireza.m در بخش C#‎‎
    پاسخ: 9
    آخرین پست: یک شنبه 22 شهریور 1388, 20:09 عصر
  5. مشکل در رجیستر کردن SQL SERVER
    نوشته شده توسط iamebadi در بخش SQL Server
    پاسخ: 3
    آخرین پست: پنج شنبه 28 مهر 1384, 12:27 عصر

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

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