顧客ごとに個別の SQL Server データベースを必要とするアプリケーションを構築しています。
これを実現するには、新しい顧客フォルダーを作成し、そのフォルダーにプロトタイプ データベースのコピーを配置し、データベースの名前を変更して、それを新しい "データベース インスタンス" として SQL Server にアタッチできる必要があります。プロトタイプ データベースには、必要なテーブル、フィールド、およびインデックスの定義がすべて含まれていますが、データ レコードは含まれていません。SMO を使用して、データベースのアタッチ、デタッチ、および名前の変更を管理します。
プロトタイプ データベースを作成する過程で、Sql Server Management Studio を使用して、データベースのコピー (コンパニオン .MDF、.LDF ペア) を SQL Server にアタッチしようとしたところ、SSMS がデータベースが存在することを期待していることがわかりました。
c:\program files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\MyDatabaseName.MDF
これは SQL Server の "機能" ですか? 個々のデータベースを別々のディレクトリで管理する方法はありますか? それとも、すべての顧客データベースを同じディレクトリに配置する必要がありますか? (私はこれよりも少し良いコントロールを望んでいました).
注: 現在 SQL Server Express を使用していますが、テスト目的のみです。運用データベースは、SQL Server 2008、エンタープライズ バージョンになります。したがって、「ユーザー インスタンス」はオプションではありません。