The NoteBook of EricKong

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

          要想成功訪問 SQL Server 數據庫中的數據, 我們需要兩個方面的授權:一、獲得準許連接 SQL Server 服務器的權利; 二、獲得訪問特定數據庫中數據的權利(select, update, delete, create table ...)。 假設,我們準備建立一個 dba 數據庫帳戶,用來管理數據庫 mydb。

          1. 首先在 SQL Server 服務器級別,創建登陸帳戶(create login)

          create login dba with password='sqlstudy', default_database=mydb

          登陸帳戶名為:“dba”,登陸密碼:“sqlstudy”,默認連接到的數據庫:“mydb”。 這時候,dba 帳戶就可以連接到 SQL Server 服務器上了。但是此時還不能 訪問數據庫中的對象(嚴格的說,此時 dba 帳戶默認是 guest 數據庫用戶身份, 可以訪問 guest 能夠訪問的數據庫對象)。

          要使 dba 帳戶能夠在 mydb 數據庫中訪問自己需要的對象, 需要在數據庫 mydb 中建立一個“數據庫用戶”,賦予這個“數據庫用戶” 某些訪問權限,并且把登陸帳戶“dba” 和這個“數據庫用戶” 映射起來。 習慣上,“數據庫用戶” 的名字和 “登陸帳戶”的名字相同,即:“dba”。 創建“數據庫用戶”和建立映射關系只需要一步即可完成:

          2. 創建數據庫用戶(create user):

          create user dba for login dba with default_schema=dbo

          并指定數據庫用戶“dba” 的默認 schema 是“dbo”。這意味著 用戶“dba” 在執行“select * from t”,實際上執行的是 “select * from dbo.t”。

          3. 通過加入數據庫角色,賦予數據庫用戶“dba”權限:

          exec sp_addrolemember 'db_owner', 'dba'

          此時,dba 就可以全權管理數據庫 mydb 中的對象了。

          如果想讓 SQL Server 登陸帳戶“dba”訪問多個數據庫,比如 mydb2。 可以讓 sa 執行下面的語句:

          use mydb2
          go

          create user dba for login dba with default_schema=dbo
          go

          exec sp_addrolemember 'db_owner', 'dba'
          go

          此時,dba 就可以有兩個數據庫 mydb, mydb2 的管理權限了!

          4. 禁用、啟用登陸帳戶:

          alter login dba disable
          alter login dba enable

          5. 登陸帳戶改名:

          alter login dba with name=dba_tom

          提示:在 SQL Server 2005 中也可以給 sa 改名。 《SQL Server 2005 安全性增強:給超級用戶 sa 改名》

          6. 登陸帳戶改密碼:

          alter login dba with password='sqlstudy.com'

          7. 數據庫用戶改名:

          alter user dba with name=dba_tom

          8. 更改數據庫用戶 defult_schema:

          alter user dba with default_schema=sales

          9. 刪除數據庫用戶:

          drop user dba

          10. 刪除 SQL Server登陸帳戶:

          drop login dba
          posted on 2010-06-28 21:56 Eric_jiang 閱讀(554) 評論(0)  編輯  收藏 所屬分類: 數據庫
          主站蜘蛛池模板: 丰都县| 大城县| 丁青县| 廉江市| 乌鲁木齐县| 锦州市| 太白县| 固始县| 阿鲁科尔沁旗| 绥棱县| 琼海市| 宜宾县| 阆中市| 郸城县| 仲巴县| 罗平县| 美姑县| 新乡县| 邹城市| 安岳县| 三原县| 新密市| 绥中县| 扶风县| 常德市| 龙江县| 桂林市| 三河市| 和平县| 喀喇沁旗| 格尔木市| 怀集县| 同心县| 神池县| 内乡县| 天门市| 曲水县| 淳化县| 黄龙县| 青铜峡市| 兰西县|