Sql Server 查看所有預存程序或視圖的位置及內容

來源:互聯網
上載者:User

前一段時間,老大給了個需求,就是對部分表進行了分庫,所以,原庫裡面的預存程序、視圖和函數裡的表名等資訊也要跟著更新,剛開始嘗試手動檢查了幾個預存程序,可發現預存程序太多,檢查起來效率很低,還容易出錯,況且還有視圖和函數,所以就想到了  Sql Server 內建的目錄檢視,找了一下,果然找到瞭解決辦法:

 
use ReportServer$SQLSERVER 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 :架構所有者ID4. 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 MSDN : 對每個 SQL 語言定義的模組對象都返回一行。 類型為 P、RF、V、TR、FN、IF、TF 和 R 的對象均有關聯的 SQL 模組。 該視圖 不是太常用,但是要返回 某些對象的 建立資訊,如一個表格的 架構、欄位等資訊,就需要用這視圖了,稍後會在介紹欄位後再介紹這個視圖。注意,該視圖的範圍是當前 DB,並不是當前Server,所以使用前,一定注意前面加 use DBName 的資訊 主要欄位: 1. Object_id:對象標識號,在資料中是唯一的2. Definition:用於定義此模組的 SQL 文本 其實只要大家親自操作下,就很容易明白,Definition 中的內容,就和中的操作是一樣的: 

 

本文首發部落格園,原文地址:Sql Server 查看所有預存程序或視圖的位置及內容 - http://www.cnblogs.com/xunziji/archive/2012/08/22/2650822.html

 

相關文章:

利用 sys.dm_exec_query_stats 尋找並最佳化SQL語句

利用 sys.sysprocesses 檢查 Sql Server的阻塞和死結

Sql Server 系統資料表分析(1) - 備份表

Sql Server 系統資料表分析 (2) - 作業(job) 表

Sql Server 系統預存程序分析 1 - 目錄存放過程

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.