【发布时间】:2020-08-27 14:36:32
【问题描述】:
我们在 SQL Server 上启用了更改跟踪。启用更改跟踪的表跨越多个模式。我们可以成功执行以下操作以在模式类上授予 VIEW CHANGE TRACKING,但我们希望在数据库级别授予此权限以覆盖所有模式。尝试在数据库类级别授予时,它返回以下错误。我在 Test 数据库的上下文中运行该命令。我找不到任何文件表明无法在此级别授予此特定权限。
Incorrect syntax near 'VIEW CHANGE TRACKING'.
-- Granting on schema class works
GRANT VIEW CHANGE TRACKING ON SCHEMA::dbo TO TestUser
-- Granting on database class fails
GRANT VIEW CHANGE TRACKING ON DATABASE::Test TO TestUser
【问题讨论】:
-
除非我记错了,否则不能在数据库级别应用它。您需要将它单独应用于每个架构/对象。如果您想在整个数据库上使用它,则必须使用动态脚本。
标签: sql-server grant change-tracking