在链接服务器中禁用触发器
Disabling trigger in a linked server
我正在尝试使用 PowerShell / TSQL 进行架构迁移,但在使用链接服务器时遇到了一些问题。基本上,源数据库备份的版本高于目标 SQL 服务器的版本,因此我必须使用链接服务器将数据从源数据库提取到链接服务器数据库中。
这是我第一次使用链接服务器,我拥有的脚本部分之一是禁用目标数据库上的某些触发器以阻止插入失败。
我想出了如何使用 EXEC
添加列:
EXEC('ALTER TABLE [TRS].dbo.AM ADD testColum INT') AT S1
但同样的过程不适用于禁用触发器
EXEC('DISABLE TRIGGER tr_SetFinalVersion ON [TRS].dbo.Contract;') AT S1
知道我将如何禁用这些吗?
您示例中的表格不同。有没有可能你对另一个table没有权限?
此外,您可以尝试使用 ALTER TABLE 来禁用触发器。
EXEC('ALTER TABLE [TRS].[dbo].[Contract] DISABLE TRIGGER tr_SetFinalVersion') AT S1
我正在尝试使用 PowerShell / TSQL 进行架构迁移,但在使用链接服务器时遇到了一些问题。基本上,源数据库备份的版本高于目标 SQL 服务器的版本,因此我必须使用链接服务器将数据从源数据库提取到链接服务器数据库中。
这是我第一次使用链接服务器,我拥有的脚本部分之一是禁用目标数据库上的某些触发器以阻止插入失败。
我想出了如何使用 EXEC
添加列:
EXEC('ALTER TABLE [TRS].dbo.AM ADD testColum INT') AT S1
但同样的过程不适用于禁用触发器
EXEC('DISABLE TRIGGER tr_SetFinalVersion ON [TRS].dbo.Contract;') AT S1
知道我将如何禁用这些吗?
您示例中的表格不同。有没有可能你对另一个table没有权限?
此外,您可以尝试使用 ALTER TABLE 来禁用触发器。
EXEC('ALTER TABLE [TRS].[dbo].[Contract] DISABLE TRIGGER tr_SetFinalVersion') AT S1