關(guān)于 SQL Server 2000 身份驗(yàn)證與安全控制
關(guān)于 SQL Server 2000 身份驗(yàn)證與安全控制
設(shè)置 SQL Server 2000 身份驗(yàn)證模式
SQL Server 2000 身份驗(yàn)證模式可以在安裝過程中指定或使用 SQL Server 企業(yè)管理器指定,如下圖。

也可以通過修改注冊表的方式來改變,如下圖,它保存在
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer 節(jié)的 LoginMode 中。
LoginMode的鍵值:1 表示Windows 身份驗(yàn)證模式,2 表示混合模式。

注:改變模式后,必須重新啟動 SQL Server 2000 才會生效。
SQL Server 2000 聯(lián)機(jī)叢書: |
若要連接到 Microsoft© SQL Server™ 2000 實(shí)例,只需給應(yīng)用程序提供下面中的兩條信息:
在登錄屬性中,有一個(gè)是默認(rèn)數(shù)據(jù)庫。當(dāng)一個(gè)登錄連接到 SQL Server 時(shí),這個(gè)默認(rèn)數(shù)據(jù)庫就變成該連接的當(dāng)前數(shù)據(jù)庫,除非該連接請求指定另一個(gè)數(shù)據(jù)庫作為當(dāng)前數(shù)據(jù)庫。 登錄 ID 僅能使您連接到 SQL Server 實(shí)例。特定數(shù)據(jù)庫內(nèi)的權(quán)限由用戶帳戶控制。數(shù)據(jù)庫管理員將您的登錄帳戶映射到您有權(quán)訪問的任何數(shù)據(jù)庫中的用戶帳戶。 |
Windows 身份驗(yàn)證 |
|
SQL Server 身份驗(yàn)證 |
|
由此可以看出,SQL Server 2000 安全控制是由登錄>>用戶>>權(quán)限來得到控制的。因此要連接 SQL Server 2000,首先要經(jīng)過身份驗(yàn)證,要通過身份驗(yàn)證,就必須擁有登錄 ID。
一、登錄 ID 的獲取
SQL Server 2000 使用兩類身份驗(yàn)證:Windows 身份驗(yàn)證和 SQL Server 身份驗(yàn)證(注:Microsoft Windows Me 和 Windows 98 操作系統(tǒng)不支持服務(wù)器端的信任連接 API,也就是說安裝在 Microsoft Windows Me 和 Windows 98 操作系統(tǒng)上的 SQL Server 2000 不支持 Windows 身份驗(yàn)證)。
- 為 Windows 身份驗(yàn)證的登錄 ID 的獲取
對于有域的網(wǎng)絡(luò),在域用戶管理器中添加域用戶,設(shè)為:UserSQL
對于無域的網(wǎng)絡(luò),在用戶和組中添加用戶,設(shè)為:UserSQL
向本地計(jì)算機(jī)中添加 Windows 用戶(以 Windws XP 為例)
下圖舉例說明在 Windows XP 添加用戶,打開 Windows 資源管理器,右鍵單擊 [我的電腦] 選擇 [管理] 就打開了 [計(jì)算機(jī)管理],在 [計(jì)算機(jī)管理] 中,展開 [本地用戶和級] 右鍵單擊 [用戶] 選擇 [新用戶],這時(shí)打開 [新用戶] 窗口,輸入用戶名為 UserSQL,描述為 SQL Server 登錄 ID(可選,方便以后管理),輸入密碼,去掉“用戶下次登錄時(shí)必須更改密碼”(為了講解簡單點(diǎn)),勾選“用戶不能更改密碼”和“密碼永不過期”,然后點(diǎn)擊 [創(chuàng)建] 按鈕,這時(shí)就為該計(jì)算機(jī)創(chuàng)建了一個(gè)名為 UserSQL 的用戶。
到此該用戶還不能用來連接 SQL Server 2000 數(shù)據(jù)庫,還必須在 SQL Server 2000 中創(chuàng)建“登錄”與剛建的用戶相對應(yīng)。
A. 使用 SQL Server 2000 企業(yè)管理器添加 Windows 用戶的登錄 ID
下面舉例說明如何在 SQL Server 2000 的企業(yè)管理器中創(chuàng)建“登錄”,打開 SQL Server 2000 的企業(yè)管理器并以 sa 身份或 Windows 系統(tǒng)管理員的身份(因?yàn)檫@兩個(gè)登錄擁有 SQL Server 2000 sysadmin 角色的權(quán)限)連接到當(dāng)前運(yùn)行的 SQL Server 2000 (在本例中是本地的 SQL Server 2000),展開 [安全性] 節(jié)點(diǎn),右鍵單擊 [登錄] 選擇 [新建登錄],這時(shí)會打開 [SQL Server 登錄發(fā)生 -- 新建登錄] 窗口,在 [常規(guī)] 標(biāo)簽下,點(diǎn)擊 [名稱] 右側(cè)的 [...] 按鈕瀏覽 Windows 用戶名,如下圖,列出了本地服務(wù)名(MYDESK)的用戶,在列表中選擇上一步創(chuàng)建的 Windows 用戶 UserSQL,然后點(diǎn)擊 [添加] 按鈕將其添加到 [添加名稱] 中,點(diǎn)擊 [確定] 按鈕。
然后,要為 UserSQL 登錄選擇默認(rèn)數(shù)據(jù)庫,如下圖,選擇“NorthwindCS”,點(diǎn)擊 [確定] 按鈕。
可是這時(shí)彈出一個(gè)錯誤提示框,如下圖,說用戶沒有訪問 NorthwindCS 數(shù)據(jù)庫的權(quán)限,不要緊,這個(gè)問題留待后面的創(chuàng)建數(shù)據(jù)庫用戶再進(jìn)行講解,點(diǎn)擊 [是],到此為止,在 SQL Server 2000 中創(chuàng)建了一個(gè)登錄 UserSQL,并選擇默認(rèn)數(shù)據(jù)庫為 NorthWindCS。
B. 使用 osql 向本地 MSDE 2000 添加 Windows 用戶的登錄 ID
由于 MSDE 2000 沒有企業(yè)管理器,可以通過 Osql 運(yùn)行系統(tǒng)的存儲過程 sp_grantlogin 達(dá)到同樣的目的,下圖是用 osql 向本地 MSDE 2000 添加 Windows 用戶的登錄 ID。
- 為 SQL Server 身份驗(yàn)證的登錄 ID 的獲取
A. 使用 SQL Server 2000 企業(yè)管理器添加登錄 ID
下面舉例說明如何在 SQL Server 2000 的企業(yè)管理器中創(chuàng)建“登錄”,打開 SQL Server 2000 的企業(yè)管理器并以 sa 身份或 Windows 系統(tǒng)管理員的身份(因?yàn)檫@兩個(gè)登錄擁有 SQL Server 2000 sysadmin 角色的權(quán)限)連接到當(dāng)前運(yùn)行的 SQL Server 2000 (在本例中是本地的 SQL Server 2000),展開 [安全性] 節(jié)點(diǎn),右鍵單擊 [登錄] 選擇 [新建登錄],這時(shí)會打開 [SQL Server 登錄發(fā)生 -- 新建登錄] 窗口,在 [常規(guī)] 標(biāo)簽下,在 [名稱] 右側(cè)的文本輸入框輸入登錄名 UserX,然后選擇 SQL Server 身份驗(yàn)證單選器,輸入該登錄 ID UserX 登錄 SQL Server 要用的密碼,然后,為 UserX 登錄選擇默認(rèn)數(shù)據(jù)庫,如下圖,選擇“NorthwindCS”,點(diǎn)擊 [確定] 按鈕,這時(shí)會彈出密碼確認(rèn)對話框,重新輸入一次密碼,點(diǎn)擊 [確定] 按鈕,即可。
可是這時(shí)彈出一個(gè)錯誤提示框,如下圖,說用戶沒有訪問 NorthwindCS 數(shù)據(jù)庫的權(quán)限,不要緊,這個(gè)問題留待后面的創(chuàng)建數(shù)據(jù)庫用戶再進(jìn)行講解,點(diǎn)擊 [是],到此為止,在 SQL Server 2000 中創(chuàng)建了一個(gè)登錄 UserX,并選擇默認(rèn)數(shù)據(jù)庫為 NorthWindCS。
B. 使用 osql 向本地 MSDE 2000 添加登錄 ID
通過 Osql 運(yùn)行系統(tǒng)的存儲過程 sp_addlogin 添加登錄 ID,下圖是用 osql 向本地 MSDE 2000 添加登錄 ID 為 UserX 密碼為 123456 默認(rèn)數(shù)據(jù)庫為 NorthwinCS 的登錄 ID。
二、數(shù)據(jù)庫用戶的設(shè)置
登錄 ID 本身并不提供訪問數(shù)據(jù)庫對象的用戶權(quán)限。一個(gè)登錄 ID 必須與每個(gè)數(shù)據(jù)庫中的一個(gè)用戶 ID 相關(guān)聯(lián)后,用這個(gè)登錄 ID 連接的人才能訪問數(shù)據(jù)庫中的對象。如果登錄 ID 沒有與數(shù)據(jù)庫中的任何用戶 ID 顯式關(guān)聯(lián),就與 guest 用戶 ID 相關(guān)聯(lián)。如果數(shù)據(jù)庫沒有 guest 用戶帳戶,則該登錄就不能訪問該數(shù)據(jù)庫,除非它已與一個(gè)有效的用戶帳戶相關(guān)聯(lián)。
A. 使用 SQL Server 2000 企業(yè)管理器在 NorthwindCS 數(shù)據(jù)庫上添加用戶
下面舉例說明如何在 SQL Server 2000 的企業(yè)管理器中創(chuàng)建數(shù)據(jù)庫“用戶”,打開 SQL Server 2000 的企業(yè)管理器并以 sa 身份或 Windows 系統(tǒng)管理員的身份連接到當(dāng)前運(yùn)行的 SQL Server 2000 (在本例中是本地的 SQL Server 2000),展開 NorthwindCS 數(shù)據(jù)庫節(jié)點(diǎn),右鍵單擊 [用戶] 選擇 [新建數(shù)據(jù)庫用戶],打開數(shù)據(jù)庫用戶屬性對話框如下圖,首先選擇登錄名,本例為 MYDESK\UserSQL,這時(shí)用戶名輸入文本框中出現(xiàn)默認(rèn)的用戶名 MYDESK\UserSQL,本例不作修改,使用默認(rèn)值。為了能使該用戶擁有對該數(shù)據(jù)庫的全部權(quán)限,勾選數(shù)據(jù)庫角色成員列表中的 db_owner,點(diǎn)擊 [確定] 按鈕,就為該數(shù)據(jù)庫創(chuàng)建了一個(gè)名為 MYDESK\UserSQL 的用戶,并與登錄 ID MYDESK\UserSQL 相關(guān)聯(lián)。
B. 使用 osql 在 NorthwindCS 數(shù)據(jù)庫上添加用戶
下圖使用 osql 在 NorthwindCS 數(shù)據(jù)庫中添加用戶 ID MYDESK\UserSQL 和 UserX 分別與登錄 ID MYDESK\UserSQL 和 UserX 相關(guān)聯(lián),并把它們均設(shè)為數(shù)據(jù)庫的 db_owner 角色。
(責(zé)任編輯:admin)
- ·用DAO或ADO正確訪問Access 2000
- ·Access開發(fā)網(wǎng)絡(luò)共享版技巧(多人同時(shí)操
- ·access中ADO與DAO格式的區(qū)別和寫法【總
- ·access執(zhí)行操作查詢的幾種方法對比
- ·Access中CurrentDb().Execute 和DoCmd.
- ·[源創(chuàng)技巧]在ACCESS中使用代碼來自動創(chuàng)
- ·更新訪問權(quán)限 (Jet) 數(shù)據(jù)庫中的 40 多
- ·【實(shí)例】ADO代碼計(jì)算余額法
- ·DAO實(shí)現(xiàn)的子窗體記錄分頁顯示
- ·分別使用DAO和ADO連接外部數(shù)據(jù)庫和Sql
- ·怎樣判斷一個(gè)表是否存在于數(shù)據(jù)庫中? (D
- ·處理加了密碼的MDB文件
- ·談ADO訪問不同數(shù)據(jù)庫的差別
- ·DAO基礎(chǔ)(4)
- ·DAO基礎(chǔ)(3)
- ·DAO基礎(chǔ)(2)
- ·用DAO或ADO正確訪問Access 2000
- ·Access開發(fā)網(wǎng)絡(luò)共享版技巧(多人同時(shí)操作)
- ·access中ADO與DAO格式的區(qū)別和寫法【總結(jié)】
- ·access執(zhí)行操作查詢的幾種方法對比
- ·Access中CurrentDb().Execute 和DoCmd.RunS
- ·[源創(chuàng)技巧]在ACCESS中使用代碼來自動創(chuàng)建 O
- ·更新訪問權(quán)限 (Jet) 數(shù)據(jù)庫中的 40 多個(gè)字
- ·【實(shí)例】ADO代碼計(jì)算余額法
- ·DAO實(shí)現(xiàn)的子窗體記錄分頁顯示
- ·分別使用DAO和ADO連接外部數(shù)據(jù)庫和Sql Serv
- ·關(guān)于 SQL Server 2000 身份驗(yàn)證與安全控制
- ·Access 數(shù)據(jù)庫和 Access 項(xiàng)目之間的數(shù)據(jù)類
- ·使用SQL語句創(chuàng)建表中的自動編號字段并定義
- ·配置ODBC數(shù)據(jù)源
- ·在Recordset對象中查詢記錄的方法
- ·一組SQL Server身份驗(yàn)證管理子程序
- ·SQL SERVER基本概念學(xué)習(xí)印象
- ·VB 6.0與ACCESS的比較
- ·實(shí)驗(yàn)報(bào)告 --DAO與ADO效率之比較
- ·Access與SQLServer字段類型對照