0

これがネットワークのシナリオです。メイン サーバー/インスタンスは SQL 2012 を使用しており、SQL 2008 を使用してデータベースに接続したいと考えています。

これはエラーです:

タイトル: Microsoft SQL Server Management Studio

要求されたダイアログを表示できません。


追加情報:

要求されたダイアログを表示できません。(SqlMgmt)


インデックスが配列の範囲外だった。(Microsoft.SqlServer.Smo)


プログラムの場所:

Microsoft.SqlServer.Management.SqlMgmt.DefaultLaunchFormHostedControlAllocator.AllocateDialog (XmlDocument initializationXml、IServiceProvider dialogServiceProvider、CDataContainer dc) で Microsoft.SqlServer.Management.SqlMgmt.DefaultLaunchFormHostedControlAllocator.Microsoft.SqlServer.Management.SqlMgmt.ILaunchFormHostedServiceControlAllocator.CreateDialog(XmlDocumentinitialization ) Microsoft.SqlServer.Management.SqlMgmt.LaunchForm.InitializeForm(XmlDocument ドキュメント、IServiceProvider プロバイダー、ISqlControlCollection コントロール) で Microsoft.SqlServer.Management.SqlMgmt.LaunchForm..ctor(XmlDocument ドキュメント、IServiceProvider プロバイダー) で Microsoft.SqlServer.Management. Microsoft.SqlServer の UI.VSIntegration.ObjectExplorer.ToolMenuItemHelper.OnCreateAndShowForm(IServiceProvider sp, XmlDocument doc)。Management.SqlMgmt.RunningFormsTable.RunningFormsTableImpl.ThreadStarter.StartThread()

===================================

インデックスが配列の範囲外だった。(Microsoft.SqlServer.Smo)


プログラムの場所:

Microsoft.SqlServer.Management.Smo.SqlPropertyMetadataProvider.PropertyNameToIDLookupWithException (文字列 propertyName、PropertyAccessPurpose pap) で Microsoft.SqlServer.Management.Smo.SqlSmoObject.GetDbComparer (Boolean 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 で。 Microsoft.SqlServer.Management.Smo.LoginCollection.get_Item(文字列名) の SmoCollectionBase.GetObjectByKey(ObjectKeyBase キー) Microsoft.SqlServer.Management.SqlManagerUI.CreateLogin..ctor(CDataContainer コンテキスト)

あなたの助けを願っています!ありがとう

4

1 に答える 1

1

それは正しいです。SQL Server Management Studio 2008 から SQL Server 2012 のインスタンスに接続できますが、オプションは非常に限られています (基本的にはクエリの作成のみ)。ほとんどの SSMS 機能を使用できません。

ここには 2 つのオプションがあります。

A - クエリを使用してデータベースを接続します。MSDN リンクと例:

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 をインストールします。Express エディションは無料で入手できます。データベース エンジンをインストールする必要はなく、SSMS をインストールするだけで済みます。

編集: 3 番目のオプションがあるかもしれません。保証はできませんが、最新の SP と更新を 2008 に適用すると、2012 インスタンスでフル機能が動作する可能性があります。

それでも、SSMS 2012 をインストールして使用することをお勧めします。古いインスタンスでは問題なく動作します。

于 2013-07-29T08:38:32.840 に答える