多くの場合、本番環境からテスト環境にデータをコピーする必要があります。それらは、製品がファイアウォールの背後にあるまったく異なる環境にあり、VPN を使用する必要があるため、リンク サーバーを使用できません。DBA にこのタスクを実行させるために作業指示書を提出すると、時間がかかりすぎることが多いため、これを行うための体系的な方法を見つけようとしています。
選択クエリに基づいて一連の挿入スクリプトを作成するのが最善のようであり、うまくいくでしょう。これが機能する理由は、これらが大きすぎない静的/ルックアップ テーブルである 1 回限りのコピー スクリプトであることが多いためです。
たとえば、「Cars」というテーブルがあり、CarId 列と Description 列がある場合、スクリプトは次のようになります。
select 'insert into Cars (CarId, [Description])
values (' + cast(CarId as varchar) + ', ''' + [Description] + ''')'
from Cars order by CarId
私のテスト データベースでは、上記の挿入スクリプトを実行する前に、単純にテーブルを吹き飛ばすことができます。
私のprod sqlユーザーもすべてのINFORMATION_SCHEMA
テーブルへの選択アクセス権を持っているので、誰かが上記のクエリを体系的に書く方法に出くわしたかどうか疑問に思っています. 多くの場合、コピーする必要があるテーブルには多くの列があり、キャストはdatetime、varcharなどで異なります...
EDIT:ああ、私はprodユーザーがストアドプロシージャまたは関数を実行する権限を持っていないことを追加するのを忘れていました