SQLエージェントジョブの出力をテキストファイルまたはExcelファイルまたはCSVファイルに書き込もうとしています。テキストファイル形式のSQLエージェントジョブ出力
しかし、それは非常に巨大なファイルであり、空白と '-------'のような行を作っています。下の図を参照してください。私は特殊文字を削除するトリミングを試みた。
ここは私の仕事です。
Select data.BlockingSessionID,data.VictimSessionID,LTRIM(RTRIM(data.BlockingQuery)),LTRIM(RTRIM(data.VictimQuery)),data.WaitDurationSecond,data.WaitType,data.BlockingQueryCompletePercent
from(
SELECT
blocking_session_id AS BlockingSessionID,
session_id AS VictimSessionID,
(SELECT [text] FROM sys.sysprocesses
CROSS APPLY sys.dm_exec_sql_text([sql_handle])
WHERE spid = blocking_session_id) AS BlockingQuery,
[text] AS VictimQuery,
wait_time/1000 AS WaitDurationSecond,
wait_type AS WaitType,
percent_complete AS BlockingQueryCompletePercent
FROM sys.dm_exec_requests
CROSS APPLY sys.dm_exec_sql_text([sql_handle])
WHERE blocking_session_id > 0) data
ここでは、犠牲者とブロックのクエリ全体がスペースで区切られたスクリーンショットまたはファイルを示します。
これは、ファイルに書き込むときの様子をいくつかのスクリーンショットです。これはロックが発生したときの結果です。これをテキストファイルに書きたいのですが、何千もの空白で書き込みます。下の図を参照してください。
SQL Serverエージェントを使用せずにクエリを実行すると、同じ結果になりますか? –
いいえ、その時私は最初の画面のようなものを得ます – user2040021
申し訳ありませんが意味を成していません。私は、あなたが何かを正しく働かせるようになるまであなたの質問を減らしてから、フィールドをもう一度加えることを試みるでしょう。 –