Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server 2005触发的审核表已移动到SQL Server 2008,现在尝试将行插入审核表时,触发器不响应_Sql_Sql Server 2005_Sql Server 2008_Triggers - Fatal编程技术网

SQL Server 2005触发的审核表已移动到SQL Server 2008,现在尝试将行插入审核表时,触发器不响应

SQL Server 2005触发的审核表已移动到SQL Server 2008,现在尝试将行插入审核表时,触发器不响应,sql,sql-server-2005,sql-server-2008,triggers,Sql,Sql Server 2005,Sql Server 2008,Triggers,我们从SQLServer2005数据库和表开始。[更新、插入和删除]在本例中,当修改应用程序VB6数据表时,我们使用更新触发器将行插入到审核TBL中。我们将审核表移动到SQL Server 2008。SQL Server 2005上触发器语句的唯一更改是我们将原始[FHA-4]修改为新的SQL Server 2008[FHA-DMZ-CL1SQL]服务器名称 当触发器被激活时,计时器将一直打开,直到出现sql超时消息且应用程序中止。检查审核表时,未添加任何新内容,因此插入无效 以下是表的实际触发

我们从SQLServer2005数据库和表开始。[更新、插入和删除]在本例中,当修改应用程序VB6数据表时,我们使用更新触发器将行插入到审核TBL中。我们将审核表移动到SQL Server 2008。SQL Server 2005上触发器语句的唯一更改是我们将原始[FHA-4]修改为新的SQL Server 2008[FHA-DMZ-CL1SQL]服务器名称

当触发器被激活时,计时器将一直打开,直到出现sql超时消息且应用程序中止。检查审核表时,未添加任何新内容,因此插入无效

以下是表的实际触发器语句:

USE [BCC_DHMH]
GO
/****** Object:  Trigger [dbo].[TriggerAddressUpdate]    Script Date: 04/07/2010       09:47:34 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

--Logic to save to the table that supports Tripwire
ALTER       TRIGGER [dbo].[TriggerAddressUpdate] 
   ON  [dbo].[tblAddress]
   AFTER UPDATE
AS 

SET XACT_ABORT ON
BEGIN DISTRIBUTED TRANSACTION
 SET NOCOUNT ON;

 --IF (SYSTEM_USER <> 'FHA\kYarberough' AND SYSTEM_USER <> 'FHA\ljlee' AND SYSTEM_USER <> 'FHA\PHarvey' AND SYSTEM_USER <> 'FHA\BShenosky' AND SYSTEM_USER <> 'FHA\BBrodie' AND SYSTEM_USER <> 'FHA\DRandolph')
Declare @UpdateID as varchar(50)
Set @UpdateID = newid() 

BEGIN

 INSERT [FHA-4].[ECMS_Audit].[dbo].[tblAddress_Audit]
  ([fldAddressOwnerID], [fldUpdateID], [fldAddressTypeCode], [fldAddressMailcode], [fldAddressSequence], 
[fldAddressID], [fldName], [fldLine1], [fldLine2], [fldCity], [fldState], [fldCounty], 
[fldZipcode], [fldWorkFax], [fldWorkPhone], [fldWorkExtension], [fldWorkEMail], [fldHomePhone], 
[fldHomeEMail], [fldContactName], [fldContactPhone], [fldContactFax], [fldContactExtension], [fldEffectiveDate], 
[fldExpirationDate], [fldUpdateTimestamp], [fldUpdateUserID], [fldRelationship], [fldNotes], [fldNCPDPNum], 
[fldMedicaidNum], [fldStoreNum], 
    [ModifiedBySqlUser], [ModifiedByNTUser], [ModifiedDate], [Action] )
 SELECT [fldAddressOwnerID], @UpdateID, [fldAddressTypeCode], [fldAddressMailcode], [fldAddressSequence], 
[fldAddressID], [fldName], [fldLine1], [fldLine2], [fldCity], [fldState], [fldCounty], 
[fldZipcode], [fldWorkFax], [fldWorkPhone], [fldWorkExtension], [fldWorkEMail], [fldHomePhone], 
[fldHomeEMail], [fldContactName], [fldContactPhone], [fldContactFax], [fldContactExtension], [fldEffectiveDate], 
[fldExpirationDate], [fldUpdateTimestamp], [fldUpdateUserID], [fldRelationship], [fldNotes], [fldNCPDPNum], 
[fldMedicaidNum], [fldStoreNum],
   CURRENT_USER, SYSTEM_USER, GETDATE(), 'InitialValues'  FROM deleted


 INSERT [FHA-4].[ECMS_Audit].[dbo].[tblAddress_Audit]
  ([fldAddressOwnerID], [fldUpdateID], [fldAddressTypeCode], [fldAddressMailcode], [fldAddressSequence], 
[fldAddressID], [fldName], [fldLine1], [fldLine2], [fldCity], [fldState], [fldCounty], 
[fldZipcode], [fldWorkFax], [fldWorkPhone], [fldWorkExtension], [fldWorkEMail], [fldHomePhone], 
[fldHomeEMail], [fldContactName], [fldContactPhone], [fldContactFax], [fldContactExtension], [fldEffectiveDate], 
[fldExpirationDate], [fldUpdateTimestamp], [fldUpdateUserID], [fldRelationship], [fldNotes], [fldNCPDPNum], 
[fldMedicaidNum], [fldStoreNum], 
    [ModifiedBySqlUser], [ModifiedByNTUser], [ModifiedDate], [Action] )
 SELECT [fldAddressOwnerID], @UpdateID, [fldAddressTypeCode], [fldAddressMailcode], [fldAddressSequence], 
[fldAddressID], [fldName], [fldLine1], [fldLine2], [fldCity], [fldState], [fldCounty], 
[fldZipcode], [fldWorkFax], [fldWorkPhone], [fldWorkExtension], [fldWorkEMail], [fldHomePhone], 
[fldHomeEMail], [fldContactName], [fldContactPhone], [fldContactFax], [fldContactExtension], [fldEffectiveDate], 
[fldExpirationDate], [fldUpdateTimestamp], [fldUpdateUserID], [fldRelationship], [fldNotes], [fldNCPDPNum], 
[fldMedicaidNum], [fldStoreNum],
   CURRENT_USER, SYSTEM_USER, GETDATE(), 'NewValues'  FROM inserted
 END

COMMIT TRANSACTION
SET XACT_ABORT OFF

对我来说,那个触发器似乎有个老名字。但如果它真的有了新名字…嗯

由于是分布式事务,您确定已正确设置链接服务器吗


另外,我不希望在触发器中使用分布式事务,它可能会影响用户在另一台服务器关闭时更改记录的能力。最好将记录发送到同一服务器上的审核表或运行作业的暂存表,以便将记录移动到另一台服务器

对我来说,触发器似乎有个老名字。但如果它真的有了新名字…嗯

由于是分布式事务,您确定已正确设置链接服务器吗

另外,我不希望在触发器中使用分布式事务,它可能会影响用户在另一台服务器关闭时更改记录的能力。最好将记录发送到同一服务器上的审核表或运行作业的暂存表,以便将记录移动到另一台服务器