2009-06-16 94 views

回答

1

我不知道是否有辦法看到創建的視圖,但則sp_help將讓你在創建時就

sp_help viewMyView 

sp_help將適用於任何的一些信息和所有數據庫BTW對象。

1

現在已經太晚了,但如果您使用的是2008年,您可以創建一個audit來跟蹤未來的變化。

編輯:發現它!

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不存儲有關誰創建或修改對象的顯式信息。有一個在元數據目錄中關於誰是給定對象的所有者,或者沒有對象屬於什麼模式來信息:

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

根據對象類型要麼principal_id被填充的數據庫主體ID所有者或schema_id使用對象所屬模式的Id填充。所有的模式都有一個所有者,可以從元數據目錄檢索:

select * from sys.schemas 

但是請注意,這些只會揭示對象的所有者。所有者不一定意味着創建它或修改它的用戶。對象的所有權可以在創建過程中或創建後使用ALTER AUTHORIZATION聲明進行更改,使所有權標識最多不可靠。同樣,sysadmin角色的所有成員都映射到每個數據庫中的相同數據庫主體dbo。

要正確識別創建對象的用戶,您應該部署審計方法,但需要事先部署審計。一些取證可以在事後審計,如果沒有部署來完成: