sys.syscomments:包含數據庫中每個視圖、規則、默認值、觸發器、CHECK 約束、DEFAULT 約束和存儲過程的項。text 列包含原始的 SQL 定義語句。(簡單點說,這個系統表存儲了我們創建的存儲過程、視圖等的源碼,通過查詢該系統表可以查看創建的存儲過程等源碼。SQL Server2000引入)
sys.sql_modules:對每個 SQL 語言定義的模塊對象都返回一行。類型為 P、RF、V、TR、FN、IF、TF 和 R 的對象均有關聯的 SQL 模塊。在此視圖中,獨立的默認值,即 D 類型的對象也具有 SQL 模塊定義。(SQL Server 2005引入)
--查詢存儲過程,復制TEXT部分即可參考:
http://bbs.csdn.net/topics/320261131#post-322618161
select b.[
name ],a.[text]
from syscomments A
inner
join sysobjects B
on A.ID
= B.ID
where b.xtype
=
'P'
--導出所有表中自定義方法
select b . [
name] , a . [text]
from syscomments A
inner
join sysobjects B
on A . ID
= B . ID
where b . xtype
=
'FN'

使用sys.sql_modules來導出所有自定義函數,存儲過程
SELECT sm.object_id, OBJECT_NAME(sm.object_id)
AS object_name, o.
type, o.type_desc, sm.definition
FROM sys.sql_modules
AS sm
JOIN sys.objects
AS o
ON sm.object_id
= o.object_id
ORDER
BY o.
type;
GO
系統視圖(sys.syscomments): http://msdn.microsoft.com/zh-cn/library/ms186293.aspx
系統視圖(sys.sql_modules):http://msdn.microsoft.com/zh-cn/library/ms175081.aspx