web-dev-qa-db-ja.com

2つのSQL Serverデータベースが同じMDFおよびLDFファイルを共有するが、データが異なる

実稼働データベースと同じSQL Serverインスタンス上の別のデータベースとして復元されたコピーがあり、両方が同じMDFとLDFファイルを使用している(つまり、 SQL Server Management Studioの同じ「論理」ファイル。これを調査しているときに見つけたものから、 それは可能です ですが、すべての指示が、両方が同じものを指していることを示していますdata、妥当な仮定。

ただし、私の場合、両方のデータベースには実際には別のデータが含まれています。各データベースに1つずつある同じ名前の2つのテーブルでselectステートメントを実行すると、異なるデータが返されます。私はこれを2倍、3倍、4倍に検証しました。これはどのようにして可能ですか? MSのドキュメントも、私が見つけたものも、同じMDFファイルを共有しているが異なるデータを持っている2つのDBについて話したことがありません。

関連するNDFファイルはなく、各DBには1つのファイルグループがあり、各ファイルグループには1つのファイルしかありません。

4
rory.ap

リンクした奇妙なAutocloseの場合を除いて、2つのデータベースが同じデータベースファイルを指すようにすることはできません。

以下のクエリを実行して、データベースが指している物理ファイルを表示します。

SELECT database_id, name, physical_name 
FROM master.sys.master_files

その情報があれば、実際にはデータベースが同じデータベースファイルを参照していないことがわかります。

この情報は、SSMS GUIでも確認できます。データベースを右クリックし、プロパティに移動してからファイルに移動します。物理ファイルはまだ表示されていないので、右にスクロールします。パスとファイル名の組み合わせは一意になります。

11
Tara Kizer