問題タブ [extended-events]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
regex - 拡張イベントから JSON への変換を最適化する方法
.xel ファイルを取り込み、dba-tools モジュールを使用してカスタム オブジェクトに変換し、それらを単一行の JSON に変換してファイルにエクスポートし、どこにでも送信するという小さなプロセスがあります。ここ:
これは法案に適合し、まさに私が必要とすることを行います。中間の厄介な正規表現は、json に変換すると、すべての Unicode 文字を簡単にエスケープし、正規表現が魔法のように、私たちが知っている大好きな文字に戻すためです。
ただし、すべてが少し遅すぎます。大量の .xel ファイル (通常は 500 MB のサイズ) を生成します。トレースが書き込まれてから取り込まれるまでの遅延を短くしたいと考えています。現状では、この方法でファイルを連続して処理するには、最大 35 分かかります。遅れをとった場合、遅延が大きくなる可能性がありますが、その速度では可能性が高いようです.
私はすでにこれをかなりスピードアップしました。私が持っている正規表現コードの代わりに [System.Text.RegularExpressions.Regex]::Unescape を使用してみましたが、わずかに高速であり、とにかく必要な正しい書式設定を提供しません。私の次のステップは、ファイルを小さな断片に分割し、それらを並行して処理することですが、これは CPU の負荷が大幅に高くなるため、可能であれば避けたいと考えています。
これを最適化するための助けは大歓迎です!
c# - C# & SQL Server リアルタイム DML イベント
SQL Server から外部エンティティへの DML イベント (挿入、更新、削除) を生成する必要があります。Microsoft.SqlServer.XEvent.XELite
nuget パッケージを使用して拡張イベントを実装しようとしました。ただし、行データは提供されず、実行されたステートメントのみが提供されます。
fn_dblog
トランザクション ログからデータを取得する関数も確認しました。しかし、それは複雑すぎるようです。
これを達成する他の方法はありますか (もちろん、トリガーや CDC のような手動作業を使用せずに)?