Sql-Server

在 SSMS 中附加數據庫會出錯

  • May 20, 2013

我正在使用 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,那麼您應該考慮兩個選項:

  1. 確保您使用的是最新的服務包(是的,它們也適用於客戶端工具),也許還有最新的累積更新
  2. 2008/2008 R2 版工具中的許多錯誤尚未修復,而且很可能永遠不會修復。別介意 Express 版本的功能有限。所以停止使用 2008 R2 的殘缺 Express 版本;從SQL Server 2012 Service Pack 1開始,Management Studio 的全功能版本現在完全免費。是的,您可以使用最新版本的工具管理所有 2005、2008、2008 R2 和 2012 實例。

事實上,事實證明(感謝@Justicator),這個錯誤只在 2012 版本的工具中得到修復,所以看起來選項(2)是你最好的選擇(或者,只是不使用這種類型的 UI任務)。

引用自:https://dba.stackexchange.com/questions/42562