Tôi muốn đảm bảo cơ sở dữ liệu của tôi (SQL Server 2008) vẫn không thay đổi, nhưng vẫn có thể truy cập để đọc trong một số hoạt động bảo trì (sao lưu, chuyển tiếp sang máy chủ DB khác), làm thế nào tôi có thể khóa chương trình cho những thay đổi trong C#?Làm cách nào để khóa cơ sở dữ liệu SQL Server để thay đổi?
6
A
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
Các vấn đề liên quan
- 1. Làm cách nào để thay đổi chủ sở hữu của cơ sở dữ liệu SQL Server?
- 2. Làm cách nào để nghe các thay đổi cơ sở dữ liệu SQL Server
- 3. Làm cách nào để thêm khóa chính auto_increment trong cơ sở dữ liệu SQL Server?
- 4. Cách chuyển đổi cơ sở dữ liệu Visual Foxpro sang cơ sở dữ liệu SQL Server
- 5. Làm cách nào để di chuyển Sơ đồ cơ sở dữ liệu SQL Server sang cơ sở dữ liệu khác?
- 6. Làm thế nào để chuyển dữ liệu được mã hóa sql giữa các cơ sở dữ liệu SQL Server 2005?
- 7. Thả cơ sở dữ liệu SQL Server
- 8. Làm thế nào để tạo dự án cơ sở dữ liệu từ cơ sở dữ liệu SQL Server hiện tại?
- 9. Làm thế nào để chuyển đổi cơ sở dữ liệu SQL Server 2008 R2 sang SQL Server 2012?
- 10. Làm cách nào để lưu trữ băm trong cơ sở dữ liệu SQL Server bằng C#?
- 11. SQL Server: Làm thế nào để biết cơ sở dữ liệu là một cơ sở dữ liệu hệ thống?
- 12. Làm cách nào để thay đổi nhà cung cấp cơ sở dữ liệu ở Orchard?
- 13. Làm cách nào để tạo một cơ sở dữ liệu theo lập trình trong SQL Server?
- 14. Làm cách nào để tôi có thể tạo biểu đồ cơ sở dữ liệu SQL Server?
- 15. Cách chọn đối chiếu cơ sở dữ liệu SQL Server
- 16. Làm thế nào để kiểm soát phiên bản cơ sở dữ liệu SQL Server?
- 17. Thay đổi chủ sở hữu sơ đồ cơ sở dữ liệu trong SQL Server 2005
- 18. Java, cách thay đổi cơ sở dữ liệu hiện tại sang cơ sở dữ liệu khác?
- 19. Bí danh cơ sở dữ liệu chéo của SQL Server
- 20. Làm thế nào để chuyển đổi tệp cơ sở dữ liệu H2Database thành tệp cơ sở dữ liệu MySQL .sql?
- 21. Làm cách nào để xuất dữ liệu từ SQL Server?
- 22. Khóa cơ sở dữ liệu máy chủ SQL với PHP
- 23. Làm cách nào để đổi tên một cột trong bảng cơ sở dữ liệu bằng SQL?
- 24. Cách dễ dàng để triển khai các thay đổi cơ sở dữ liệu bằng SQL Server là gì?
- 25. Làm thế nào để bắt buộc cơ sở dữ liệu SQL Server 2008 đi gián tuyến
- 26. Cập nhật bảng cơ sở dữ liệu từ một bảng cơ sở dữ liệu SQL Server sang bảng cơ sở dữ liệu SQL Server khác?
- 27. Chiến lược triển khai cơ sở dữ liệu (SQL Server)
- 28. Cách tốt nhất để đồng bộ hóa cơ sở dữ liệu SQL Server từ xa với cơ sở dữ liệu SQL Server Compact cục bộ?
- 29. Làm thế nào để thả nhiều cơ sở dữ liệu trong SQL Server
- 30. Đổi tên tệp dữ liệu cơ sở dữ liệu trong SQL Server 2005
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
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ở. –