日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
      軟件
      軟件
      文章
      搜索

      首頁西西教程數(shù)據(jù)庫教程 → SQLSERVER誤刪SA密碼Windows登錄用戶的解決辦法

      SQLSERVER誤刪SA密碼Windows登錄用戶的解決辦法

      相關(guān)軟件相關(guān)文章發(fā)表評論 來源:西西整理時間:2014/1/10 17:45:55字體大小:A-A+

      作者:西西點(diǎn)擊:25次評論:0次標(biāo)簽: SQLSERVER

      • 類型:數(shù)據(jù)庫類大。594KB語言:中文 評分:7.7
      • 標(biāo)簽:
      立即下載

      想起來之前著急哥問我的一個問題,一個DBA刪除了Windows登錄用戶,而且SQLSERVER服務(wù)器的驗(yàn)證方式是Windows身份驗(yàn)證。

      怎麼辦??

      我當(dāng)時給他的答復(fù)是:重裝系統(tǒng)數(shù)據(jù)庫master

      今天看到這篇文章沒有了SA密碼,無法Windows集成身份登錄,DBA怎么辦?,有思路了

      假設(shè)我們遇到很糟糕的情況

      sa被禁用,服務(wù)器身份驗(yàn)證為Windows身份驗(yàn)證模式,Windows登錄用戶被刪,沒有其他sysadmin角色的登錄用戶

      步驟一

      停掉SQLSERVER:在命令行 net stop mssqlserver

      步驟二

      轉(zhuǎn)到SQLSERVER的安裝目錄

      然后加上/m /f   參數(shù)

      步驟三:以為單用戶模式啟動SQLSERVER

      步驟四:打開SSMS

      這時候一定不要馬上進(jìn)行連接,需要點(diǎn)擊取消,然后在左上角的點(diǎn)擊新建查詢,這個步驟跟DAC(專用管理員連接)的步驟是一樣的

      你會發(fā)現(xiàn)用Windows登錄用戶這時候可以登錄

      步驟五:執(zhí)行下面的SQL腳本

      1 --打開xp_cmdshell功能 2 EXEC [sys].[sp_configure] @configname = 'xp_cmdshell', -- varchar(35) 3     @configvalue = 1 -- int 4 RECONFIGURE WITH override 5  6  7 --修改注冊表,修改身份驗(yàn)證為混合驗(yàn)證方式 8 USE [master] 9 GO10 EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', REG_DWORD, 211 GO12 13 --創(chuàng)建登錄名14 CREATE LOGIN [計算機(jī)名\Administrator] FROM WINDOWS;15 GO16 17 --賦予登錄名的權(quán)限為sysadmin18 USE master19 GO20 EXEC [sys].[sp_addsrvrolemember] @loginame = '計算機(jī)名\Administrator', -- sysname21     @rolename = sysadmin -- sysname22 23 --關(guān)閉xp_cmdshell功能24 EXEC [sys].[sp_configure] @configname = 'xp_cmdshell', -- varchar(35)25     @configvalue = 0 -- int26 RECONFIGURE WITH override

      這時候身份驗(yàn)證方式已經(jīng)改為混合驗(yàn)證方式

      步驟六:關(guān)掉SQLSERVER,再重新啟動

      打開SQLSERVER配置管理器,啟動SQLSERVER

      步驟七:登錄SQLSERVER

      回到SSMS,可以看到這時候恢復(fù)正常了

      總結(jié)

      感謝i6first大俠,之前一直以為無法子了,想不到他想到了用單用戶模式啟動的方法來進(jìn)入SQLSERVER。

      沒有了SA密碼,無法Windows集成身份登錄,DBA怎么辦?

      一同事反饋SQL無法正常登錄了,以前都是通過windows集成身份驗(yàn)證登錄進(jìn)去的(sa密碼早忘記了),今天就改了服務(wù)器的機(jī)器名,現(xiàn)在無論如何都登錄不進(jìn)去。

      SQL登錄時如果采用windows集成身份驗(yàn)證,登錄框?qū)浴皺C(jī)器名\當(dāng)前系統(tǒng)用戶名”的格式顯示登錄名,而且登錄名和密碼都是灰色的,不允許用戶輸入。

      了解到同事剛剛修改了服務(wù)器的機(jī)器名,因此在SQL的登陸框中顯示“新機(jī)器名\當(dāng)前系統(tǒng)用戶名”。要知道windows集成身份驗(yàn)證能登錄的原因是在SQL的登錄名中已經(jīng)包括了該用戶名,原來的用戶名在SQL安裝的時候已經(jīng)記錄到了SQL中,如果機(jī)器名變更了,“新機(jī)器名\當(dāng)前系統(tǒng)用戶名”肯定無法正常登錄。

      網(wǎng)上看到有人說可以采用OSQL–S instancename –E(在命令行窗口中輸入)登錄進(jìn)去后再去修改sa的密碼,一番嘗試后發(fā)現(xiàn)是扯談,因?yàn)椴捎眠@種方式的前提是需要windows集成身份能夠登錄。

      后來在微軟的官網(wǎng)上看到一篇文檔,原來只要在SQL的啟動參數(shù)中加一個“-m”的選項(xiàng)(記得在-m前加分號),然后需要重啟SQL服務(wù),再次用SQL Management Studiowindows集成身份驗(yàn)證登陸就可以了。

      -m表示單用戶登錄。細(xì)心的讀者可能會質(zhì)疑了:只是加了-m,但最后還是采用的windows集成身份驗(yàn)證,理論說跟之前使用SQLOS –S instancename –E有什么區(qū)別呢?

      這個問得非常專業(yè)。當(dāng)時我也沒有搞明白,覺得有點(diǎn)不可思議,但結(jié)果就是這樣,肯定有其道理。后來在微軟的官網(wǎng)上找到了這段話。

      Start the instance of SQL Server in single-user mode by using either the -m or -f options. Any member of the computer's local Administrators group can then connect to the instance of SQL Server as a member of the sysadmin fixed server role.

      大概的意思是說當(dāng)在SQL的啟動參數(shù)中添加了-m或者-f參數(shù)時,計算機(jī)本地管理員組的任何一個用戶都可以sysadmin的身份登錄到SQL中。相信讀者看到這個地方就明白了。這里其實(shí)并沒有去檢驗(yàn)登錄的用戶是否在SQL在存在,只是檢查該用戶是否為本地計算機(jī)的管理組中的用戶。

      好了,相信后面就不用過多累贅了,只是提醒下讀者:修改了sa密碼后記得把原來添加在SQL啟動參數(shù)的-m刪除掉,然后在重啟SQL服務(wù)。

        相關(guān)評論

        閱讀本文后您有什么感想? 已有人給出評價!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過難過
        • 5 囧
        • 3 圍觀圍觀
        • 2 無聊無聊

        熱門評論

        最新評論

        發(fā)表評論 查看所有評論(0)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)