A continuación mostramos varias instrucciones en SQL SERVER que pueden resultar útiles para listar triggers, procedimientos almacenados, vistas, esquemas, etc. Las pruebas siguientes se realizan sobre la base de datos ADVENTUREWORKS.
-
Listar las tablas que tienen triggers
-- -- SELECT name AS tbname, * FROM sysobjects WHERE id IN(SELECT parent_obj FROM sysobjects WHERE xtype='tr') -- o SELECT ta.name AS tbname, * FROM sys.objects ta inner join sys.objects tr on ta.object_id = tr.parent_object_id WHERE tr.type = 'TR'
-
Obtener metadata con la definición del esquema de una tabla.
-- -- select * from Information_schema.Columns where table_name = 'WorkOrder'
-
Listar el esquema, la tabla y sus triggers.
-- -- SELECT sch.name AS nombre_esquema, ta.name as 'nombre_tabla', tr.name as nombre_trigger, tr.object_id, * FROM sys.objects tr INNER JOIN sys.schemas sch ON tr.schema_id = sch.schema_id inner join sys.objects ta on tr.parent_object_id = ta.object_id where tr.type = 'TR' order by sch.name, ta.name
-
Listar los triggers y si están deshabilitados o no.
-- -- SELECT TAB.name as Table_Name , TRIG.name as Trigger_Name , TRIG.is_disabled FROM [sys].[triggers] as TRIG inner join sys.tables as TAB on TRIG.parent_id = TAB.object_id --where TRIG.is_disabled = 1 --t.name in ('WorkOrder', 'Vendor');
-
La definición de los triggers de unas tablas.
-- -- select so.name, text from sysobjects so, syscomments sc where type = 'TR' and so.id = sc.id and so.name like '%WorkOrder%'
-
Listar los nombres de tablas y su esquema de base de datos.
-- -- SELECT o.name AS tbname, s.name AS schema_name FROM sys.objects o INNER JOIN sys.schemas s ON o.schema_id = s.schema_id WHERE type='U' ORDER BY schema_name,o.name
-
Listado de objetos según su tipo.
-- -- SELECT schema_Name(schema_id) as Nombre_Esquema, [name] as Nombre_Objeto, -- Nombre de la tabla, procedimiento almacenado, vista o función [type] as Tipo_Objeto -- 'V' para Vistas, 'U' para Tablas, 'P' para Procedimientos Almacenados, 'FN' para funciones FROM sys.objects WHERE [type_desc] IN ( 'USER_TABLE', 'SQL_STORED_PROCEDURE', 'VIEW', 'SQL_SCALAR_FUNCTION') AND [name] NOT LIKE 'sp_%' AND [name] NOT LIKE 'fn_%' ORDER BY 3 DESC, -- primero el tipo de objeto 1 ASC, -- luego el esquema 2 ASC -- luego el nombre de la tabla / función
-
Listado de triggers y su definición.
-- -- SELECT * FROM SYS.SYSCOMMENTS WHERE TEXT LIKE '%CREATE TRIGGER%'
-
Listado los indices de todas las tablas de una base de datos.
-- -- SELECT s.name,tab.name as tablename, ind.name as indexname FROM sys.indexes ind INNER JOIN sys.tables tab ON ind.object_id = tab.object_id INNER JOIN sys.schemas s on tab.schema_id = s.schema_id ORDER BY s.name,tab.name
5/05/2018 01:59:00 p. m.
Share:
0 comentarios: