无法找到满足我需求的SQL diff工具,我正在编写自己的工具。在INFORMATION_SCHEMA和sys表中,我有一个基本完整的工作版本。但我在元数据中找不到的一件事是触发器的定义,你知道的,实际的SQL代码。我是不是忽略了什么?
谢谢。
谢谢,皮特,我不知道这一点!
Scott,我正在使用非常基本的托管软件包,这些软件包不允许远程连接到数据库。我不知道RedGate的规范(我根本负担不起)是否提供了一个解决方案,尽管也有一些API(例如来自Apex的),但我看不出投资于一个仍然需要更多编程的解决方案的意义。:)
我的解决方案是在站点上放置一个充当某种“模式服务”的ASPX页面,将收集到的元数据作为XML返回。我设置了一个小AJAX应用程序,将任意数量的目录实例与主目录实例进行比较,并显示差异。这并不完美,但对我来说是向前迈出的重要一步。
再次感谢!
发布于 2008-09-04 15:50:34
sp_helptext的作用是获取组成触发器的sql。
syscomments视图中的text列还包含用于创建对象的sql。
发布于 2015-02-04 01:45:54
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>'
发布于 2008-09-04 15:53:57
对于2005和2008,您可以使用OBJECT_DEFINITION()函数
https://stackoverflow.com/questions/44034
复制相似问题