PDA

View Full Version : چطور ميشه يه كانكشن رو به طور كامل بست؟؟؟



amin joon
پنج شنبه 12 اردیبهشت 1387, 10:09 صبح
با سلام خدمت دوستان

من ميخوام فايل هاي پايگاه داده(sqlExpress) رو كپي كنم.

ولي پيغام ميده اين فايلها در حال استفاده هستند.

من كانكشنم رو close , destroy و ... كردم ولي باز هم همين پيغام رو ميده.

به نظر شما چطور ميشه يه كانكشن رو به طور كامل بست؟؟؟ (مثل وقتي كه از برنامه خارج ميشيم)

اگر ممكنه سريعتر جواب بديد چون خيلي برام مهمه.

ممنون

sasanazizi
پنج شنبه 12 اردیبهشت 1387, 10:33 صبح
بایسی از SQL این کار را بکنی من برای RESTORE DATABASE از این دستور استفاده میکنم
alterdatabase northwind
set offline withrollback immediate
و برای فعال کردن
alterdatabase northwind
set online

eyes_shut_number1
پنج شنبه 12 اردیبهشت 1387, 10:52 صبح
این اررو وقتی هست که فایل به دیتا بیس اتچ شده!
اگه بخوای کپیش کنی
باید اول اونو دیتچ کنی بعد کپی کنیش
Alltask-->Deattach

رضا عربلو
پنج شنبه 12 اردیبهشت 1387, 13:34 عصر
بهترین کار offline کردن دیتابیس است.
روش detach کردن روش خوبی نیست.
همچنین کلاینت تولز ها نصب نشده باشند می تونی سرویس اس کیو ال را Stop کنی و فایل هایت را کپی کنی و بعد هم Start کنی

e-shahshahani
پنج شنبه 12 اردیبهشت 1387, 14:36 عصر
برای توقف و راه اندازی sql از دستورات زیر استفاه کنید
net stop mssqlserver
net start mssqlserver

با stop کردن sql همه کانکشن ها بسته میشه.

البته به جای mssqlserver باید اسم sql server دستگاه خودتون را بنویسید.

amin joon
شنبه 14 اردیبهشت 1387, 13:34 عصر
fبا تشكر از دوستان

من براي رفع مشكلم از Offline استفاده كردم و مشكلم رو هم حل كرد ولي يه مشكل ديگه پيش اومد
زماني كه بعد از كپي كردن فايل ها مجددا پايگاه دادم رو online ميكنم، ديگه نميتونم دستورات رو روي DB اجرا كنم.
مثلا وقتي دستور Select max(CustomerID) from customer رو اجرا ميكنم ، ميگه آبجكت Customer وجود نداره.

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


cmd.CommandText = "ALTER DATABASE " + DatabaseName + " SET ONLINE;";
cmd.ExecuteNonQuery();



به نظر شما اشكال از چي هست؟؟؟

amin joon
یک شنبه 15 اردیبهشت 1387, 08:41 صبح
آقا من مشكلم حل نشده . . .

تو سايت هم جستجو كردم ولي چيز خاصي پيدا نكردم...

به نظر شما اشكال از چي هست؟

e-shahshahani
یک شنبه 15 اردیبهشت 1387, 10:45 صبح
خب وقتی میگه یه آبجکتی وجود نداره برای اینه که دیتا بیس مورد نظر انتخاب نشده است. برای انتخاب دیتابیس از دستور زیر استفاده کنید

use mydb;

amin joon
یک شنبه 15 اردیبهشت 1387, 11:57 صبح
با تشكر از راهنمايي شما


GoOd LuCk