SQL 服务器包含的用户如何获得所有活动用户连接到此包含的数据库?(sys.dm_exec_sessions 没有获得所有结果?)
How can a SQL Server contained user get all active user connections to this contained database?(sys.dm_exec_sessions not getting all the results?)
以前使用SQL服务器登录时,可以通过以下步骤完成:
- 运行
GRANT VIEW SERVER STATE TO /*server_login */
在 master
数据库中
- 然后 运行
select * from sys.dm_exec_sessions
为“server_login”。
它将获得所有连接,包括到我的目标数据库的所有连接。
现在迁移到“包含数据库”的“包含用户”,我试过这个:
- 运行
GRANT VIEW DATABASE STATE TO /*contained_user */
在我的目标数据库中
- 然后 运行
select * from sys.dm_exec_sessions
作为“包含的用户”
它只会看到我自己,不会看到与此目标数据库的其他活动连接。
SQL Server 2019 中的数据库。要允许包含的用户查看与该数据库的所有活动连接,我需要哪些选项?
对于SQL 服务器,仍然需要VIEW SERVER STATE 权限。
Azure 数据库不同。我今天设置了 Azure 数据库以验证 VIEW DATABASE STATE 是否足够。
以前使用SQL服务器登录时,可以通过以下步骤完成:
- 运行
GRANT VIEW SERVER STATE TO /*server_login */
在master
数据库中 - 然后 运行
select * from sys.dm_exec_sessions
为“server_login”。
它将获得所有连接,包括到我的目标数据库的所有连接。
现在迁移到“包含数据库”的“包含用户”,我试过这个:
- 运行
GRANT VIEW DATABASE STATE TO /*contained_user */
在我的目标数据库中 - 然后 运行
select * from sys.dm_exec_sessions
作为“包含的用户”
它只会看到我自己,不会看到与此目标数据库的其他活动连接。
SQL Server 2019 中的数据库。要允许包含的用户查看与该数据库的所有活动连接,我需要哪些选项?
对于SQL 服务器,仍然需要VIEW SERVER STATE 权限。 Azure 数据库不同。我今天设置了 Azure 数据库以验证 VIEW DATABASE STATE 是否足够。