日期:2014-05-18  浏览次数:20514 次

如何禁用远程数据库里的触发器
用过很多方法都不行,首先用的是:alter table [servername].[CeShi].[dbo].Texts disable trigger TextZF

试过不好使 还用过
alter table openrowset('sqloledb','sas';'sa';'sa',CeShi.dbo.Texts) disable trigger TextZF

也是不好使。大神们谁做过这种呀?麻烦解答下

------解决方案--------------------
直接连过去禁用总可以吧?
SQL code

 alter table [表名] disable trigger [触发器名]

------解决方案--------------------
探讨
引用:
直接连过去禁用总可以吧?

SQL code

alter table [表名] disable trigger [触发器名]



这种写法无法判断是哪个服务器的表啊。只能禁用本地数据库的触发器。

------解决方案--------------------
用連接服務器+AT

SQL code
EXEC ( 'alter table DBName.dbo.表名 disable trigger 觸發器名') AT 链接服务器

------解决方案--------------------
SQL code
--創建鏈接服務器
EXEC master.dbo.sp_addlinkedserver @server = N'ROY_LNK', @srvproduct=N'ROY_LNK', @provider=N'SQLOLEDB', @datasrc=N'Roy\SQL2005DE'--SQL05可用SQLNCLI\SQLOLEDB
GO
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'ROY_LNK', @locallogin = NULL , @useself = N'False', @rmtuser = N'sa', @rmtpassword = N'Test2005'
GO

------解决方案--------------------
SQL code
Execute a pass-through command against a linked server
{ EXEC | EXECUTE }
        ( { @string_variable | [ N ] 'command_string [ ? ] ' } [ + ...n ]
        [ { , { value | @variable [ OUTPUT ] } } [ ...n ] ]
        ) 
    [ AS { LOGIN | USER } = ' name ' ]
    [ AT linked_server_name ]
[;]

------解决方案--------------------
探讨

引用:
SQL code
Execute a pass-through command against a linked server
{ EXEC | EXECUTE }
( { @string_variable | [ N ] 'command_string [ ? ] ' } [ + ...n ]
[ { , { value | @varia……

------解决方案--------------------
探讨

引用:
引用:

引用:
SQL code
Execute a pass-through command against a linked server
{ EXEC | EXECUTE }
( { @string_variable | [ N ] 'command_s……

------解决方案--------------------
探讨

引用:
引用:

引用:
SQL code
Execute a pass-through command against a linked server
{ EXEC | EXECUTE }
( { @string_variable | [ N ] 'command_s……

------解决方案--------------------
探讨
引用:
引用:

引用:
SQL code
Execute a pass-through command against a linked server
{ EXEC | EXECUTE }
( { @string_variable | [ N ] 'command_st……