譯自:
?
問題:
開啟SQLServer2008之后,本地管理員組不再需要手動添加,因為在安裝的時候已經(jīng)默認添加。你甚至只需要把當(dāng)前用戶手動添加到本地管理員用戶即可。這意味著,特別是如果你不使用混合認證模式(或者忘記了sa密碼),你可能會被拒絕登錄自己的SQLServer實例。我遇到過一個情景,一個職員離開,但是他的windows賬號,只擁有SQLServer管理員權(quán)限,會完全阻塞系統(tǒng)。當(dāng)然也只有這個人知道sa密碼。作為本地管理員甚至域管理員將對你沒有幫助。
?
典型的解決方案是以單用戶模式重啟SQLServer。但是,這將要求一定時間的停機。對于某些系統(tǒng),這是不可接受的。并且依靠管理服務(wù)器的需要,可能沒有切實可行的等待維護服務(wù)器的計劃。
?
一個更加極端的方法是關(guān)閉SQLServer,復(fù)制所有MDF/LDF文件,安裝新的SQLServer實例,并附加所有用戶數(shù)據(jù)庫。除了停機時間外,你還要面對重新創(chuàng)建系統(tǒng)數(shù)據(jù)庫、登錄名、連接服務(wù)器、作業(yè)和其他數(shù)據(jù)庫以外的元素以使得系統(tǒng)能夠重新使用。另外,除非你卸載舊的實例,不然新的實例需要使用命名實例,會導(dǎo)致所有客戶端應(yīng)用都需要跟著升級。
?
解決方案:
使用以下方法可以無痛、不停機解決上面問題:PsExec。但是這不是它的主要設(shè)計目標。它允許你以NT AUTHORITY\SYSTEM賬號運行程序,和“常規(guī)”管理員賬號不同——具有天生訪問SQLServer的權(quán)限。
這個進程的使用非常簡單。登錄SQLServer運行的服務(wù)器,并要具有本地管理員權(quán)限的賬號。下載并打開PsExec.exe。以管理員身份打開。執(zhí)行下列命令,注意路勁填寫你SQLServer Management Studio 的實際路徑:
PsExec -s -i "C:\Program Files(x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe" |
命令告訴PsExec以管理員(-s)和交互式(-i)來運行SSMS。
如果你不是管理員,會返回一條錯誤信息。你必須同意許可條款才能繼續(xù)操作。當(dāng)?shù)卿汼SMS后,會提示你連接的服務(wù)器。你需要注意要用windows認證模式登錄,并且用戶名是硬編碼的,如:NT AUTHORITY\SYSTEM:
當(dāng)你登錄以后,展開【對象資源管理器】,可以看到你是以NT AUTHORITY\SYSTEM來連接:
現(xiàn)在,你可以進入【安全性】→【登錄名】,然后把你的賬號添加為sysadmin。添加其他管理賬號,修改sa密碼,和其他能使你的實例處于可控狀態(tài)的事情。
?
警告:
你必須假裝成NTAUTHORITY\SYSTEM 的本地管理員。你必須禁用UAC。必須可以遠程操作,但是自從主要精力放到虛擬機之后,我沒測試過。
如果你更改了sa密碼。并且外部程序使用sa賬號,你需要升級這些程序。可以參考: a tip for updating the password used in maintenance plans . 使用CTRL+C退出命令行。
?
結(jié)論:
PsExec可以解決很多讓你頭疼的問題。也希望在安裝SQLServer的時候添加足夠的管理員,以便減少上述問題的出現(xiàn)。擴展閱讀:
- Auditing SQL Server Permissions and Roles for the Server
- Server level permissions for SQL Server 2005 and SQL Server 2008
- When was the last time the SQL Server sa password changed?
- Get Back into SQL Server After You've Locked Yourself Out
- How to connect to SQL Server if you are completely locked out
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
