寫個存儲過程﹐同步插入記錄CREATE PROC dbo.procInsert 
(@orderNo varchar(4),@orderName varchar(20),@orderNum numeric(10,2))
AS
BEGIN TRAN
SET NOCOUNT ON
SET ANSI_WARNINGS OFFINSERT INTO  dbo.TabX(order_no,order_name,order_num)
VALUES(@OrderNo,@OrderName,@OrderNum)
IF @@ERROR<>0  GOTO errhandleINSERT INTO  server2.Northwind.develop.TabY(order_no,order_name,order_num)
VALUES(@OrderNo,@OrderName,@OrderNum)
IF @@ERROR<>0  GOTO errhandle
COMMIT TRAN
SELECT 1errhandle:
IF @@ERROR<>0
BEGIN
ROLLBACK TRAN
SELECT 0
ENDGO--成功返回1,失敗返回0

解决方案 »

  1.   

    CREATE PROC dbo.procInsert 
    (@orderNo varchar(4),@orderName varchar(20),@orderNum numeric(10,2))
    AS
    BEGIN TRAN
    SET NOCOUNT ON
    SET ANSI_WARNINGS OFFINSERT INTO  dbo.TabX(order_no,order_name,order_num)
    SELECT @OrderNo,@OrderName,@OrderNum
    IF @@ERROR<>0  GOTO errhandleINSERT INTO  OPENROWSET('SQLOLEDB','对方IP地址';'对方登录帐号';'对方登录密码','SELECT order_no,order_name,order_num FROM Northwind.develop.TabY)
    SELECT @OrderNo,@OrderName,@OrderNum
    IF @@ERROR<>0  GOTO errhandle
    COMMIT TRAN
    SELECT 1errhandle:
    BEGIN
    ROLLBACK TRAN
    SELECT 0
    ENDGO--成功返回1,失敗返回0
      

  2.   

    --OpenDataSourceInsert into 表A
    SELECT   *
    FROM      OPENDATASOURCE(
             'SQLOLEDB',
             'Data Source=sqlserver实例名;User ID=sa;Password=密码'
             ).数据库名.dbo.表B