SqlServer中Sql檢視儲存過程

2022-01-15 13:29:06 字數 2265 閱讀 7437

( 一)利用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 b 

where 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...