Microsoft 將 Microsoft SQL Server 2012 的修補程式作為一個可下載檔案發佈。 由於修補是累積性的,每個新版本都包含了先前 SQL Server 2012 修補版本中包含的所有熱修補與安全修補。
徵兆
請試想下列案例:
-
你建立一個新的 SQL Server 登入 ID,然後將該登入 ID 指派為 Microsoft SQL Server 2012 實例資料庫的擁有者。
-
你要用新的登入 ID 登入 SQL Server 2012 實例。
-
你嘗試查看 SQL Server 2012 實例中的資料庫屬性。
在此案例中,您收到下列錯誤訊息:
無法顯示請求對話。補充資訊:無法顯示請求對話。 (SqlMgmt) 執行 Transact-SQL 語句或批次時發生異常。 (Microsoft.SqlServer.ConnectionInfo) 使用者無權執行此動作。 (Microsoft SQL Server,誤差:297)
原因
此問題發生是因為在查看資料庫屬性時,必須取得 VIEW SERVER STATE 權限。點擊資料庫屬性後,SQL Server Management Studio (SSMS) 會對以下動態管理檢視 (DMV) 執行查詢:
-
sys.dm_hadr_cluster
-
sys.dm_database_encryption_keys
這些 DMV 是 SQL Server 2012 新加入的,需要伺服器層級的權限。
解決方案
累積更新資訊
SQL Server 2012
此問題的修正最初於 SQL Server 2012 Service Pack RTM 的累積更新 2 中釋出。 欲了解更多關於此累積更新套件的資訊,請點擊以下文章編號以瀏覽 Microsoft 知識庫中的文章:
2703275 SQL Server 2012 累積更新套件 2 注意:由於建置是累積式的,每個新修正版本都包含先前 SQL Server 2012 修正版本中所有的熱修正與安全修正。 Microsoft 建議你考慮套用包含此熱修補的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2692828 SQL Server 2012 版本是在 SQL Server 2012 發布後釋出的,Microsoft SQL Server 2012 熱修補程式是針對特定 SQL Server 服務包所建立的。 您必須對安裝SQL Server 2012 服務包 RTM 的安裝套用 SQL Server 2012 服務包 RTM 熱修正。 預設情況下,SQL Server 服務包中提供的任何熱修正會包含在下一個 SQL Server 服務包中。
狀態
Microsoft 已確認<適用於>一節所列的 Microsoft 產品確實有上述問題。
因應措施
要解決這個問題,請將 VIEW SERVER STATE 權限授予你建立的登入 ID。