首先,抱歉,因为我不是 DBA,也不熟悉所有权限。
我的问题是,如果我授予用户db_owner对一个数据库的权限。我是否需要也给db_datareader和db_datawriter权限有完全控制权?我认为db_owner足以对数据库执行各种查询?(创建、删除、更改、选择和所有其他内容)。
所以,简而言之:如果我选择db_owner,那么db_datareader,db_datawriter将自动包含在内。我对吗?
我不是 DBA,如果这个问题听起来很愚蠢,请原谅。希望我能从有经验的 DBA 那里得到帮助,因为我对此质疑了很长时间。
假设有2张表,一张表有很多记录,一张表只是静态数据有2条记录(例如:是/否表)。
以这两个表为例:
Table_Yes_No(只有 2 条记录:Yes和No。当然,它们有一个递增的聚集 PK)Table_Form(非常大的表,有很多记录,一列有 FK 到 PK Table_Yes_No)。现在我的问题; 是否值得把一个指标的FK(参考从Table_Form该Table_Yes_No表)?该列将仅包含1或2(但未排序,因为没有索引)。是否值得索引这样的 FK?
SQLFiddle 中的一个例子:http ://sqlfiddle.com/#!18/51614/3/0
无论如何都会查询该列,问题是索引是否有助于性能。小表是静态数据,永远不会改变。大表会被大量查询,上面也会有很多CRUD。
index foreign-key sql-server clustered-index nonclustered-index