La risposta è "no, probabilmente non è possibile".
Mentre ci sono cose che potrebbero dire chi ha creato un determinato oggetto, ci sono molti "se" dietro di loro. Una recensione rapida (e non necessariamente completa):
sys.objects (e quindi sys.tables, sys.procedures, sys.views, ecc.) Ha la colonna principal_id. Questo valore è una chiave esterna che si riferisce all'elenco di utenti del database, che a sua volta può essere unito all'elenco degli accessi SQL (istanza). (Tutte queste informazioni sono disponibili in altre viste di sistema.)
Ma.
Un rapido controllo sul nostro setup qui e una rapida rassegna di BOL indica che questo valore è impostato (cioè non null) se è "diverso dal proprietario dello schema". Nel nostro sistema di sviluppo, e abbiamo dbo + altri due schemi, tutto si presenta come NULL. Questo è probabilmente perché tutti hanno i diritti dbo all'interno di questi database.
Questo sta utilizzando l'autenticazione NT. L'autenticazione SQL probabilmente funziona allo stesso modo. Inoltre, tutti hanno e usano un accesso univoco, o sono condivisi? Se il turnover dei dipendenti e gli accessi al dominio (o SQL) vengono interrotti, ancora una volta i dati potrebbero non essere presenti o potrebbero essere incompleti.
Puoi guardare questi dati sopra (seleziona * da sys.objects), ma se principal_id è nullo, probabilmente sei sfortunato.
fonte
2009-08-10 17:18:27
Buona risposta, copre tutte le basi ... – gbn
Questo è praticamente quello che pensavo sarebbe stata la risposta. Grazie per l'aiuto. – bcasp