( 一)利用sql語句查詢資料庫中的所有表
1.利用sysobjects系統表
select * from sysobjects where xtype='u'
2,利用sys.tables目錄檢視
sys.tables目錄檢視,為每個表物件返回一行.
select * from sys.tables
注意:sys.tables目錄檢視也只有在sql server2005及以上的版本中才能使用。
3,利用儲存過程sp_tables
exec sp_tables
(二)利用sql語句查詢資料中的所有儲存過程
1.sysobjects系統表,
在資料庫中建立的每個物件(例如約束、預設值、日誌、規則以及儲存過程)都有對應一行,我們在該表中篩選出xtype等於p的所有記錄,就為資料庫中的儲存過程了。
select * from sysobjects where xtype='p'select * from sys.objects where type='p'
2.sys.procedures目錄檢視,每個儲存過程都會在返回結果集中佔一行.
select * from sys.procedures
適用技巧:
sql server檢視所有儲存過程或檢視的位置及內容
select a.name,a.[type],b.[definition] from sys.all_objects a,sys.sql_modules bwhere a.is_ms_shipped=0 and a.object_id = b.object_id and a.[type] in ('p','v','af')
order by a.[name] asc
從上面的sql語句可以看出,主要用到了兩個 sys.all_objects 和 sys.sql_modules 兩個系統儲存過程,
其中 sys.all_objects 是 sql server 2012 版本中的系統檢視,在 更早期的 sql server 版本中,
應該用 sys.objects,同時,sys.objects 在 2012 中也是可以用的,只不過考慮到後續相容性,在新版本中,用新的 name 還是比較好。
sys.all_objects(sys.objects)
該檢視 很出名,是經常使用到的,主要是:顯示所有架構範圍內的使用者定義物件和系統物件的 union
主要字段:
1. name:物件名
2. object_id:物件標識號,在資料中是唯一的
3. principal_id :架構所有者id
4. parent_object_id:此物件所屬物件的id,0 = 不是子物件
5. type:物件型別,常用的型別有, af = 聚合函式 p = sql 儲存過程 v = 檢視 tt = 表型別 u = 表(使用者定義型別)
6. type_desc:物件型別的說明
7. create_date / modify_date :建立日期 / 修改日期
8. is_ms_shipped:是否為 內部 sql server 組建所建立的物件,常用來判斷 是否是 系統內建或使用者自定義 的物件
sys.sql_modules
對每個 sql 語言定義的模組物件都返回一行。 型別為 p、rf、v、tr、fn、if、tf 和 r 的物件均有關聯的 sql 模組。
主要字段:
1. object_id:物件標識號,在資料中是唯一的
2. definition:用於定義此模組的 sql 文字
SQL SERVER如何檢視sql語句執行的時間
1.第一種測試方法 declare begin datetime,end datetime set begin getdate 你所要測試的sql語句 set end getdate print datediff millisecond,begin,end 1000.0 單位 s 2.另一種測試方法...
SQL Server如何檢視SQL語句的執行時間
在sql server資料庫中,如何才能檢視sql語句的執行時間呢?本文將為您介紹查詢方法,供您參考,希望對您能夠有所幫助。下面這種是sql server中比較簡單的查詢sql語句執行時間方法,通過查詢前的時間和查詢後的時間差來計算的 declare begin date datetime decl...
SQL Server如何檢視SQL語句的執行時間
在sql server資料庫中,如何才能檢視sql語句的執行時間呢?本文將為您介紹查詢方法,供您參考,希望對您能夠有所幫助。下面這種是sql server中比較簡單的查詢sql語句執行時間方法,通過查詢前的時間和查詢後的時間差來計算的 declare begin date datetime decl...