The NoteBook of EricKong

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            611 Posts :: 1 Stories :: 190 Comments :: 0 Trackbacks
          M

          S SQL2005對2000進行了很大的改進,而用戶關系這部分也變得相當復雜了,很多朋友都對此一知半解!下面,我將把我應用中總結的和大家分享下,先從概念入手,希望對不理解的朋友有點提示。

          今天我們要說的包括服務器登錄名Server Login,服務器角色Server Role,數據庫用戶DB User,數據庫架構DB Schema,數據庫角色DB Role 。以上幾個名詞應該從服務器與數據庫來區分,服務器包含一到多個數據庫,其中:

          服務器登錄名,指有權限登錄到某服務器的用戶;

          服務器角色,指一組固定的服務器用戶,默認有9組;

          • 登錄名一定屬于某些角色,默認為public
          • 服務器角色不容許更改
          • 登錄后也不一定有權限操作數據庫

          數據庫用戶,指有權限能操作數據庫的用戶;

          數據庫角色,指一組固定的有某些權限的數據庫角色;

          數據庫架構,指數據庫對象的容器;

          • 數據庫用戶對應于服務器登錄名以便登錄者可以操作數據庫
          • 數據庫角色可以添加,可以定制不同權限  
          • 數據庫架構,類似于數據庫對象的命名空間,用戶通過架構訪問數據庫對象

          而通過下圖可以讓這些概念清晰一些:

              

          即:

          1. 服務器登錄名屬于某組服務器角色;
          2. 服務器登錄名需要于數據庫的用戶映射后才擁有操作數據庫的權限
          3. 數據庫用戶屬于某組數據庫角色以獲取操作數據庫的權限
          4. 數據庫角色擁有對應的數據庫架構,數據庫用戶可以通過角色直接擁有架構
          5. 數據庫用戶有默認架構,寫SQL語句可以直接以“對象名”訪問
          6. 非默認架構則要以“架構名.對象名”訪問

          因此,新建一個非SA賬戶并建立數據庫的過程可以如下:

          1、新建登錄名Login1

           

          2、新建數據庫DB1

           

          3、新建DB1的架構Schema1


           

          4、新建BD1的用戶User1,登錄名對應Login1,默認架構選擇Schema1,角色選擇db_owner


           

          5、在登錄名Login1的屬性窗口里選擇“用戶映射”,勾選DB1,在用戶里填寫User1,默認架構選擇"Schema1"


           

          6、至此,新建表名會是Schema1.Table1,其他對象也如此


           


           

          7、當然還可以新建其他架構的對象Schema2,只有User1擁有該架構,一樣可以訪問,如Schema2.Table2

          值得注意的是,當為登錄映射數據庫用戶的時候,多個數據庫可以有相同名稱的用戶,而單獨為某個數據庫新建的用戶,如User1,則在其他數據庫里不允許同名。

          posted on 2010-06-29 12:31 Eric_jiang 閱讀(644) 評論(0)  編輯  收藏 所屬分類: 數據庫
          主站蜘蛛池模板: 云林县| 松滋市| 霍邱县| 福海县| 鹰潭市| 南郑县| 开远市| 遂昌县| 大渡口区| 缙云县| 黔江区| 民丰县| 桦川县| 丰镇市| 宝应县| 九寨沟县| 镇宁| 民丰县| 兴文县| 石首市| 黎川县| 临泉县| 鹰潭市| 怀来县| 托克逊县| 项城市| 垣曲县| 从化市| 五寨县| 大悟县| 永和县| 漯河市| 达拉特旗| 普格县| 阜新| 姜堰市| 莱阳市| 枣阳市| 武胜县| 郁南县| 中西区|