2016-09-14 6 views
0

SQL Server 2012を使用しています。DBを更新するスクリプトがあります。そのスクリプトのサイズは約270 MBで、約22,00,000行です。SQL Server 2012で270 MBのスクリプトを実行しているときにメモリ不足になっています

エラー:

enter image description here

エラーメッセージ:System.OutOfMemoryExceptionにも

Iは、Transact-SQLコマンドの照会方法を試みたが、特定の行でそのエラー・メッセージを与えます。

Sqlcmd:エラー:ファイル 'database.sql'の行709918の構文エラーです。

しかし、構文エラーはありません。

解決策をご提供ください。

+1

もっと多くのメモリを割り当ててください。スクリプトを複数の小さなステップに単純化しますか? –

+0

コマンドラインからスクリプトを実行できますか?管理スタジオ、GoogleのSQL実行スクリプトコマンドラインなどではない - あなたはそれを試してみて、構文エラーを持って - 実際に構文エラーはありません? – Cato

+0

大規模なMS SQL .sqlファイルをどのようにインポートするのですか?(http://stackoverflow.com/questions/431913/how-do-you-import-a-large-ms-sql-sql-file) ) – mxix

答えて

1

これは、スクリプトに長い行とあまりにも複雑なものが含まれている場合は、SQL Management Studioにとってはかなり大きなものです。

あなたの最良の選択肢は、おそらく以下のとおりです。

  • 使用sqlcmd代わりにSQLの管理Studio
  • あなたがいることを忘れないでください他の

後に1を実行することができますダウン複数のファイルにスクリプトをブレーク

  • ファイルの場合でも、Management Studioは.NETアプリケーションでUnicodeを使用するため、少なくとも550 MiBのメモリが必要です。そして、GUIと構文解析と構文解析があります.SMSCmdとは異なり、SMSSによってスクリプトがストリーミングされていないので、ファイル全体を少なくとも2回はメモリに格納している可能性があります。 32ビットアプリケーションの制限に、特に32ビットOSで...

  • 0

    いいえ手動での分割やコマンドライン実行は不要です。

    ただ、このソフトウェアをダウンロードする - Big SQL Script File Runner

    それはあなたの完全な一日保存されます。

    関連する問題