现在ip地址可以连上,但用机器名不行。
有下面语句
create trigger tr_insert_author on author
for insert
as
set xact_abort on
insert srv2.库名.dbo.author(id,name,telphone)
select id,name,telphone from inserted
go
=====
现在想把srv2改成ip,但不行,如何解决?超急!

解决方案 »

  1.   

    已经连接了服务器,不过是通过IP连接的,但用机器名不行。
    是改成这样吗?(示例说明)
    create trigger tr_insert_author on author
    for insert
    as
    set xact_abort on
    insert [192.168.1.1].库名.dbo.author(id,name,telphone)
    select id,name,telphone from inserted
      

  2.   

    srv2为链接服务器别名,你可以重新建立一个以IP地址命名的别名,如:
     EXEC sp_addlinkedserver '[192.168.0.1]','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=计算机名称;UID=sa;PWD=密码;'
      

  3.   

    srv2为链接服务器别名,你可以重新建立一个以IP地址命名的别名,如:
     EXEC sp_addlinkedserver '[192.168.0.1]','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=计算机名称;UID=sa;PWD=密码;'
    ------------------
    别名在哪?怎么命名?
      

  4.   

    exec sp_addlinkedserver  '10.10.24.5','','SQLOLEDB','my3w'
    exec sp_addlinkedsrvlogin '10.10.24.5','false',null,'sa','000000'
    insert into [10.10.24.5].db01.dbo.test01
    values('AAA5',45)
    我依次执行上述语句,最终出现
    “服务器: 消息 17,级别 16,状态 1,行 1
    SQL Server 不存在或访问被拒绝”
    ==========
    我都已经连接上去了,怎么不能执行简单的插入语句!
      

  5.   

    --这样试一下
    exec sp_addlinkedserver '10.10.24.5' , '' ,'SQLOLEDB' ,'10.10.24.5'  --用IP地址,因为你的计算机ip地址可以连上,机器名不行!
    exec sp_addlinkedsrvlogin '10.10.24.5','false',null,'sa','000000'insert into [10.10.24.5].db01.dbo.test01
    values('AAA5',45)
      

  6.   

    现在我可以向同步数据库写数据,但如果是使用触发器的话,老是提示“一大串,......分布式之类”的错误,我已经在两台服务器上都启动了DTC,不知是什么原因?
      

  7.   

    “不能在指定的事务处理器中获得新的事务。”
    “OLEDB提供程序无法启动SQLOLEDB,无法启动分布式事务”等
      

  8.   

    --这样试一下!
    Create trigger p_Test
    On table1
    For Insert 
    AS
    Set  XACT_ABORT ON  
     --你的语句
    Set  XACT_ABORT OFF