SQL:传输数据库架构

Man*_*jot 4 schema sql-server-2008 security

如果我想将架构所有权转移到另一个架构,我知道我需要使用以下内容:

ALTER SCHEMA destinationschema TRANSFER sourceschema.objectname;
Run Code Online (Sandbox Code Playgroud)

但它与以下有何不同:

ALTER AUTHORIZATION ON OBJECT::sourceschema.objectname TO destinationschema ;
Run Code Online (Sandbox Code Playgroud)

提前致谢!

gbn*_*gbn 8

  • ALTER AUTHORIZATION对于更改数据库、类型、键等的所有权有更广泛的用途。此 MSDN 链接中有一个 ENDPOINT 示例

ALTER AUTHORIZATION 可用于更改拥有所有者的任何实体的所有权

在模式之间传输安全对象

在您强调的这种特殊情况下,它们做同样的事情,没有区别。

我猜想添加 ALTER SCHEMA 是为了完整性(例如,有 CREATE 和 DROP 为什么不 ALTER)或为其他功能做准备(例如重命名 SCHEMA)