ฉันจะแยกฐานข้อมูลที่ใช้งานอยู่ได้อย่างไร


14

แม้ว่าจะไม่มีการใช้งานใด ๆ ฉันไม่สามารถแยกฐานข้อมูลออกได้เนื่องจากเป็นการใช้งาน

Cannot detach the database 'DEMO' because it is currently in use.

ฉันพยายามรีบูตเครื่องและได้รับข้อความเดิม

คำตอบ:


17
--Kick all users off of the database NOW
ALTER DATABASE YourDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE

--Kick all but after 60 seconds
ALTER DATABASE YourDatabase SET SINGLE_USER WITH ROLLBACK AFTER 60 SECONDS

--restore connection to users
ALTER DATABASE YourDatabase SET MULTI_USER

12

คุณได้ลองทำเครื่องหมายในช่อง "ปล่อยการเชื่อมต่อ" เมื่อคุณแยกออกหรือไม่?


ฉันหวังว่าจะได้คำตอบที่เกี่ยวข้องมากขึ้น Server Management Studio Express บ่อยมากทำให้เครื่องของฉันหน้าจอสีน้ำเงิน ดังนั้นฉันใช้เครื่องมือที่เพิ่งส่งแบบสอบถามไปยังเซิร์ฟเวอร์
Jack B Nimble

หน้าจอสีน้ำเงินมักเกี่ยวข้องกับปัญหาฮาร์ดแวร์หรือระดับ OS ไม่ใช่บางแอพพลิเคชั่นเฉพาะเช่นเครื่องมือจัดการฐานข้อมูล ฉันไม่สามารถจินตนาการได้ว่าเหตุใดโปรแกรมนี้ทำให้เครื่องของคุณพัง แต่นี่เป็นอาการของปัญหาร้ายแรงบางอย่าง
Massimo

มันเป็นการรวมกันของ Visual Studio และ Server Management Studio Express เพราะฉันได้เห็นพฤติกรรมใน 3 เวิร์กสเตชันที่แตกต่างกัน อาจมาจากการใช้ Visual Studio หลายรุ่นพร้อมกันฉันรู้ว่าสิ่งนี้ทำให้เกิดพฤติกรรมที่แปลกประหลาดใน IE7 เมื่อใช้แท็บ
Jack B Nimble

1
  1. ตัดการเชื่อมต่อจากเซิร์ฟเวอร์
  2. เริ่มบริการ SQL Server ใหม่เพื่อปิดการเชื่อมต่อทั้งหมด
  3. เข้าสู่ระบบด้วย Windows Authentication
  4. ถอดฐานข้อมูลออกได้อย่างง่ายดาย

1

อย่าลืมที่จะตรวจสอบ "วางการเชื่อมต่อ" จากหน้าต่าง "ฐานข้อมูลแยก" มิฉะนั้นมันง่ายมากและเพียงเลือกแยกจากเมนูดูภาพด้านล่าง:

ป้อนคำอธิบายรูปภาพที่นี่


0

คำสั่งนี้ควรปล่อยการเชื่อมต่อทั้งหมดจากนั้นอนุญาตให้คุณแยกออก

แก้ไขฐานข้อมูลชุด SINGLE_USER ด้วย ROLLBACK_IMMEDIATE

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.