3

テキストログファイルを作成するアプリケーションがあり、ログテーブルを切り捨て、一括挿入を使用して現在の日のログを読み込む毎日のSQLServerジョブがあります。ログファイルは多くのスレッドによって書き込まれ、スレッドごとに手動で行を並べ替えないと読み取るのは困難です。

SQL Serverに特定のファイルを「テール」させ、1日の終わりのバッチを待たずにテーブルを最新の状態に保つ方法はありますか?このテーブルはWebサービスによって監視/検索/表示されるため、1日にバッチを複数回実行することは避けたいと思います。現在、アプリケーションからテーブルに直接ログインすることもできません。

4

1 に答える 1

1

私はCLRと仕事を通してそれをしたでしょう。

  1. 特定の間隔で実行されるジョブを持つこと。
  2. ファイル内のファイル名と現在の行番号を受け入れるCLR関数を作成します。

CLRはファイルを開き、指定された番号に基づいて、指定された行の後にデータをフェッチし、SQLサーバーに戻ります。

行番号は、将来の同期のために補助テーブルに保存されます。

これは、テーブルをSQLサーバーに戻すCLRの記述方法に関する記事です:http://msdn.microsoft.com/en-us/library/ms131103.aspx

幸運を。

于 2012-10-24T16:15:23.693 に答える