Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm thế nào để tạo một bảng Chỉ đọc trong SQL Server?

Một giải pháp thay thế đơn giản có thể chặn cập nhật và chèn trên một bảng cụ thể nhưng vẫn cho phép xóa:

ALTER TABLE mytable WITH NOCHECK ADD CONSTRAINT chk_read_only CHECK( 1 = 0 )

Lưu ý:điều này tránh CHÈN và CẬP NHẬT, nhưng cho phép XÓA.

Nếu bạn thực sự cần một bảng chỉ thực sự được đọc, bạn cũng có thể:

a) đặt nó vào cơ sở dữ liệu của riêng nó hoặc
b) đặt nó vào một nhóm tệp và đánh dấu là chỉ đọc, đây là cách thực hiện:

USE [master]

GO

ALTER DATABASE [csvtosp] ADD FILEGROUP [READONLYTABLES]

GO

ALTER DATABASE [csvtosp] ADD FILE ( NAME = N'mydb_readonly_tables', FILENAME = N'G:\SQL2005DATA\mydb_readonly_tables.ndf' , SIZE = 3072KB , FILEGROWTH = 1024KB ) TO FILEGROUP [READONLYTABLES]

GO

USE csvtosp

GO

DROP TABLE mytable

CREATE TABLE mytable (

    somedata    char(8000) not null

) ON READONLYTABLES

GO

Để biết thêm chi tiết về chủ đề này, hãy truy cập tại đây:

Cách tạo bảng Chỉ đọc trong SQL Server



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server - Bảng PIVOT động - SQL Injection

  2. Các cách khác nhau để giám sát máy chủ SQL luôn có sẵn nhóm

  3. System.ArgumentException:Tham số kiểu bảng phải có tên kiểu hợp lệ

  4. Cú pháp cho một truy vấn tham số trong Python (pyodbc)

  5. Thu thập số lượng từ một truy vấn SQL