SQL Server 2000本地系統(tǒng)賬戶和域用戶賬戶的選擇
我們在安裝SQL Server 2000數(shù)據(jù)庫的時(shí)候,需要對服務(wù)進(jìn)行設(shè)置,如下圖所示:使用本地系統(tǒng)賬戶和使用域用戶賬戶,該怎么選擇呢?本地系統(tǒng)賬戶和域用戶賬戶的區(qū)別在哪里呢?本文我們主要就介紹這些內(nèi)容,接下來我們就開始介紹。
我們先看熟悉一下兩個(gè)相關(guān)概念。
什么是憑據(jù)?
Windows憑據(jù)(Credential)其實(shí)就是指用戶帳戶和口令,我們調(diào)用一些API,如WTSOpenServer,QueryServiceStatus,NetUserEnum等等涉及到RPC的,只要當(dāng)前用戶存儲有目標(biāo)遠(yuǎn)程機(jī)的權(quán)限合適的憑據(jù),則這些API就不會因產(chǎn)生ERROR_ACCESS_DENIED而執(zhí)行失敗。
不好理解么?那么我們來看一下訪問別的計(jì)算機(jī)的情形,加深理解。訪問遠(yuǎn)程計(jì)算機(jī)必然用到rpc。
上圖就是我們連接到IP為172.16.100.1計(jì)算時(shí)的情形,這個(gè)時(shí)候是需要我們輸入用戶帳戶與密碼的。這里的用戶帳戶與密碼就是所謂的憑據(jù)。
當(dāng)我們輸入用戶帳戶與密碼后,并把“記住我的密碼”打上勾,點(diǎn)確定。那么我們的憑據(jù)(即這個(gè)用戶帳戶與密碼)被存儲了,以后再訪問的時(shí)候就無須再輸入。
安全上下文
安全上下文(Security context)是指在一個(gè)系統(tǒng)中有效的安全屬性或規(guī)則。
下面我們來看SQLSERVER2000服務(wù)的兩種登錄方式:本地系統(tǒng)帳戶和域用戶帳戶
本地系統(tǒng)帳戶:
該帳戶是對本地計(jì)算機(jī)具有管理員權(quán)限的預(yù)定義本地帳戶。在本地系統(tǒng)帳戶的安全上下文中運(yùn)行的服務(wù)向遠(yuǎn)程服務(wù)器提供本地計(jì)算機(jī)的憑據(jù)。在本地系統(tǒng)帳戶的安全上下文中運(yùn)行的服務(wù)不能建立身份驗(yàn)證會話,因?yàn)楸镜叵到y(tǒng)帳戶不屬于域中的Everyone組。因此,使用該帳戶的服務(wù)只能通過空會話(沒有憑據(jù))來訪問網(wǎng)絡(luò)資源。(這個(gè)訪問指的是為了完成某項(xiàng)任務(wù)服務(wù)的自動訪問,和我們的連接SQL服務(wù)器不一概念)
域用戶帳戶:
使用專用域用戶帳戶作為登錄帳戶
域用戶帳戶是指在Active Directory目錄服務(wù)中創(chuàng)建的用戶帳戶。該帳戶是域中Authenticated Users組的成員。在域用戶帳戶的安全上下文中運(yùn)行的服務(wù)向遠(yuǎn)程服務(wù)器提供域用戶帳戶的 Kerberos 票證。在域用戶帳戶的安全上下文中運(yùn)行的服務(wù)可以訪問經(jīng)過身份驗(yàn)證的用戶或特定用戶帳戶有權(quán)訪問的遠(yuǎn)程服務(wù)器上的資源。
使用本地用戶帳戶作為登錄帳戶
本地用戶帳戶是指在本地計(jì)算機(jī)上創(chuàng)建的Windows用戶帳戶。在本地用戶帳戶的安全上下文中運(yùn)行的服務(wù)向遠(yuǎn)程服務(wù)器提供本地用戶帳戶的訪問標(biāo)記。如果在遠(yuǎn)程服務(wù)器上配置了匹配用戶名和密碼,則使用本地用戶帳戶的服務(wù)將能夠訪問同名帳戶有權(quán)訪問的遠(yuǎn)程服務(wù)器上的資源。雖然此方案行之有效,但是維護(hù)這些單獨(dú)的帳戶并保持帳戶密碼同步將增加管理開銷。
如果你沒有加入域,但又需要連接到網(wǎng)絡(luò)資源,那么可以使用本地用戶帳戶作為登錄帳戶。
由此可見使用域用戶帳戶可以使用憑據(jù)來訪問遠(yuǎn)程計(jì)算機(jī),并使用相應(yīng)的資源。
例如SQLSERVER服務(wù),當(dāng)它進(jìn)行以下操作時(shí),是需要訪問遠(yuǎn)程計(jì)算機(jī)的。
- 遠(yuǎn)程過程調(diào)用。
- 復(fù)制。
- 備份到網(wǎng)絡(luò)驅(qū)動器。
- 涉及遠(yuǎn)程數(shù)據(jù)源的異類聯(lián)接。
- SQL Server 代理郵件功能和 SQL 郵件。
在這幾種情況下是無法不使用憑證去訪問遠(yuǎn)程計(jì)算機(jī),并使用其資源的。所以必須得把登錄類型改為“域用戶帳戶”,并輸入在遠(yuǎn)程計(jì)算機(jī)上配置好的,存在的“用戶名”和“密碼”。
如果只是裝在本機(jī)進(jìn)行開發(fā)或?qū)W習(xí),完全沒必要使用域用戶帳戶登錄模式,因?yàn)橛袝r(shí)候因?yàn)榍袚Q不同用戶而導(dǎo)致服務(wù)不能啟動。
修改SQLSERVER服務(wù)的登錄類型
服務(wù)的登錄類型是隨時(shí)可以改變的??梢孕枰臅r(shí)候通過以下兩種方法修改SQLSERVER服務(wù)的登錄類型。
1. 通過企業(yè)管理器修改
右擊SQLSERVER服務(wù)器---“屬性”---“安全性”下的“啟動服務(wù)帳戶”
2.通過服務(wù)修改
“控制面板”---“服務(wù)”----“MSSQLSERVER”,右擊---“屬性”---“登錄”
裝SQLSERVER時(shí)遇到的一些問題
1.在安裝時(shí)出現(xiàn)提示"command line option syntax error!type command /? for help"
這是因?yàn)槟憧赡馨裇QLSERVER的安裝文件放在了中文目錄下,可以你它改為英文目錄即可。每一級目錄都不能含有中文。
2.出現(xiàn)提示"以前的某個(gè)程序安裝已在安裝計(jì)算機(jī)上創(chuàng)建掛起的文件操作。運(yùn)行安裝程序之前必須重啟計(jì)算機(jī)"
打開注冊表編輯器(或在命令行輸入:regedit),在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager中找到PendingFileRenameOperations項(xiàng)目,并刪除它。然后進(jìn)行安裝。
關(guān)于SQL Server 2000數(shù)據(jù)庫的本地系統(tǒng)賬戶和域用戶賬戶的知識就介紹到這里了,希望本地的介紹能夠給您帶來一些收獲,謝謝!
【編輯推薦】


2013-12-04 09:43:51




