无法在数据库级别授予 CHANGE TRACKING 权限

Cannot grant CHANGE TRACKING permission at database level

我们在 SQL 服务器上启用了更改跟踪。启用更改跟踪的表跨越多个模式。我们可以成功执行以下命令以授予架构 class 上的 VIEW CHANGE TRACKING,但我们希望在数据库级别授予此权限以涵盖所有架构。尝试在数据库 class 级别授予时,它 returns 出现以下错误。我是 运行 测试数据库上下文中的命令。我找不到任何表明无法在此级别授予此特定权限的文档。

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

这是一个脚本,用于为包含跟踪更改的所有模式生成授权 table:

select distinct 'grant view change tracking on schema::' +quotename(schema_name(schema_id))+ ' to testuser;'
from sys.tables t
join sys.change_tracking_tables ct
  on t.object_id = ct.object_id