Microsoft Sync Framework 2.1 を使用して本番 SQL Server 2008 R2 db をフェイルオーバー SQL Server 2008 R2 Express サーバーと同期していますが、しばらくは問題なく動作していましたが、数日間の同期の後、ソース (本番 SQL Server)が不足し始めました。同期のためのメモリ(RAM)。
実行が停止したり、Web サイトのトランザクションが失敗したりすることはありませんでしたが、実稼働ボックスの RAM が少ない場合、同期フレームワークは以下のエラーをスローし始めます。
誰でもこれを見ましたか、なぜこれを行っているのか、そして修正があるかどうか考えていますか?
ここにエラーがあります..
Microsoft.Synchronization.Data.DbSyncException: 変更を列挙しているバックグラウンド スレッドで予期しない例外が発生しました。詳細については、内部例外を参照してください。
System.Data.SqlClient.SqlException: リソース プール 'internal' のシステム メモリが不足しているため、このクエリを実行できません。
System.Data.SqlClient.SqlConnection.OnError (SqlException 例外、ブール値 breakConnection、アクション1 完了、Int32 タイムアウト、タスク & タスク、ブール値 asyncWrite) で System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior、RunBehavior runBehavior、ブール値 returnStream、 String メソッド) で System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior 動作、String メソッド) で System.Data.SqlClient.SqlCommand.ExecuteReader() で System.Data.SqlClient.SqlCommand.DeriveParameters() で System.Data.SqlClient .SqlCommandBuilder.DeriveParameters(SqlCommand コマンド) で Microsoft.Synchronization.Data.ManagementUtils.DeriveParameters(SqlCommand コマンド、IEnumerable`1 列)
1 wrapCloseInAction)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource
Microsoft.Synchronization.Data.SqlServer.SqlSyncAdapter.SetCommandSessionParameters(IDbCommand command, String commandName)
で Microsoft.Synchronization.Data.RelationalSyncProvider.EnumerateChangesInBatchesInternal(Object batchProducer)
--- 内部例外スタック トレースの終わり ---Microsoft.Synchronization.Data.DbSyncBatchProducer.DequeueBatch()
で Microsoft.Synchronization.Data.RelationalSyncProvider.ConsumeBatchFromProducer(DbSyncScopeMetadata scopeMetadata)
で Microsoft.Synchronization.Data.RelationalSyncProvider.GetChanges (DbSyncScopeMetadata scopeMetadata、DbSyncSession DbSyncSession、UInt32 memoryBatchSize)
で Microsoft.Synchronization .Data.RelationalSyncProvider.GetChangeBatch(UInt32 batchSize, SyncKnowledge destinationKnowledge, Object& changeDataRetriever)
Microsoft.Synchronization.KnowledgeProviderProxy.GetChangeBatch(UInt32 dwBatchSize, ISyncKnowledge pSyncKnowledge, ISyncChangeBatch& ppChangeBatch, Object& ppUnkDataRetriever)
at Microsoft.Synchronization.CoreInterop.ISyncSession.Start(CONFLICT_RESOLUTION_POLICY resolutionPolicy, _SYNC_SESSION_STATISTICS& pSyncSessionStatistics)
at Microsoft.Synchronization.KnowledgeSyncOrchestrator.DoOneWaySyncHelper(SyncIdFormatGroup sourceIdFormats, SyncIdFormatGroup destinationIdFormats, KnowledgeSyncProviderConfiguration destinationConfiguration, SyncCallbacks DestinationCallbacks, ISyncProvider sourceProxy, ISyncProvider destinationProxy, ChangeDataAdapter callbackChangeDataAdapter, SyncDataConverter conflictDataConverter, Int32& changesApplied、Int32& changesFailed)
Microsoft.Synchronization.KnowledgeSyncOrchestrator.DoOneWayKnowledgeSync (SyncDataConverter sourceConverter, SyncDataConverter destinationConverter, SyncProvider sourceProvider, SyncProvider destinationProvider, Int32& changesApplied, Int32& changesFailed)
で Microsoft.Synchronization.KnowledgeSyncOrchestrator.Synchronize()
で Microsoft.Synchronization.SyncOrchestrator (Synchronizer) で