本番データベースからバックアップを復元してから、SQLスクリプト(ALTER TABLE、INSERTなど)を自動的に再適用して、そのdbスキーマを開発中のものに戻す必要があります。
一握りの異なる開発者からのたくさんのスクリプトがあります。それらはすべて同じディレクトリにあるわけではありません。
私の現在の計画は、疑似システムデータベースのテーブルに完全なファイルシステムパスを持つスクリプトを一覧表示することです。次に、このデータベースにストアドプロシージャを作成します。このストアドプロシージャは、最初にRESTORE DATABASEを実行し、次にスクリプトのリストにカーソルを合わせて、スクリプトごとにSQLCMDのコマンド文字列を作成し、xp_cmdshellを使用してスクリプトごとにそのSQLCMD文字列を実行します。
cursor-> sqlstring->xp_cmdshell->sqlcmdのシーケンスは私には不器用に感じます。また、xp_cmdshellをオンにする必要があります。
このようなことをしたのは私だけではありません。サーバー上のファイルシステムに散在している一連のスクリプトを実行するためのよりクリーンな方法はありますか?特に、xp_cmdshellを必要としない方法は?