我正在两个数据库之间运行模式比较,以确保它们的模式相同。在大多数表上,唯一不同的是权限。
名称已更改以保护无害的数据库。 “其他人”是我当前正在使用的sql登录名,与大多数用户相比,它具有其他权限。
AS [主要]部分重要吗?
我尝试进行更改,但是遇到有关权限的错误。
我对sql并不陌生,但对安全性却是陌生的。
例如
数据库A:
对对象:: [someschema]进行授权插入。[sometable]到[somerole]
AS DBO
数据库B:
对对象:: [someschema]进行授权插入。[sometable]到[somerole]
作为 OTHERONE
答案 0 :(得分:0)
AS 指定主体,执行此查询的主体从中获得授予权限的权利。 授权者(或使用AS选项指定的委托人)必须具有GRANT OPTION本身的权限,或者更高的权限,这意味着要授予该权限。
如果您使用的是AS选项,则需要满足以下附加要求:https://docs.microsoft.com/en-us/sql/t-sql/statements/grant-object-permissions-transact-sql?view=sql-server-2017