web-dev-qa-db-ja.com

SQL Serverのプライマリファイルに保存されているシステム情報は何ですか?

SQL ServerにファイルグループFG1を使用して新しいデータベースを作成し、これをデフォルトとしてマークしたとします。これで、すべてのユーザーテーブルなどがFG1で作成されました。ただし、PRIMARYファイルグループの一部であるファイルも作成しました。どうやら、システムオブジェクトはこのプライマリファイルに保存されています。私は考えていた

これらはどのようなシステムオブジェクトですか?それらを検査できますか?それらは「システム」データベースに表示されますか?

どうやら、この方法で物事を行うことには、ある程度の信頼性の向上があります。プライマリファイルグループのファイルが破損した場合でも、データベースを回復できますか?

2
Antonio2011a

システムオブジェクトは、すべてのオブジェクトのスキーマを格納するオブジェクトです。ストアドプロシージャ、テーブルスキーマなどは、すべてこれらのシステムオブジェクトに格納されます。

システムオブジェクトが破損した場合は、プライマリファイルグループを復元する必要があります。

Sys.tables、sys.proceduresなどのシステムカタログビューをクエリすることにより、システムオブジェクト内のデータを表示できます。

それらは「システム」データベースに表示されますか?

あなたが何について話しているのかわからない、「システム」と呼ばれるデータベースはありません。システムデータベースは、master、msdb、model(ある程度)、およびtempdbです。システムデータベース内に保存されているユーザーデータベースデータはありません。 (ログイン、ジョブ、SSISパッケージなどは耐えられません。)

8
mrdenny