这是网络的情景。主服务器/实例正在使用SQL 2012,我想使用SQL 2008连接到数据库。我可以登录,运行查询但问题是我无法打开任何对话框/窗口,如属性和附加数据库。
这是错误:
无法显示请求的对话框。
其他信息:
无法显示请求的对话框。 (SqlMgmt)
索引超出了数组的范围。 (Microsoft.SqlServer.Smo)
计划地点:
at Microsoft.SqlServer.Management.SqlMgmt.DefaultLaunchFormHostedControlAllocator.AllocateDialog(XmlDocument initializationXml,IServiceProvider dialogServiceProvider,CDataContainer dc) 在Microsoft.SqlServer.Management.SqlMgmt.DefaultLaunchFormHostedControlAllocator.Microsoft.SqlServer.Management.SqlMgmt.ILaunchFormHostedControlAllocator.CreateDialog(XmlDocument initializationXml,IServiceProvider dialogServiceProvider) 在Microsoft.SqlServer.Management.SqlMgmt.LaunchForm.InitializeForm(XmlDocument doc,IServiceProvider提供程序,ISqlControlCollection控件) 在Microsoft.SqlServer.Management.SqlMgmt.LaunchForm..ctor(XmlDocument doc,IServiceProvider provider) 在Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.ToolMenuItemHelper.OnCreateAndShowForm(IServiceProvider sp,XmlDocument doc) 在Microsoft.SqlServer.Management.SqlMgmt.RunningFormsTable.RunningFormsTableImpl.ThreadStarter.StartThread()
===================================
索引超出了数组的范围。 (Microsoft.SqlServer.Smo)
计划地点:
at Microsoft.SqlServer.Management.Smo.SqlPropertyMetadataProvider.PropertyNameToIDLookupWithException(String propertyName,PropertyAccessPurpose pap) 在Microsoft.SqlServer.Management.Smo.SqlSmoObject.GetDbComparer(布尔inServer) 在Microsoft.SqlServer.Management.Smo.SqlSmoObject.InitializeStringComparer() 在Microsoft.SqlServer.Management.Smo.AbstractCollectionBase.get_StringComparer() 在Microsoft.SqlServer.Management.Smo.SimpleObjectCollectionBase.InitInnerCollection() 在Microsoft.SqlServer.Management.Smo.SmoCollectionBase.get_InternalStorage() 在Microsoft.SqlServer.Management.Smo.SmoCollectionBase.GetObjectByKey(ObjectKeyBase键) 在Microsoft.SqlServer.Management.Smo.LoginCollection.get_Item(String name) 在Microsoft.SqlServer.Management.SqlManagerUI.CreateLogin..ctor(CDataContainer上下文)
希望得到你的帮助!感谢
答案 0 :(得分:1)
这是正确的。您可以从SQL Server Management Studio 2008连接到SQL Server 2012的实例,但您的选项将非常有限 - 基本上是编写查询。您无法使用大多数SSMS功能。
这里有两个选项:
A - 使用查询附加数据库。 MSDN link和示例:
EXEC sp_attach_db @dbname = N'DatabaseName',
@filename1 = N'D:\SQL\Data\DatabaseName.mdf',
@filename2 = N'E:\SQL\Log\DatabaseName.ldf';
B - 安装SQL Server Management Studio 2012.快速版免费提供,您无需安装数据库引擎,只需安装SSMS即可。
编辑:可能有第三种选择。我无法保证,但是将最新的SP和更新应用到您的2008,可能会使其与具有完整功能的2012实例一起使用。
不过,我建议安装SSMS 2012。它适用于较旧的实例。