我有一个 SQL Server 2008 数据库,某些表中的某些字段(列)配置了默认值。
我要求尽可能地限制用户安全,理想情况下只允许读/写权限。然而,用户需要能够看到列的默认值是什么(它实际上是一个需要读取默认值的应用程序)。
通常,如果我只想读/写,我可以授予用户对以下角色的访问权限:
db_datareaderdb_datawriter问题是这会阻止访问默认值。这可以通过打开一个表设计视图来确认(他们收到一条消息,说他们的访问权限有限,只能查看表设计),并且默认值只是显示为空白。
如果我添加db_owner角色,那么他们可以很好地查看默认值,但我不想赋予所有者权力。
我还能做些什么来限制只能读/写但具有查看默认值的额外能力?