har*_*rpo 20 sql-server triggers metadata
无法找到满足我需求的SQL diff工具,我正在编写自己的工具.在INFORMATION_SCHEMA和sys表之间,我有一个大部分完整的工作版本.但是我在元数据中找不到的一件事是触发器的定义,你知道,实际的SQL代码.我忽略了什么吗?
谢谢.
谢谢,皮特,我不知道那个!
斯科特,我正在使用非常基本的托管包,不允许远程连接到数据库.我不知道RedGate的规格(我无论如何都买不起)是否提供了解决方法,虽然还有API(例如来自Apex的API),我没有看到投资一个仍然需要我更多编程的解决方案.:)
我的解决方案是在网站上删除一个ASPX页面作为一种"模式服务",将收集的元数据作为XML返回.我设置了一个小的AJAX应用程序,可以将任意数量的目录实例与主数据库进行比较并显示差异.它并不完美,但对我来说是一个重大进步.
再次感谢!
SQL*_*ace 16
对于2005和2008,您可以使用OBJECT_DEFINITION()函数
Sat*_*ish 15
SELECT
DB_NAME() AS DataBaseName,
dbo.SysObjects.Name AS TriggerName,
dbo.sysComments.Text AS SqlContent
FROM
dbo.SysObjects INNER JOIN
dbo.sysComments ON
dbo.SysObjects.ID = dbo.sysComments.ID
WHERE
(dbo.SysObjects.xType = 'TR')
AND
dbo.SysObjects.Name = '<YourTriggerName>'
Run Code Online (Sandbox Code Playgroud)
为了扩展 SQLMenace 的答案,这里有一个简单的查询,用于从数据库中返回所有触发器及其定义:
SELECT
sysobjects.name AS trigger_name,
OBJECT_NAME(parent_obj) AS table_name,
OBJECT_DEFINITION(id) AS trigger_definition
FROM sysobjects
WHERE sysobjects.type = 'TR'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
42331 次 |
| 最近记录: |