Проста алтернатива, която би блокирала актуализирането и вмъкването в конкретна таблица, но все още позволява изтриването:
ALTER TABLE mytable WITH NOCHECK ADD CONSTRAINT chk_read_only CHECK( 1 = 0 )
Имайте предвид:това избягва INSERT и UPDATE, но позволява DELETE.
Ако наистина се нуждаете от таблица, която наистина да бъде само за четене, можете също така:
а) поставете го в собствената му база данни или
б) поставете го във файлова група и маркирайте това само за четене, ето как:
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
За повече подробности по тази тема отидете тук:
Как да направите таблица само за четене в SQL Server