zoukankan      html  css  js  c++  java
  • MSSQL2005中的架构与用户

    首先我们从安全对象来了解架构:
    如图1:


    使用图形表示,这样我们更能方便的了解架构,和她在安全对象中所处的位置及与其他安全对象的关系。

    找到一张,如图,数据库引擎 权限层次结构之间的关系图



    ,这能帮助我们理解架构。


    引用帮助文档对架构的定义:

    从 SQL Server 2005 开始,每个对象都属于一个数据库架构。数据库架构是一个独立于数据库用户的非重复命名空间。您可以将架构视为对象的容器。可以在数据库中创建和更改架构,并且可以授予用户访问架构的权限。任何用户都可以拥有架构,并且架构所有权可以转移。

    在SQLServer2000中架构和用户是没有多大的区别,我们在2000中一般是指所有者。2005后,用户和架构开始明确的分开,架构可以理解为对象的容器或者命名空间。

    个人对于架构特点的理解小节如下:

    1.一个架构中不能包含相同名称的对象,相同名称的对象可以在不同的架构中存在。
    2.一个架构只能有一个所有者,所有者可以是用户, 数据库角色, 应用程序角色。
    3.一个用数据库角色可以可以拥有一个默认架构,和多个架构。
    4.多个数据库用户可以共享单个默认架构。
    5.由于架构与用户独立,删除用户不会删除架构中的对象。
    6.SQL Server 2000 中对象引用是:
            [DatabaseServer].[DatabaseName].[ObjectOwner].[DatabaseObject]
       SQL Server 2005 中对象引用是:
            [DatabaseServer].[DatabaseName].[DatabaseSchema].[DatabaseObject]

    其他具体说明及应用,可查看联机帮助文档。




    2008年3月19日 22:50。







  • 相关阅读:
    objective-c内存管理中autorelease的作用
    objective-c在Xcode中@property相关参数的解释
    objective-c中的内存管理
    c#扩展方法-摘自msdn
    objective-c中的category
    c语言中结构体的定义、初始化及内存分配
    c语言中的结构体为值类型,当把一个结构体赋值给另一个结构体时,为值传递
    手动通过Lucene判断该pom文件中jar是否存在,子依赖没判断
    代码方式删除SVN
    Maven多层嵌套
  • 原文地址:https://www.cnblogs.com/wghao/p/1114068.html
Copyright © 2011-2022 走看看