回答
一個簡單的替代方案,將阻止更新和插入一個特定的表,但仍然允許刪除:
ALTER TABLE mytable WITH NOCHECK ADD CONSTRAINT chk_read_only CHECK(1 = 0)
注意:這樣就避免了INSERT和UPDATE,但允許刪除操作。
如果你真的需要一個表來進行真正的只讀您也可以:
一)把它放在自己的數據庫或
二)把它放在只有讀文件組和標記,這裏的如何:
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
有關此主題的更多信息,請瀏覽:
試圖改進此答案,但我的編輯被拒絕。請添加缺少的代碼,以便如何使文件組只讀:ALTER DATABASE [csvtosp] MODIFY FILEGROUP [READONLYTABLES] READONLY' – Baodad 2015-07-13 18:40:56
1.文件組「READONLYTABLES」不是READONLY 2.無需刪除表以將其移動到另一個文件組。你只需要重新創建聚集索引。 – 2017-08-04 11:07:28
如果您希望它只作爲一般公衆閱讀,但仍然希望能夠在稍後的日期編輯表,則可能需要考慮爲數據庫創建多個用戶併爲該數據庫授予不同的權限 - 理想情況下,您應該做這無論如何,不要讓廣大市民獲得改變表,截斷等
- 觸發與回滾反式
- 只讀文件組
- 不要授予插入/更新/刪除權限
3號可能是最佳做法。例如,如果您的連接是db_owner,則可以禁用觸發器或將表移動到不同的文件組。
- 1. 只讀在SQL Server
- 2. 如何在itext7中創建只讀PDF
- 3. 如何在SQL Server中創建視圖?
- 4. 如何在SQL Server中創建警報?
- 5. 在mysql中創建單個表只讀
- 6. 如何在sql server中像其他表一樣創建表?
- 7. 在SQL Server Management Studio中創建表格
- 8. 在SQL Server 2008中創建測試表
- 9. 在SQL Server Express中創建表
- 10. 在SQL Server中創建派生表
- 11. 在SQL-Server中創建表的方式
- 12. C#:表未在SQL Server中創建
- 13. 如何在django表單中創建可選的只讀字段?
- 14. 如何在Django表單中創建只讀記錄?
- 15. SQL Server 2008創建表,在SQL Server Management Studio中不可見
- 16. 確定SQL Server表是否爲只讀
- 17. 創建SQL Server中
- 18. SQL Server 2012:創建表
- 19. 如何在SQL Server 2005中創建登臺表?
- 20. 如何在Sql Server XML的不同表中創建Element和Attriubte?
- 21. 如何在SQL Server Management Studio中創建映射表?
- 22. 如何在SQL Server中創建變量名錶?
- 23. 如何在SQL Server中創建數據透視表?
- 24. 如何根據其他表在SQL Server中創建「Ghost Table」?
- 25. 如何在MSDB或SQL Server 2008中創建新表
- 26. 如何在sql server中創建結果集的表格
- 27. 在SQL Server中,如何爲表創建引用變量?
- 28. 如何在SQL Server中重新創建VIEW作爲本地表?
- 29. 如何在Microsoft SQL Server 2008 R2 Express中創建表
- 30. 如何在SQL Server 2016中創建一個寬表?
這裏有幾個很好的答案。我的問題是:誰的桌子必須是隻讀的?系統管理員總是有權做任何事情,儘管它可能需要時間和精力。 – 2010-03-27 19:59:18
非系統管理員用戶 – Jeyavel 2010-03-29 09:32:44