私は現在 Tridion 2011 をテストしており、(外部ではなく) アップロードされたコンテンツでマルチメディア コンポーネントを作成する際に問題が発生しています。
タイトル、スキーマ、マルチメディア タイプを入力し、システムからファイルを選択して [保存] をクリックします。情報メッセージが表示されSaving item...
、約 30 秒後にThe wait operation timed out
メッセージが表示されます。
C:\Program Files (x86)\Tridion\log
ディレクトリにエラー メッセージはないようです。イベント ビューアを見ると、保存アクションに関する次の情報が表示されます。
Unable to save Component (tcm:4-738361).
The wait operation timed out
Error Code:
0x8004033F (-2147220673)
Call stack:
System.Data.SqlClient.SqlConnection.OnError(SqlException,Boolean,Action`1)
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException,Boolean,Action`1)
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject,Boolean,Boolean)
System.Data.SqlClient.TdsParser.TryRun(RunBehavior,SqlCommand,SqlDataReader,BulkCopySimpleResultSet,TdsParserStateObject,Boolean&)
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader,RunBehavior,String)
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior,RunBehavior,Boolean,Boolean,Int32,Task&,Boolean)
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior,RunBehavior,Boolean,String,TaskCompletionSource`1,Int32,Task&,Boolean)
System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1,String,Boolean,Int32,Boolean)
System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
Tridion.ContentManager.Data.AdoNet.Sql.SqlDatabaseUtilities.SetBinaryContent(Int32,Stream)
Tridion.ContentManager.Data.AdoNet.ContentManagement.ItemDataMapper.Tridion.ContentManager.Data.ContentManagement.IItemDataMapper.SetBinaryContent(Stream,TcmUri)
Tridion.ContentManager.ContentManagement.RepositoryLocalObject.SetBinaryContent(BinaryContent)
Tridion.ContentManager.ContentManagement.Component.OnSaved(SaveEventArgs)
Tridion.ContentManager.IdentifiableObject.Save(SaveEventArgs)
Tridion.ContentManager.ContentManagement.VersionedItem.Save(Boolean)
Tridion.ContentManager.ContentManagement.VersionedItem.Save()
Tridion.ContentManager.BLFacade.ContentManagement.VersionedItemFacade.UpdateAndCheckIn(UserContext,String,Boolean,Boolean)
XMLState.Save
Component.Save
別の問題により、コンテンツ マネージャー スナップインのタイムアウト設定が既に高い値 (10 分以上) に設定されています。
BINARIES
それが役立つ場合、コンテンツ管理データベースのテーブルは 25 GB です。
何か案は?ありがとう。
編集 1
Bart Koopman からの提案に従って、私の DBA はインデックスを再構築しましたが、トランザクション ログがパフォーマンスに影響を与えるとは考えていません。問題は解決しません。
編集 2
エラーの詳細を見つけました
Unable to save Component (tcm:0-0-0).
Timeout expired.
The timeout period elapsed prior to completion of the operation or the server is not responding.
A database error occurred while executing Stored Procedure "EDA_ITEMS_UPDATEBINARYCONTENT".EDA_ITEMS_UPDATEBINARYCONTENT
この手順を見ると、次のステートメントが根本的な原因である可能性があるようです
SELECT 1 FROM BINARIES WHERE ID = @iBINARY_ID AND CONTENT IS NULL
@iBINARY_ID を -1 にして手動で実行しましたが、2 分経ってもまだ完了していません。新しいマルチメディア コンポーネントを挿入すると、クエリは似たようなものになると思います (つまり、id はテーブルに存在しません)。
BINARIES テーブルには現在、NON-CLUSTERED
主キーがあります。おそらく解決策は、これをCLUSTERED
主キーに変更することでしょうか? ただし、理由により、非クラスター化であると想定しています。