2011-10-06 61 views
0

可能重複:
How to make a table Read Only in SQL Server?SQL,臨時一張桌子只讀

我對矯正的過程,使得在一個表的修改(我們稱之爲,base.dbo。重要)。

我正在閱讀代碼,以消除所有修改此表的查詢。

有沒有辦法在程序中使該表只讀,以便任何修改嘗試引發異常?

我使用SQL服務器

+0

-1一個簡單的Google搜索「sql server make a table read only」讓我回到了SO。我相信當他/她提出這個問題時,它似乎是OP。 –

+0

我正在尋找只適用於該程序的內容。我看到前面的問題 – Argento

回答

2
+0

我正在尋找一些適用於該程序的東西 – Argento

+0

如果我理解正確,OP想要阻止一個表,而不是整個DB –

+0

是的,您可以設置過程,表,列等的權限。 – Matthew

1

一種解決方案,是設置事務隔離級別到串行化,然後從一個事務中從表中進行選擇。所以,類似於:

Set Transaction Isolation Level Serializable; 

Begin Tran; 

Select * 
From MyTable 

/* Do more work */ 

Commit Tran; 
+0

https://pastee.org/m3wga;我認爲這更好地描述了我需要的東西。 – Argento

+0

@Argento - 嗯。您正在從您的交易中的mytemp中刪除。我假設你不是試圖讓表只讀給你自己,而是讓你的事務外部查詢。 – Thomas