5

開発データベースを本番環境から復元しましたが、開発環境で必要なストアドプロシージャが本番データベースに存在しません。Iiが開発されたストアドプロシージャをSQLServerにインポートするために使用できるコマンドはありますか。各手順は異なるテキストファイルにあるため、約88個のファイルがあります。

TIA!クリス

4

6 に答える 6

11

おっと、あなたはスクリプトを生成するという面倒な方法をしました。SSMSでデータベースを右クリックし、[タスク]-> [スクリプトの生成]を選択して、すべての手順に対して単一のスクリプトを作成する必要があります。

ただし、そのプロセスを再度実行したくない場合は、フォルダー内のcmdシェルを開き、古いバッチファイルの日数を覚えておいてください。

for %f in (*.sql) do sqlcmd -i %f

これでうまくいくはずです!必要に応じて、他のパラメーター(ログイン、パスワード、サーバー名など)をsqlcmdに追加できます。スイッチのリストを表示するには、を実行しsqlcmd -hます。

于 2008-12-18T17:29:11.533 に答える
1

SQL 2K & 2K5 の場合、このツールが必要です。

私は少し前に同様の質問をし、Mike L からこのアドバイスを得ました (ここで彼に投票してください)。

于 2008-12-18T18:05:55.563 に答える
1
  1. データの転送元のデータベースを右クリックします
  2. データ転送を選択
  3. テーブルまたはストア プロシージャを選択します (転送するもの)
  4. データを転送する場所を選択します (サーバー、ローカルホスト、または任意のファイルのいずれか)。
于 2011-09-12T05:35:21.113 に答える
0

開発データベースを右クリックして[SQLスクリプトの生成]をクリックし、保存されている手順のみを選択します。追加のフィルタリングが必要な場合は、不要なストアドプロシージャを選択することもできます。

次に、開発時にそのクエリを実行します。

于 2008-12-18T17:32:00.623 に答える
0

コマンドラインでそれを行う方法があるかどうかはわかりませんが、それらすべてがテキストファイルにある場合、すべてのファイルをループするだけの簡単で汚いアプリを作成することはまったく難しくありません。選択した言語を使用して、本番サーバーで create ステートメントを実行します。

于 2008-12-18T17:34:37.437 に答える
0

私のように、フォルダーの階層で多数の sql ファイルを処理する必要がある場合、この 1 つのライナーはそれらを out.sql と呼ばれる 1 つのファイルに結合し、SQL Management Studio で簡単に実行できます。END が .sql のファイルのみが含まれ、*.sqlsettings などのファイルは無視されます。

.sql ファイルの階層のルート フォルダーから実行します。置き換えられるため、out.sql に値がないことを確認してください。

del out.sql && for /f %f in ('dir /b /s ^| findstr /E \.sql') do type %f >> out.sql
于 2011-06-30T16:46:01.150 に答える