SQL Server Management Studioからの\ nの保存


11

という名前の列があり、EventLog varchar(max)本質的にはバッチプロセス全体のイベントログを保存するため、かなり大きくなります。

問題は、クエリウィンドウに移動してこのような選択を行うと

SELECT EventLog from BatchProcess

イベントログのテキストをメモ帳にカットアンドペーストすると、

  1. すべてのNewLines \nを削除し、1つの連続した行になります。
  2. 特定の量のテキストのみをクリップボードにコピーし、残りを切り捨てます。

SQL Server Management StudioからEventLogのコンテンツを取得するにはどうすればよいですか?

回答:


8

切り捨てに対処するには、処理のためにXMLに変換してみてください

DECLARE @S varchar(max)

SELECT @S = ''

SELECT @S = @S + '
' + EventLog  FROM BatchProcess

SELECT @S AS [processing-instruction(x)] FOR XML PATH('')

コードは、マーティン・スミスさんからmodifed 答え/programming/2759721/how-do-i-view-the-full-content-of-a-text-or-varcharmax-column-in-sql-server -200

これも改行を解決するかもしれませんが、それが大したことなら別のエディターを試してください


ありがとう、これは私のニーズにぴったりです。ログファイルを確認したところ、約3 MBだったので、1メガバイト後にSQL Serverが何かを切断したような気がします。
ロボショップ

1
  1. すべてのNewLinesを削除し、1つの連続した行になります。

それはメモ帳の典型的なクラッピーのように聞こえます。IIRCでは、実際に改行を表示するために、メモ帳\r\nにはだけでなく行末が必要\nです。ワードパッドまたは実際のエディターに貼り付けてみてください。


1
できたかもしれませんが、Wordとワードパッドでも試してみましたが、まだ連続した行でした。しかし、他のソリューションは、データの取得とNewLineの表示の両方で機能しました。
ロボショップ

コピーと貼り付けも機能しません。新しいSSMSクエリウィンドウ、Emacs、またはワードパッドに貼り付けます。各CRLFは2つのスペースに置き換えられます。XMLハックを使用すると、改行が表示されますが、テキストがエンティティによって汚染されます。ただし、少なくとも要点は理解できます。結果リストにSSMS 2016(13.0.15900.1)とテーブルビューを使用しています。
ビンキ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.