我需要通过授予对生产数据库的足够访问权限来请求全局组,以便执行对使用该数据库的应用程序的支持。我正在尝试确定我需要请求哪些特定权利。
为了对所有表执行查询,我想请求db_datareader
访问。我想避免维护以确保全局组具有SELECT
并VIEW DEF
访问所有对象。我知道db_datareader rights
,如果获得批准,将授予用户SELECT
对所有表的完全权限。是否有对应的角色授予查看所有表、存储过程、视图等的定义的权限?
我需要通过授予对生产数据库的足够访问权限来请求全局组,以便执行对使用该数据库的应用程序的支持。我正在尝试确定我需要请求哪些特定权利。
为了对所有表执行查询,我想请求db_datareader
访问。我想避免维护以确保全局组具有SELECT
并VIEW DEF
访问所有对象。我知道db_datareader rights
,如果获得批准,将授予用户SELECT
对所有表的完全权限。是否有对应的角色授予查看所有表、存储过程、视图等的定义的权限?
定义“对生产数据库的充分访问”
作为一名 DBA,我不会给予任何 DDL 管理员或任何允许用户即时更改模式的访问权限,这是导致灾难的原因,并且会使您的 DBA 更加努力地工作。DBA 必须而且应该能够在适当的测试后帮助解决性能问题并更改生产模式。您真的不想在不测试 1st 的情况下更改生产模式。
话虽如此,如果用户希望有限的访问权限来解决性能问题(这实际上可以让您的生活更轻松),他们可能需要以下任何一项:
这两个允许访问 DMV,这对于查明性能问题和查询的运行方式很有用。
SELECT、UPDATE、INSERT 等都是正常的。如果您的数据库对象(表、视图、存储过程)不需要细粒度权限,我会使用任何默认数据库角色并将用户或用户放入其中。
运行存储过程的权限将是 EXECUTE。
USE [your database]
EXEC sp_addrolemember 'db_datareader', '[your user name]'