SQL Server聯機叢書:查看預存程序

來源:互聯網
上載者:User
server|預存程序
幾個系統預存程序用系統資料表提供有關預存程序的資訊。使用這些預存程序可以: 查看用於建立預存程序的 Transact-SQL 陳述式。這對於沒有用於建立預存程序的 Transact-SQL 指令檔的使用者是很有用的。
獲得有關預存程序的資訊(如預存程序的所有者、建立時間及其參數)。
列出指定預存程序所使用的對象及使用指定預存程序的過程。此資訊可用來識別那些受資料庫中某個對象的更改或刪除影響的過程。 查看預存程序的定義sp_helptext
顯示規則、預設值、未加密的預存程序、使用者定義函數、觸發器或視圖的文本。
文法
sp_helptext [ @objname = ] 'name'
參數
[@objname =] 'name'

對象的名稱,將顯示該對象的定義資訊。對象必須在當前資料庫中。name 的資料類型為 nvarchar(776),沒有預設值。
傳回碼值
0(成功)或 1(失敗)
結果集
列名資料類型描述Textnvarchar(255)對象定義文本

注釋
sp_helptext 在多個行中顯示用來建立對象的文本,其中每行有 Transact-SQL 定義的 255 個字元。這些定義只駐留在當前資料庫的 syscomments 表的文本中。
許可權
執行許可權預設授予 public 角色。
樣本
下面的樣本顯示 employee_insupd 觸發器的文本,該觸發器在資料庫 pubs 中。

USE pubsEXEC sp_helptext 'employee_insupd'



查看有關預存程序的資訊  sp_help
報告有關資料庫物件(sysobjects 表中列出的任何對象)、使用者定義資料類型或 Microsoft® SQL Server™ 所提供的資料類型的資訊。
文法
sp_help [ [ @objname = ] name ]
參數
[@objname =] name

是 sysobjects 中的任意對象的名稱,或者是在 systypes 表中任何使用者定義資料類型的名稱。Name 的資料類型為 nvarchar(776),預設值為 NULL。不能使用資料庫名稱。
傳回碼值
0(成功)或 1(失敗)
結果集
返回的結果集取決於 name 是否已指定、何時指定以及它是何種資料庫物件等因素。 如果執行不帶參數的 sp_help,則返回當前資料庫中現有的所有類型對象的摘要資訊。 列名資料類型描述Namenvarchar(128)對象名Ownernvarchar(128)對象所有者Object_typenvarchar(31)物件類型
如果 name 是 SQL Server 資料類型或使用者定義資料類型,則 sp_help 返回此結果集。 列名資料類型描述Type_namenvarchar(128)資料類型名稱。Storage_typenvarchar(128)SQL Server 類型名稱。Lengthsmallint資料類型的物理長度(以位元組為單位)。Precint精度(總的數字位元)。Scaleint小數點右邊的數字位元。Nullablevarchar(35)指明是否允許 NULL 值:是或否。Default_namenvarchar(128)綁定到該類型的預設值名稱。如果沒有綁定預設值,則為 NULL。Rule_namenvarchar(128)綁定到該類型的規則名稱。如果沒有綁定預設值,則為 NULL。Collationsysname資料類型的定序。如果是非字元資料類型,則為 NULL。
如果 name 是任意資料庫物件(而不是資料類型),那麼 sp_help 將返回此結果集,以及基於指定物件類型的其它結果集。 列名資料類型描述Namenvarchar(128)表名Ownernvarchar(128)表的所有者Typenvarchar(31)表的類型Created_datetimedatetime建立的日期表

根據指定的資料庫物件,sp_help 返回其它結果集。

如果 name 是系統資料表、使用者表或者視圖,則 sp_help 返回這些結果集(例外,對於視圖,不返回描述資料檔案在檔案組中所處位置的結果集)。
按列對象返回其它結果集: 列名資料類型描述Column_namenvarchar(128)列名。Typenvarchar(128)列資料類型。Computedvarchar(35)指出是否計算了在列中的值:(是或否)。Lengthint以位元組為單位的列長度。Precchar(5)列精度。Scalechar(5)列數值範圍。Nullablevarchar(35)指出在列中是否允許 NULL 值:是或否。TrimTrailingBlanksvarchar(35)剪裁尾隨空格(是或否)。FixedLenNullInSourcevarchar(35)只是為了向後相容。Collationsysname列的定序。如果是非字元資料類型,則為 NULL。
按識別欄位返回的其它結果集: 列名資料類型描述Identitynvarchar(128)其資料類型被聲明為標識的列名。Seednumeric識別欄位的起始值。Incrementnumeric此列中的值所使用的增量。Not For Replicationint當重複登入(例如 sqlrepl)試圖在表中插入資料時,無法強制使用 IDENTITY 屬性:
1 = True
0 = False
按列返回的其它結果集: 列名資料類型描述RowGuidColsysname通用唯一識別碼列的名稱。
按檔案組返回的其它結果集: 列名資料類型描述Data_located_on_filegroupnvarchar(128)資料所在的檔案組(主要檔案組、次要檔案組或交易記錄)。
按索引返回的其它結果集: 列名資料類型描述index_namesysname索引名。index_descriptionvarchar(210)索引的描述。index_keysnvarchar(2078)產生索引所在列的列名。
按約束返回的其它結果集 列名資料類型描述constrain_typenvarchar(146)約束的類型。constrain_namenvarchar(128)約束名。delete_actionnvarchar(9)指明 DELETE 操作是:無操作、層疊或暫缺。
(僅適用於 FOREIGN KEY 約束。)
update_actionnvarchar(9)指明 UPDATE 操作是:無操作、層疊或暫缺。
(僅適用於 FOREIGN KEY 約束。)
status_enabledvarchar(8)指明是否啟用約束:啟用、禁用或暫缺。(僅適用於 CHECK 和 FOREIGN KEY 約束。)Status_for_replicationvarchar(19)指明約束是否用於複製。(僅適用於 CHECK 和 FOREIGN KEY 約束。)constrain_keysnvarchar(2078)構成約束的列名。或者(對於預設值和規則而言)指定義預設值或規則的文本。
按引用對象返回的其它結果集: 列名資料類型描述Table is referenced bynvarchar(516)識別參考資料表的其它資料庫物件。
如果 name 是系統預存程序或擴充預存程序,那麼 sp_help 將返回此結果集。 列名資料類型描述Parameter_namenvarchar(128)預存程序參數名。Typenvarchar(128)預存程序參數的資料類型。Lengthsmallint最大實體儲存體長度(以位元組為單位)。Precint精度(總的數字位元)。Scaleint小數點右邊的數字個數。Param_ordersmallint參數的順序。
注釋
sp_help 過程僅在當前資料庫中尋找對象。

當沒有指定 name 時,sp_helptrigger 列出當前資料庫中所有對象的名稱、所有者和物件類型。sp_helptrigger 提供有關觸發器的資訊。
許可權
執行許可權預設授予 public 角色。
樣本A. 返回有關所有對象的資訊
下面的樣本列出有關 sysobjects 中每個對象的資訊。

USE masterEXEC sp_help
B. 返回有關單個對象的資訊
下面的樣本顯示有關 publishers 表的資訊。

USE pubsEXEC sp_help publishers
查看預存程序的相關性
sp_depends

顯示有關資料庫物件相關性的資訊(例如,依賴表或視圖的視圖和過程,以及視圖或過程所依賴的表和視圖)。
不報告對當前資料庫以外對象的引用。
文法
sp_depends [ @objname = ] 'object'
參數
[@objname =] 'object'

被檢查相關性的資料庫物件。對象可以是表、視圖、預存程序或觸發器。Object 的資料類型為 varchar(776),沒有預設值。
傳回碼值
0(成功)或 1(失敗)
結果集
sp_depends 顯示兩個結果集。

下面的結果集顯示 object 所依賴的對象。
列名資料類型描述namenvarchar(40)存在相關性的項目名稱。typenvarchar(16)項目類型。updatednvarchar(7)是否更新項目。selectednvarchar(8)項目是否用於 SELECT 語句。columnsysname存在相關性的列或參數。

下面的結果集顯示依賴 object 的對象。
列名資料類型描述namenvarchar(40)存在相關性的項目名稱。typenvarchar(16)項目類型。
注釋
若一個對象引用另一個對象,則認為前者依賴後者。sp_depends 通過查看 sysdepends 表確定相關性。
許可權
執行許可權預設授予 public 角色。
樣本
下面的樣本列出依賴 Customers 表的資料庫物件。

USE NorthwindEXEC sp_depends 'Customers'


查看關於擴充預存程序的資訊

sp_helpextendedproc
顯示當前定義的擴充預存程序,以及此過程(函數)所屬動態連結程式庫的名稱。
文法
sp_helpextendedproc [ [@funcname = ] 'procedure' ]
參數
[@funcname =] 'procedure'

是要顯示其資訊的擴充預存程序的名稱。procedure 的資料類型為 sysname,預設值為 NULL。
傳回碼值
0(成功)或 1(失敗)
結果集列名資料類型描述namesysname擴充預存程序的名稱。dllnvarchar(255)動態連結程式庫的名稱。
注釋
指定 procedure 時,sp_helpextendedproc 報告指定擴充預存程序的資訊。不提供 procedure 時,
sp_helpextendedproc 返回全部擴充預存程序的名稱,以及每個擴充預存程序所屬的 DLL 名稱。
許可權
執行許可權預設授予 public 角色。
樣本A. 報告所有擴充預存程序的協助
下面的樣本報告所有擴充預存程序的資訊。

USE masterEXEC sp_helpextendedproc
B. 報告單個擴充預存程序的協助
下面的樣本報告 xp_cmd殼層延伸預存程序的資訊。

USE masterEXEC sp_helpextendedproc xp_cmdshell

轉自: http://goaler.xicp.net/ShowLog.asp?ID=517




聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.