恢複SQL Server執行個體串連

來源:互聯網
上載者:User

問題:

開啟SQL Server 2008之後,本機系統管理員群組不再需要手動添加,因為在安裝的時候已經預設添加。你甚至只需要把目前使用者手動添加到本地管理使用者即可。這意味著,特別是如果你不使用混合認證模式(或者忘記了sa密碼),你可能會被拒絕登入自己的SQL Server執行個體。我遇到過一個情景,一個職員離開,但是他的windows帳號,只擁有SQL Server管理員權限,會完全阻塞系統。當然也只有這個人知道sa密碼。作為本地管理員甚至網域系統管理員將對你沒有協助。

典型的解決方案是以單一使用者模式重啟SQL Server。但是,這將要求一定時間的停機。對於某些系統,這是不可接受的。並且依靠管理伺服器的需要,可能沒有切實可行的等待維護伺服器的計劃。

一個更加極端的方法是關閉SQL Server,複製所有MDF/LDF檔案,安裝新的SQL Server執行個體,並附加所有使用者資料庫。除了停機時間外,你還要面對重新建立系統資料庫、登入名稱、串連伺服器、作業和其他資料庫以外的元素以使得系統能夠重新使用。另外,除非你卸載舊的執行個體,不然新的執行個體需要使用具名執行個體,會導致所有用戶端應用都需要跟著升級。

解決方案:

使用以下方法可以無痛、不停機解決上面問題:PsExec。但是這不是它的主要設計目標。它允許你以NT AUTHORITY\SYSTEM帳號運行程式,和“常規”管理員帳號不同——具有天生訪問SQL Server的許可權。

這個進程的使用非常簡單。登入SQL Server啟動並執行伺服器,並要具有本地管理員權限的帳號。下載並開啟PsExec.exe。以管理員身份開啟。執行下列命令,注意路勁填寫你SQL Server Management Studio 的實際路徑:

PsExec -s -i "C:\Program Files(x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe"

命令告訴PsExec以管理員(-s)和互動式(-i)來運行SSMS。

如果你不是管理員,會返回一條錯誤資訊。你必須同意授權條款才能繼續操作。當登入SSMS後,會提示你已連線的服務器。你需要注意要用windows認證模式登入,並且使用者名稱是硬式編碼,如:NT AUTHORITY\SYSTEM:


當你登入以後,展開【物件總管】,可以看到你是以NT AUTHORITY\SYSTEM來串連:


現在,你可以進入【安全性】→【登入名稱】,然後把你的帳號添加為sysadmin。添加其他管理帳號,修改sa密碼,和其他能使你的執行個體處於可控狀態的事情。

警告:

你必須假裝成NTAUTHORITY\SYSTEM 的本地管理員。你必須禁用UAC。必須可以遠程操作,但是自從主要精力放到虛擬機器之後,我沒測試過。

如果你更改了sa密碼。並且外部程式使用sa帳號,你需要升級這些程式。可以參考:a tip for updating the password used in maintenance plans. 使用CTRL+C退出命令列。

結論:

PsExec可以解決很多讓你頭疼的問題。也希望在安裝SQL Server的時候添加足夠的管理員,以便減少上述問題的出現。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.