Archive for the ‘Sql’ Category

Como extraer los desencadenadores de una base de datos Sql Server

Jueves, Febrero 21st, 2008

Continuando con mi bajo nivel en lenguaje Sql, esta vez intentaba sacar todos los desencadenadores contenidos dentro de una base de datos. Como no he conseguido dar con una solucón buena, al final he sacado mi consulta. Aun desconociendo si la forma correcta de hacerlo, es la única forma que he encontrado, y que, para lo que necesito, ya me sirve.

Ahi va:

SELECT
syscomments.id, syscomments.text, sysobjects.name
FR/OM
syscomments INNER JOIN
sysobjects ON syscomments.id = sysobjects.id
WHERE
text like ‘%CREATE TRIGGER%’

Como extraer las relaciones de una base de datos Sql Server

Viernes, Febrero 15th, 2008

Ayer me estuve todo el día peleando en como conseguir sacar las relaciones, mediante Transac-SQL, de una base de datos Sql Server 2000. Seguramente para algun experto sería una tarea muy senzilla, pero para mi, un usuario poco avanzado fue una tarea bastante compliacada.

Tras trastear por las tablas de sistema, por fin conseguí una sentencia que me devolvía las relaciones. Aquí va:

SELECT

dbo.syscolumns.name AS fname,
dbo.syscolumns.id AS fid,
dbo.sysobjects.name AS taula_nom,
syscolumns_1.name AS rname,
syscolumns_1.id AS rid,
sysobjects_1.name AS rtaula_nom

FR/OM

dbo.syscolumns syscolumns_1 INNER JOIN
dbo.sysreferences sysreferences_1 ON syscolumns_1.id = sysreferences_1.rkeyid
AND syscolumns_1.colid = sysreferences_1.rkey1 INNER JOIN
dbo.sysobjects sysobjects_1 ON syscolumns_1.id = sysobjects_1.id INNER JOINdbo.syscolumns INNER JOIN
dbo.sysreferences ON dbo.syscolumns.id = dbo.sysreferences.fkeyid
AND dbo.syscolumns.colid = dbo.sysreferences.fkey1 INNER JOIN
dbo.sysobjects ON dbo.syscolumns.id = dbo.sysobjects.id ON sysreferences_1.constid = dbo.sysreferences.constid