2016-05-02 14 views
1

私はAzure Elastic Sc​​ale Split Mergeツールを使用して1つのシャードレットを別のシャードに移動しています。すべてが計画どおりに進んでいるように見えますが、最終的には私に理由を教えずに失敗します。弾性スケールスプリット/マージツールが予期せず失敗する

これは、ログ

Status: Failed 
Details: [Error] The request failed. 
Status: Completing 
Details: [Informational] Deleting any temp tables that were created while processing the request. 
Status: CopyingShardedTables 
Details: [Informational] Successfully copied key range [8643e580-b986-426f-8a11-0d33bd766a37:8743e580-b986-426f-8a11-0d33bd766a37) for sharded table [Edumatic].[Channels]. 
Status: CopyingShardedTables 
Details: [Informational] Moving key range [8643e580-b986-426f-8a11-0d33bd766a37:8743e580-b986-426f-8a11-0d33bd766a37) of sharded tables. 
Status: CopyingReferenceTables 
Details: [Informational] Successfully copied reference table [Edumatic].[RoleUsers]. 
Status: CopyingReferenceTables 
Details: [Informational] Successfully copied reference table [Edumatic].[Roles]. 
Status: CopyingReferenceTables 
Details: [Informational] Successfully copied reference table [Edumatic].[Quizes]. 
Status: CopyingReferenceTables 
Details: [Informational] Successfully copied reference table [Edumatic].[Practices]. 
Status: CopyingReferenceTables 
Details: [Informational] Successfully copied reference table [Edumatic].[Polls]. 
Status: CopyingReferenceTables 
Details: [Informational] Successfully copied reference table [Edumatic].[Migrations]. 
Status: CopyingReferenceTables 
Details: [Informational] Successfully copied reference table [Edumatic].[MediaNodes]. 
Status: CopyingReferenceTables 
Details: [Informational] Successfully copied reference table [Edumatic].[Lectures]. 
Status: CopyingReferenceTables 
Details: [Informational] Successfully copied reference table [Edumatic].[Items]. 
Status: CopyingReferenceTables 
Details: [Informational] Successfully copied reference table [Edumatic].[GroupUsers]. 
Status: CopyingReferenceTables 
Details: [Informational] Successfully copied reference table [Edumatic].[Groups]. 
Status: CopyingReferenceTables 
Details: [Informational] Successfully copied reference table [Edumatic].[Exams]. 
Status: CopyingReferenceTables 
Details: [Informational] Successfully copied reference table [Edumatic].[Activities]. 
Status: CopyingReferenceTables 
Details: [Informational] Successfully copied reference table [Edumatic].[TreeStructures]. 
Status: CopyingReferenceTables 
Details: [Informational] Successfully copied reference table [Edumatic].[TreeNodes]. 
Status: CopyingReferenceTables 
Details: [Informational] Successfully copied reference table [Edumatic].[Workspaces]. 
Status: CopyingReferenceTables 
Details: [Informational] Successfully copied reference table [Edumatic].[Locks]. 
Status: CopyingReferenceTables 
Details: [Informational] Successfully copied reference table [Edumatic].[Media]. 
Status: Starting 
Details: [Informational] Performing data consistency checks on target shards. 
Status: Starting 
Details: [Informational] Starting Split-Merge state machine for request. 
Status: Queued 
Details: [Informational] Operation has been queued. 
Split-Merge request created with OperationId: [4ca7910b-ce66-45fd-a450-c95765c590d6] 

の完全な出力は、それがうまくいかない理由は、私が知ることができるので、より詳細な情報を求めるための方法はありますか?

+0

を動作するかどうか、私が起こって、まったく同じものを持っていることを確認、あなたは何かを見つけましたか?私はそれがdb内の循環関係に起因すると思われますが、別の円形のfkについては、適切なエラーメッセージが表示されます –

+0

後半の回答は残念です。私はデータベースを初期化するときにSchemaInfoをコードで設定することで問題を解決できました –

答えて

0

私は私の破片を設定するときに私SchemaInfoを設定することで、それを修正するために管理:

 SchemaInfoCollection schemaInfoCollection = this.ShardMapManager.GetSchemaInfoCollection(); 
     SchemaInfo schemaInfo = new SchemaInfo(); 

     schemaInfo.Add(new ReferenceTableInfo("dbo", "ActivityData")); 
     schemaInfo.Add(new ShardedTableInfo("dbo", "Answers", "ChannelId")); 
     schemaInfo.Add(new ShardedTableInfo("dbo","Channels","Id")); 
     schemaInfo.Add(new ReferenceTableInfo("dbo", "ExamData")); 
     schemaInfo.Add(new ShardedTableInfo("dbo","Groups", "ChannelId")) 

     bool keyExists = false; 
     foreach (var pair in schemaInfoCollection) 
     { 
      if (pair.Key == "ElasticScaleWithEF") 
      { 
       keyExists = true; 
       schemaInfoCollection.Replace("ElasticScaleWithEF", schemaInfo); 
      } 
     } 
     if (!keyExists) 
     { 
      schemaInfoCollection.Add("ElasticScaleWithEF", schemaInfo); 
     } 

ない、それが正しい方法ですが、それは

0

データベースでは、スプリットマージサービスはメタデータに対して、RequestStatusという名前のテーブルを使用します。

あなたは select details from requeststatus where operationid = '4ca7910b-ce66-45fd-a450-c95765c590d6' を行う場合は、何らかの理由のためのWeb-UIが常に表示されないことを発生したエラーでXMLレポートを取得します。

関連する問題