我目前正在学习 SQL Server 2008 并且遇到了模式,我不明白他们必须有一个所有者的一件事;为什么他们不能拥有自己?
我的背景主要是 Java,听起来架构就像一个没有所有者的包。
SQL Server 中的每个对象都必须由某人拥有。所有权用于控制权限。例如,您拥有的任何对象都可以直接访问,而无需授予您。另一个示例是可以访问同一所有者拥有的任何对象的过程。这允许只能访问该过程的人执行它,即使它正在访问其他人拥有的对象。
模式是大多数其他 RDBMS 没有的分组机制。(如果其他 RDBMS 指的是“模式”,它的意思更像是我们所说的“数据库”。)模式允许将不同类型的对象组合到单个数据库中的逻辑单元中。默认情况下,架构的所有权直接传递给该架构中的所有对象。如果更改架构的所有者,则其中所有对象的所有者也会更改。(但是,这可以逐个对象地更改。)
另一方面,您可以授予对架构的访问权限,从而授予对其中所有对象的访问权限。这使得管理权限变得更加简单。
请注意,您应该始终使用 schemaname.objectname 完全限定每个对象。这样做的原因有两个:
归档时间: |
|
查看次数: |
4508 次 |
最近记录: |