2009-06-16 6 views

Répondre

1

Je ne sais pas s'il y a un moyen de voir qui créé la vue, mais sp_help vous obtiendrez des informations sur sa création

sp_help viewMyView 

sp_help fonctionne sur toute base de données des objets BTW.

1

Il est trop tard maintenant, mais si vous utilisiez 2008, vous pouvez créer un audit qui suivra les changements futurs.

EDIT: trouvé!

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' 

Cela produira un certain nombre de détails intéressants sur les points de vue dans votre base de données, y compris la colonne principal_id. Joignez-vous à sys.database_principals sur principal_id pour le nom d'utilisateur!

0

SQL Server ne stocke pas d'informations explicites sur qui a créé ou modifié un objet. Il y a des informations dans le catalogue de métadonnées pour savoir qui est le propriétaire d'un objet donné, ou à ce schéma ne l'objet appartient à:

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

En fonction du type d'objet soit l'principal_id est rempli avec la base de données principale ID le propriétaire, ou le schema_id est rempli avec l'Id du schéma auquel l'objet appartient. Tous les schémas ont un propriétaire et qui peut être récupéré à partir du catalogue de métadonnées:

select * from sys.schemas 

noter toutefois que ceux-ci ne révéler le propriétaire de l'objet. Le propriétaire ne signifie pas nécessairement l'utilisateur qui l'a créé ou modifié. La propriété des objets peut être modifiée pendant la création ou après la création avec l'instruction ALTER AUTHORIZATION, ce qui rend l'identification par propriété peu fiable au mieux. De même, tous les membres du rôle sysadmin sont mappés sur le même principal de base de données, dbo, dans chaque base de données.

Pour identifier correctement l'utilisateur qui a créé un objet, vous devez déployer des méthodes d'audit, mais cela nécessite un déploiement préalable de l'audit. Certaines médecine légale peut se faire après le fait, si l'audit n'a pas été déployé:

Questions connexes