我有一个脚本,它为给定的 {databaseName} 生成一个数据库,然后为这个数据库的给定 {loginName} 创建一个登录名。
然后我想限制这个用户只能查看这个数据库,而不能查看其他用户。
我通过以下方式实现了这个工作:
USE [{DatabaseName}]
GO
ALTER AUTHORIZATION ON DATABASE::[{DatabaseName}] to [{LoginName}]
GO
USE [master]
GO
DENY VIEW ANY DATABASE TO [{LoginName}]
GO
我现在已将其放入存储过程中,但我无法更改为 [master] 数据库来执行最后一行:
DENY VIEW ANY DATABASE TO [{LoginName}]
有没有办法限制用户从存储过程中查看其他数据库?
存储过程当前位于另一个数据库上,但我可以移动它。