Sql-Server
在 SSMS 中附加數據庫會出錯
我正在使用 SSMS 和具有足夠權限的使用者訪問 SQL Server。
當此使用者嘗試使用 SSMS 附加數據庫時(通過右鍵點擊數據庫節點,然後點擊附加),他們會收到一條錯誤消息:
無法顯示請求的對話框。
參數名稱:nColIndex
實際值為-1。(Microsoft.SqlServer.GridControl)
在 Microsoft.SqlServer.Management.UI.Grid.GridControl.SetColumnWidthInternal
(Int32 nColIndex, GridColumnWidthType widthType, Int32 nWidth)…
在 Microsoft.SqlServer.Management.SqlManagerUI.AttachDatabase.SetGridColumnWidth
(SqlManagerUIDlgGrid 網格,雙倍的$$ $$columnWidthRatio, Int32 columnIndex)
…
如果同一個使用者使用如下的 T-SQL 命令,那麼它可以正常工作:
CREATE DATABASE [hgnx] ON ( FILENAME = N'E:\db\hgnx.mdf' ), ( FILENAME = N'E:\db\hgnx_log.ldf' ) FOR ATTACH
這看起來根本不是權限問題,而是 UI 中的錯誤。
如果您使用的是 Management Studio Express,那麼您應該考慮兩個選項:
- 確保您使用的是最新的服務包(是的,它們也適用於客戶端工具),也許還有最新的累積更新。
- 2008/2008 R2 版工具中的許多錯誤尚未修復,而且很可能永遠不會修復。別介意 Express 版本的功能有限。所以停止使用 2008 R2 的殘缺 Express 版本;從SQL Server 2012 Service Pack 1開始,Management Studio 的全功能版本現在完全免費。是的,您可以使用最新版本的工具管理所有 2005、2008、2008 R2 和 2012 實例。
事實上,事實證明(感謝@Justicator),這個錯誤只在 2012 版本的工具中得到修復,所以看起來選項(2)是你最好的選擇(或者,只是不使用這種類型的 UI任務)。