Recuperare la definizione di un oggetto di sistema

Ci sono diversi metodi per farlo, come utilizzare la stored procedure sp_helptext, fare una query sulla vista sys.system_sql_modules o una chiamata alla funzione object_definition.

Di seguito un esempio con sys.tables :

-- SP_HELPTEXT

sp_helptext 'sys.tables'

-- OBJECT_DEFINITION

SELECT OBJECT_DEFINITION (object_id('sys.tables'))

-- SYS.SYSTEM_SQL_MODULES (recupero schema_id e object_id dell’oggetto)

SELECT schema_id FROM sys.schemas WHERE name = 'sys'
SELECT object_id FROM sys.system_views WHERE name = 'tables' AND schema_id = 4
SELECT [definition] FROM sys.system_sql_modules WHERE object_id = -386