4

VS2010 SP1データ層アプリケーションプロジェクトを使用して、次のような最も単純なデータベースを作成しました。

CREATE TABLE [dbo].[Table1] ( column_1 int NOT NULL, column_2 int NULL )

次に、.dacpacを正常にビルドし、SSMS 2008R2を使用してローカルSQLExpressインスタンスに展開することで検証しました(すべて正常に機能しました)。

次に、SSMS 2008 R2を使用して、.dacpacをSQLAzureサーバーに展開してみました。ウィザードはすべてのステップ(データベースの作成とスキーマの作成を含む)をなんとか完了しましたが、最後のステップである「DACメタデータへのDACの登録」でIndexOutOfRangeException(以下を参照)で失敗しました。

これを、既存のSQL Azureサーバー、新しいSQL Azureサーバー(どちらも同じ例外で失敗する)、および同じ名前の空のデータベースを持つSQL Azureサーバー(これはSSMSランタイム例外で失敗する)に対して実行しようとしました。 )。

私は今アイデアがありません。.dacpacsをSQLAzureに展開する方法に関するアイデアをいただければ幸いです。

System.IndexOutOfRangeException:インデックスが配列の範囲外でした。Microsoft.SqlServer.Management.Smo.SqlPropertyMetadataProvider.PropertyNameToIDLookupWithException(String propertyName、PropertyAccessPurpose pap)at Microsoft.SqlServer.Management.Smo.SqlSmoObject.GetDbComparer(Boolean inServer)at Microsoft.SqlServer.Management.Smo.SqlSmoObject.InitializeStringComparer()at Microsoft.SqlServer.Management.Smo.SmoCollectionBase.get_InternalStorage()のMicrosoft.SqlServer.Management.Smo.SimpleObjectCollectionBase.InitInnerCollection()のMicrosoft.SqlServer.Management.Smo.AbstractCollectionBase.get_StringComparer() SmoCollectionBase.GetObjectByKey(ObjectKeyBase key)at Microsoft.SqlServer.Management.Smo.DatabaseCollection.get_Item(String name)atMicrosoft.SqlServer。

4

2 に答える 2

1

SSMS の最新ビルドはありますか? SSMS R2 SP1 を実行している必要があります。特にDAC PACの修正が含まれています。

ここにあります: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=26727

于 2012-01-31T20:58:09.893 に答える
1

Microsoft によると、VS 2010 SP1 と SQL 2008 R2 SP1 をインストールする順序に何らかの問題があるようです。

Herve の回答も問題に対処している可能性があります (つまり、SQL 2008 R2 SP1 を再インストールする) が、SQL Azure チームの推奨ソリューション ( http://www.microsoft. com/download/en/details.aspx?id=26728にアクセスし、新しいSMO MSI (1033\x64\SharedManagementObjects.msi としてリストされている) をダウンロードしてインストールします。

ありがとうMS!

于 2012-02-01T00:55:07.310 に答える