[SQL Server] 種類 'System.OutOfMemoryException' の例外がスローされました。 (mscorlib)

Management Studio (SSMS) でクエリ実行時に、結果セットが巨大である場合に発生するメモリ不足エラー。大きめのテーブルの結果セット (グリッド) を全選択してそのままコピーしようとすると発生したりする。
32 ビット OS の場合、そもそも SSMS が 2G の制約を受け、かつ、結果をグリッド表示する場合は 64 KB まで。結果をテキスト表示する場合は 8 KB までという制約があるらしい。

解決方法は以下の 3 つだが、最後のコマンドはややハードルが高いが、自動化処理などの応用も利く。

  1. 結果をテキストで表示
    [クエリウィンドウで右クリック] - [結果の出力] -  [結果をテキストで表示]
  2. 結果をファイルに出力
    [クエリウィンドウで右クリック] - [結果の出力] -  [結果をファイルに出力]
  3. sqlcmd ユーティリティの使用
    コマンドラインから SQL を実行する。
    http://technet.microsoft.com/ja-jp/library/ms162773.aspx

[ 参考 ]
"System.OutOfMemoryException" exception when you execute a query in SQL Server Management Studio - Microsoft

このブログの人気の投稿

コピーした行の挿入が表示されない時はフィルタされていないかチェック

Excel で一部の図形だけ固定する