使用 SharePoint 2010 容錯移轉 SQL 2012 可用性群組時出現 403 禁止錯誤

英文原文已於 2012 年 5 月 3 日星期四發佈

我剛費了好大的一番工夫,才終於讓 SQL 2012 可用性群組進行了容錯移轉,以配合 SharePoint 2010 正確運作。因此我打算分享一下我的心得,希望對您有所幫助。簡單來說,我一開始先將 SQL 2012 的可用性群組都設定好,它看起來運作也正常。我在該群組中的主要節點上建立了一個新的內容資料庫,然後備份它,將它加入一系列由可用性群組 (AG) 所管理的資料庫。到目前為止一切正常。我可以點選 SharePoint 網站,它也能正確回應。但是,就在我將 AG 容錯移轉到新節點後,我的 SharePoint 網站竟然再也跳不出來了。我只會看到一個 403 禁止錯誤,而非頁面內容。怪的是,我可以開啟 SQL Server Manager 並連線到我的 AG 接聽程式。可以查詢我目前託管在另一個伺服器上的內容資料庫中的所有資料表,並得到結果,完全沒問題。

這問題搞了我大半天想不透,直到我的好友兼 SQL 專職狂人 (我是稱讚的意思!) Bryan P. 為我開釋。他說,雖然我應用程式集區帳戶的資料庫帳戶已經隨著資料庫一起移動了,但 SQL 的登入資訊卻還沒有。這也就是說,如果我在內容資料庫查看 SQL Manager 然後查看「安全性...使用者」,我會看到該應用程式集區的 SQL 帳戶。但是如果我看到伺服器最高等級安全性的節點再查看登入資訊的話,就會發現該應用程式集區帳戶並沒有相對應的登入帳戶。所以,我只要為那個應用程式集區帳戶建立登入資訊,然後授權它可以存取我要利用 AG 管理的內容資料庫就行了。修改了這點後,SharePoint 那一端的問題就解決了。我現在可以容錯移轉到叢集中的任何節點,而我的 SharePoint 網站也能持續正常運作。

這顯然是大家值得留意的一項事實。尤其是當您要以新的帳戶建立應用程式集區,又想藉由 AG 來保護內容資料庫時,請務必記得將那些新帳戶加入每個參與您 AG 的 SQL 2012 伺服器之登入資訊。

這是翻譯後的部落格文章。英文原文請參閱 403 Forbidden Errors When Failing Over a SQL 2012 Availability Group with SharePoint 2010