Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak ustawić tabelę tylko do odczytu w SQL Server?

Prosta alternatywa, która blokuje aktualizację i wstawianie w określonej tabeli, ale nadal umożliwia usunięcie:

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

Pamiętaj:pozwala to uniknąć WSTAWIANIA i AKTUALIZACJI, ale umożliwia USUWANIE.

Jeśli naprawdę potrzebujesz tabeli, aby była naprawdę tylko do czytania, możesz również:

a) umieść go we własnej bazie danych lub
b) umieść go w grupie plików i oznacz jako tylko do odczytu, oto jak:

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

Więcej informacji na ten temat znajdziesz tutaj:

Jak ustawić tabelę tylko do odczytu w 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. TransactSQL do uruchomienia innego skryptu TransactSQL

  2. Najlepszy sposób na zmianę indeksu klastrowego (PK) w SQL 2005

  3. Czy można odzyskać identyfikatory PrimaryKey po wykonaniu SQL BulkCopy?

  4. Jak zresetować wartość kolumny tożsamości w tabeli SQL Server — samouczek SQL Server / T-SQL, część 43

  5. Czy połączenie wewnętrzne wyklucza duplikaty?