2009-06-16 16 views

答えて

1

私はビューを作成しますが、あなたにそれが

sp_help viewMyView 

は、sp_helpはBTW任意およびすべてのデータベース・オブジェクト上で動作します作成したときにいくつかの情報をsp_helpを取得しますを参照する方法があるかどうかわかりません。

1

今は遅すぎますが、2008年を使用している場合は、将来の変更を追跡するauditを作成することができます。

EDIT:見つけました!

select p.name, v.* 
from sys.all_views v, sys.database_principals p, sys.schemas s 
where p.principal_id = s.principal_id 
and v.schema_id = s.schema_id 
and v.name = 'your_view_name' 

これにより、データベースのビュー(principal_id列を含む)に関するいくつかの面白い詳細が生成されます。ユーザー名はprincipal_idのsys.database_principalsに参加してください!

0

SQL Serverは、オブジェクトを作成または変更したユーザーに関する明示的な情報を格納しません。 principal_idどちらかがのデータベースプリンシパルIDが移入されたオブジェクトの種類に応じて

select * from sys.objects where object_id = object_id('<object name>'); 

:指定されたオブジェクトの所有者であるか、どのようなスキーマオブジェクトが属するんし、誰についてのメタデータカタログ内の情報があります所有者、またはschema_idには、オブジェクトが属するスキーマのIDが設定されます。

select * from sys.schemas 

は、しかし、これらは唯一のオブジェクトの所有者を明らかにすることに注意してください:すべてのスキーマは、メタデータ・カタログから検索することができ、所有者としています。所有者は必ずしもそれを作成または変更したユーザーを意味するものではありません。オブジェクトの所有権は、作成中または作成後にALTER AUTHORIZATIONステートメントを使用して変更することができ、所有権による識別は最高で信頼性がありません。また、sysadminロールのすべてのメンバーは、すべてのデータベース内の同じデータベースプリンシパルdboにマップされます。

オブジェクトを作成したユーザーを適切に識別するには、監査方法を展開する必要がありますが、事前に監査を展開する必要があります。

関連する問題