2009-07-03 12 views
1

私にはいくつか質問があります。SQL SERVERシステムオブジェクトに関する質問

1)マスター/モデル/ MSBDなどのシステムテーブル(sysobjectsなど)が表示されないのはなぜですか?しかし、私たちは

を照会することができます。私たちは基本的にビューを照会していますか?

は有益な情報を保持していますか?

「SELECT * FROM sysobjects」に似ています。基本的にいくつかのビューを照会していますか?

2)なぜシステムテーブルにトリガを追加できないのですか?事前に

おかげで

+1

どのバージョンのSQL Serverですか?どのように「見えない?」どこ? –

答えて

2

SQL Server 2008のシステムテーブル(http://msdn.microsoft.com/en-us/library/ms179932.aspx)は、読み取り専用のビューとして実装されています。これらのシステムテーブルのデータを直接操作することはできません。カタログビューを使用してSQL Serverメタデータにアクセスできます。このリンクを確認してくださいhttp://msdn.microsoft.com/en-us/library/ms174365.aspx

システムテーブルでトリガを作成することは可能ですが、一般的には推奨されません。このhttp://www.sql-server-performance.com/faq/trigger_system_table_p1.aspx

歓声SQL 2005年から

1

カタログビューがResource Database(mssqlsystemresource)で宣言されたビューとして実装されているを確認してください。特別な魔法のおかげで、それらはすべてのデータベースに存在するようです。

いつでも実行計画を使用して、これらのビューがデータをフェッチする実際の表を確認できます。基になるテーブルは、DAC接続で接続しているときにアクセスできます。何らかの方法でシステムテーブルを変更すると、データベースがマークされ、データベースが起動するたびにメッセージが記録されます。変更されたデータベースはMSによってサポートされていないので、何か問題が生じた場合は、サポートを依頼することはできません。

関連する問題