备份数据表到另一机器

在数据库中建一个满足你要求的表,然后写一个脚本:  
  如:backup.sql  
      delete     from   carddetail_backup  
      go  
      insert   carddetail_backup(field1,field2,.....)  
      select   field1,field2,...   from   carddetail   where  .....  
      go  
       
  再写一个批处理:  
      其中有一句:  
      bcp   databasename.dbo.carddetail_backup     out   c:\filename     -Usa   -PXXXX   -Sservername   


-- 建立链接服务器,并提供登录信息
-- 请修改 @datasrc 为备份服务名
exec sp_addlinkedserver @server='backupserver', @srvproduct='', @provider='SQLOLEDB', @datasrc='servercomputername'
go
-- 请修改 @rmtuser、@rmtpassword 参数为备份服务器sql server登录帐号
exec sp_addlinkedsrvlogin @rmtsrvname='backupserver',@useself='false',@locallogin=null,@rmtuser='sa',@rmtpassword='pass'
go


-- 把数据保存到备份服务器
-- dbname应修改备份服务器数据库名
insert into backupserver.dbname.dbo.masterTable
  select * from masterTable
    where keyField in ('value1','value2')
go
insert into backupserver.dbname.dbo.masterTableDetail
  select * from masterTableDetail
    where (select keyField from masterTable where masterTableDetail.masterTableId=masterTable._id) in ('value1','value2')
go

-- 删除本数据库记录
delete from masterTable
  where keyField in ('value1','value2')
go
delete from masterTableDetail
  where (select keyField from masterTable where masterTableDetail.masterTableId=masterTable._id) in ('value1','value2')
go