将SQL中几张表设为只读,这是什么奇怪需求?
近接到一个奇怪的需求,要将SQL Server中的几张表设为只读。我的反应就是直接将用户设为只读权限就好了,但是仔细一想又不是那么回事。
创建只读账号
SQL Server的只读账号是针对某个具体的数据库,设置的方法很简单:
但是这样会造成所有的表都变成只读,这与需求不符。
那该怎么办呢?今天就告诉大家几种常见的方法。
1、使用触发器限制单表只读
有如下一张创建好的表Teacher
我们先往里面插入一条数据来证明它是可写的。
INSERT INTO Teacher VALUES('04','马六');