ローカル PC で実行する必要がある 123MB の sql ファイルがあります。しかし、私は得ています
Cannot execute script: Insufficient memory to continue the execution of the program
この問題を解決するには?
ローカル PC で実行する必要がある 123MB の sql ファイルがあります。しかし、私は得ています
Cannot execute script: Insufficient memory to continue the execution of the program
この問題を解決するには?
それはあなたを助けるかもしれません!以下の手順を参照してください。
sqlcmd -S サーバー名 -d データベース名 -i script.sql
また、サーバー プロパティで [クエリごとの最小メモリ] の値を単純に増やすこともできます。この設定を編集するには、サーバー名を右クリックし、[プロパティ] > [メモリ] タブを選択します。
SSMS 2012 で 30MB の SQL スクリプトを実行しようとすると、このエラーが発生しました。値を 1024MB から 2048MB に増やした後、スクリプトを実行できました。
(これは私がここで提供したのと同じ答えです)
私のデータベースは500MBを超えていたので、次を使用しました
C:\Windows>sqlcmd -S SERVERNAME -U USERNAME -P PASSWORD -d DATABASE -i C:\FILE.sql
SPを含むすべてをロードしました
*NB: コマンドを管理者として実行します
私があなたの問題を正しく理解していれば、(transact sql) xyz.sql - データベース + スキーマを復元しようとしています。私のために働いたこのコマンドを試すことができます:
SQLCMD -U sa -i xyz.sql
スクリプトとデータのサイズが大きいために、このタイプのエラーが発生することがあります。サーバーは、実行して結果を出すのに十分なメモリを必要とします。クエリごとに、単純にメモリ サイズを増やすことができます。
SQLサーバーのプロパティ>メモリタブ(左側)に移動するだけで、追加する最大メモリ制限を設定できます。
また、上部に「結果をテキストに」というオプションがあり、「結果をグリッドに」オプションと比較してメモリの消費量が少なくて済みます。結果をテキストに変換して実行するメモリを少なくすることもできます。
以下のスクリプトは完全に機能します。
sqlcmd -s Server_name -d Database_name -E -i c:\Temp\Recovery_script.sql -x
症状:
sqlcmd ユーティリティで回復スクリプトを実行すると、「Sqlcmd: エラー: ファイル 'file_name.sql' のコマンド 'X' 付近の XYZ 行で構文エラーが発生しました。エラーが発生しました。
原因:
これは、sqlcmd ユーティリティの制限です。SQL スクリプトに何らかの形式でドル記号 ($) が含まれている場合、ユーティリティはスクリプトを正しく実行できません。これは、デフォルトですべての変数が自動的に置換されるためです。
解像度:
任意の形式でドル ($) 記号を含むスクリプトを実行するには、コマンド ラインに「-x」パラメーターを追加する必要があります。
例えば
オリジナル: sqlcmd -s サーバー名 -d データベース名 -E -ic:\Temp\Recovery_script.sql
修正済み: sqlcmd -s サーバー名 -d データベース名 -E -ic:\Temp\Recovery_script.sql -x
ここでのほとんどの回答と同様に、コマンドライン ツールを使用します。私の場合、スクリプトには既にデータベース作成コードが含まれています。たとえば、スクリプトにCREATE DATABASE
コマンドが含まれている場合
USE [master]
GO
CREATE DATABASE [your-database-name]
次に、を使用せず-d your-database-name
に、次のコマンドを使用します。
Windows 認証の場合は、次のコマンドを使用します
sqlcmd -S ServerName\InstanceName -i "script.sql" -x
SQL Server 認証の場合は、次のコマンドを使用します
sqlcmd -S ServerName\InstanceName -U usename -P password -i "script.sql" -x