SQL Server 2000のは、それが読んでいるテーブルをブロックせずにフルテキストカタログを取り込むようにすることができますか?

StackOverflow https://stackoverflow.com/questions/577306

質問

私はそのテーブルのいくつかのフルテキストカタログで(はい、私は知っている...)SQL Server 2000の上のデータベース・サーバを持っています。私は現在、静かな時間に一晩完全な人口をやっている、と私は、新しいデータが検索に考えることができるように、日中のカタログを更新できるようにしたいと思います。

私は気づいた問題点は、増分作成の実行時に、人口プロセスに起因するブロックのかなりの量があることです。このデータベースの他のトランザクションは、「非コミット読み取り」を使用している、またはダーティ・リード、(私は特にアップツー秒の正確なデータを気にしない)の遅延を最小限に抑えるので、私は正確にはわからない、なぜ人口、どのそれ自体はデータのみ、ブロックにそれらを読んでます。

任意の手がかり、ヒント?

役に立ちましたか?

解決

短編小説:いいえ、状況は我々がここに記載されているように2008のRTM版は、これらの同じ問題を持っていた2008年のSQL Serverの最新の更新まではあまり良くあります:

のhttp:// WWW。 brentozar.com/archive/2008/11/stackoverflows-sql-2008-fts-issue-solved/する

この問題を回避するには、予算とワークロードのために意味をなす最速のストレージ・サブシステムを使用することです。フルテキストカタログは、あなたのデータとログとは別の配列にする必要があり、その方法は、彼らがより速く人口を終了することができます。

また、あなたは読書がロックを引き起こすことに驚いていると述べました。私たちは、このように、SQL Serverのロック処理を説明するSQLServerPedia上の記事を持ってます:

http://sqlserverpedia.com/wiki/SQL_Server_Locking_Mechanismする

あなたはより具体的な答えをしたい場合は、

、人口の間、サーバーを監視します。クエリがブロックされているかを見て、sp_who2を実行し、そのT-SQLが何であるかを見つけるために、DBCC INPUTBUFFER(SPID)コマンドを実行します。そうすれば、あなたは、クエリのタイプは、それを引き起こしている正確に何を見ることができます。あなたはコミットされていない読んで使用しています確信している場合は、クエリの実行計画のコピーをアップロードし、我々は何が起こっているかを見つけるためにそれを解釈することができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top