2

Amazon RDS でホストされている SQL Server について調査を行っています。マルチテナンシー ソリューションを必要とするアプリケーションを計画しています。顧客ごとに 1 つのデータベースと、ログイン用のコア データベースなどです。

だから私はRDS/SQL Serverで遊んでいますが、克服しなければならない問題があります。まず、データベースの作成をどのように自動化しますか? I RDS bak ファイルから復元することはできず、テンプレートからデータベース スキーマを作成したいと考えています。誰かがこれについて何か経験がありますか? もしそうなら、いくつかのヒントを教えてもらえますか?

ありがとう、

クスード

4

1 に答える 1

1

スクリプトの生成はこのための出発点として適していますが、データベースの作成を本当に自動化したい場合は、SQL Server のスクリプトの生成から出力されたスクリプトをテンプレートに変換することをお勧めします。

これを行う良い方法は、.NET アプリケーションを作成するか、スクリプトをテンプレートにしたら検索と置換を行うストアド プロシージャを作成することです。

  1. 必要なすべてのオブジェクトを含むテンプレート顧客データベースを作成し、データベース (すべてのデータベース オブジェクト) をスクリプト化します。
  2. C# または SQL で、すべてのオブジェクト名に変数を含めて動的クエリを作成します。

     CREATE DATABASE CustomerDB_1 ...
    
     "CREATE DATABASE CustomerDB_{0}" //Formatted String in C#
     'CREATE DATABASE CustomerDB_' + @vchCustomerID //Dynamic SQL
    

    すべてのオブジェクト名に顧客 ID があり、すべてのデータベースに一意の顧客 ID がある場合は、変数を適切な値に置き換えた後、クエリを実行するだけで準備完了です。

于 2013-02-23T02:03:24.700 に答える