2011-12-08 38 views

Trả lời

12

Bạn có thể thực thi ALTER DATABASE <mydb> SET READ_ONLY để đặt cơ sở dữ liệu ở chế độ chỉ đọc.

Nếu bạn muốn các lệnh để thất bại nếu nó không thể được thực hiện ngay lập tức bạn chỉ định nó như thế này:

ALTER DATABASE <mydb> 
    SET READ_ONLY 
    WITH NO_WAIT 

Nếu bạn muốn làm cho nó rollback tất cả các kết nối mở bạn chỉ định các lệnh như thế này:

ALTER DATABASE <mydb> 
    SET READ_ONLY 
    WITH ROLLBACK IMMEDIATE 

các tùy chọn này cũng được ghi trong SQL Server Books online

+0

Cảm ơn bạn, điều này dường như làm việc một số lần, nhưng một nửa số lần tôi thực hiện truy vấn (trong SQL server Mana gement Studio) thực thi treo và không trả về ... – user1088045

+0

Bạn có thể chỉ định 'WITH NO_WAIT' để nó không thành công ngay lập tức khi nó không thể thực hiện lệnh do các giao dịch mở vv Hoặc bạn có thể chỉ định' WITH ROLLBACK IMMEDIATE' để làm cho nó rollback tất cả các giao dịch mở. –

Các vấn đề liên quan