別のグループが提供する複数の SQL Server 2008 データベースをホストしています。ときどき、データベースの 1 つの新しいバージョンのバックアップが提供されます。古いデータベースを削除し、新しいデータベースを復元してから、新しく復元されたデータベースにアクセスし、既存の SQL ログインを次のように追加するというルーチンを実行します。そのデータベースのユーザーに、これらすべてのデータベースに存在する標準ロールを割り当てます。
ルーチンは同じですが、各データベースの名前が異なり、データとログ ファイルの論理名と OS 名も異なります。私の好みは、各データベースに関連付けられた一連の名前を定義するテーブルを使用して補助データベースをセットアップし、次に、置換するデータベースの名前とバックアップ ファイルの名前をパラメーターとして受け入れるストアド プロシージャを作成することでした。SP は、関連する論理ファイル名と OS ファイル名を検索して、作業を行います。
これには、コマンドを文字列として構築してから実行する必要がありますが、これは問題ありません。ただし、ストアド プロシージャは、データベースを復元した後、SQL ログインをユーザーとしてデータベースに追加し、それをデータベース ロールに割り当てる前に、それを USE する必要があります。ストアド プロシージャではこれを実行できません。
ピースが動的に埋められ、このようにクロスデータベースを操作できる自動化された手順を作成するための代替手段は何ですか?