在SQL Server 2008 R2中创建新图表时出错

时间:2013-07-06 10:50:51

标签: sql-server sql-server-2008-r2

尝试在SQL Server 2008 R2中创建新图表时出现此错误:

  

找不到指定的模块   (MS Visual Database Tools)

     

计划地点:

     

at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode,IntPtr errorInfo)
  在Microsoft.SqlServer.Management.UI.VSIntegration.NativeMethods.ThrowOnFailure(Int32 hr)
  在Microsoft.SqlServer.Management.UI.VSIntegration.Editors.VirtualProject.CreateDesigner(Urn origUrn,DocumentType editorType,DocumentOptions aeOptions,IManagedConnection con,String fileName)
  在Microsoft.SqlServer.Management.UI.VSIntegration.Editors.VirtualProject.Microsoft.SqlServer.Management.UI.VSIntegration.Editors.ISqlVirtualProject.CreateDesigner(Urn origUrn,DocumentType editorType,DocumentOptions aeOptions,IManagedConnection con,String fileName)
  在Microsoft.SqlServer.Management.UI.VSIntegration.Editors.ISqlVirtualProject.CreateDesigner(Urn origUrn,DocumentType editorType,DocumentOptions aeOptions,IManagedConnection con,String fileName)
  在Microsoft.SqlServer.Management.UI.VSIntegration.Editors.ScriptFactory.CreateDesigner(DocumentType editorType,DocumentOptions aeOptions,Urn parentUrn,IManagedConnection mc,String fileName)
  在Microsoft.SqlServer.Management.UI.VSIntegration.Editors.VsDocumentMenuItem.CreateDesignerWindow(IManagedConnection mc,DocumentOptions options)

请帮我解决此问题。

2 个答案:

答案 0 :(得分:0)

问题似乎与Visual Database Tools DLL有关。

此DLL文件由VS 2010安装程序安装,但在SQL Server 2012安装期间,它将升级到SQL 2012版本的工具。此后,卸载并重新安装SQL或VS将不会删除此较新的DLL,以便允许安装旧版本,因此留下这个恼人的问题。

我如何修复它是因为我设置了一个干净的虚拟机并安装了VS 2010,然后从我的虚拟机中取出了这个原始的DLL并覆盖了我的直播机器上的DLL。就这么简单。

我会假设删除此DLL文件,然后执行VS 2010修复或卸载/重新安装也可以解决问题。

DLL的目录和文件名(在X64机器上)是:C:\ Program Files(x86)\ Common Files \ microsoft shared \ Visual Database Tools \ dsref80.dll

答案 1 :(得分:0)

在我的情况下,问题是我连接到另一台服务器上的SQL Server 2012数据库,而我的机器有SQL Server 2008 R2。安装 SQL Management Studio 2012 解决了这个问题。