sql server 跨数据库插入数据

创建服务器的连接,创建好后可以存在服务器上,可以在不同位置重复使用,和系统函数类似

exec sp_addlinkedserver ‘RemoteServer‘, ‘‘, ‘SQLOLEDB ‘, ‘192.168.3.225‘
exec sp_addlinkedsrvlogin ‘RemoteServer‘, ‘false ‘,null, ‘sa‘, ‘[email protected]‘ 

删除连接

exec sp_dropserver ‘RemoteServer‘, ‘droplogins‘ 

使用方法:(连接.数据库.dbo.表)

select top 100 * from  RemoteServer.Suncome.dbo.AkEL

下面通过触发器调用

create trigger syncBarcode on BarcodeCompInfo
after update,insert
as
declare @Barcode nvarchar(50)
select @Barcode=Barcode from inserted

declare @num int--用于判断上面的编号是不是存在于BdVendor表中,来推断添加还是修改
select @num=COUNT(*) from RemoteServer.Suncome.dbo.AkBarcodeCompInfo where Barcode=@Barcode

if @num=0
begin
  insert into RemoteServer.Suncome.dbo.AkBarcodeCompInfo(Barcode,OrderNumber,PrintDate,LineCode)
  select [Barcode],[WorkOrderID],[PrintDate],[BC] from inserted
end

然而并没有什么卵用啊

右键点击“我的电脑”--“管理”--“服务和应用程序”--“服务”---启动“Distributed Transaction Coordinator”服务,启动分布式服务后还要打开远程服务器以及本地服务器135端口,因为远程分布式服务需要该端口通讯。
1:打开“控制面板”--“管理工具”--“组件服务”
2:在“计算机”下右击“我的电脑”--“属性”--选择“MSDTC”选项卡
3:点击“安全性配置”按钮,
4:网络DTC访问勾选上,允许远程客户端,允许远程管理,允许入站,
允许出站,不要求身份验证勾选上。
注意:以上步骤需要两台服务器都要配置。

时间: 2024-08-10 05:29:11

sql server 跨数据库插入数据的相关文章

SQL server 跨库插入数据

1.INSERT INTO SELECT语句 语句形式为: Insert into Table2(field1,field2,...) select value1,value2,... from Table1 [where column =value] []为可选内容 要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量. 示例如下: insert into tjjrmx(yybh,xh,tjxmbh,jg,sfyx,zhxmb

SQL Server 跨数据库查询

不同服务器数据库之间的数据操作 --创建链接服务器 exec sp_addlinkedserver   'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 ' --查询示例 select * from ITSV.数据库名.dbo.表名 --导入示例 select * into 表 from ITSV.数据库名.dbo.表名 --以后不再使用时

使用变量向SQL Server 2008中插入数据

QT通过ODBC连接数据库SQL Server 2008,进行数据插入时遇到的问题: 先把数据存入变量中,如何使用变量进行插入?插入语句该怎么写? QSqlQuery query(db); query.exec("insert into device values('"+datetime+"','"+splantNum+"','"+sdeviceNum+"','"+stemper+"','"+spress+

实战 SQL Server 2008 数据库误删除数据的恢复

关键字:SQL Server 2008, recover deleted records 今天有个朋友很着急地打电话给我,他用delete语句误删除了SQL Server 2008数据库中两个表中的所有记录,而这个数据库之前没有任何备份.让我帮他解决一下,不然他要赔偿客户很多钱. SQL Server中误删除数据的恢复本来不是件难事,从事务日志恢复即可.但是,这个恢复需要有两个前提条件: 1. 至少有一个误删除之前的数据库完全备份. 2. 数据库的恢复模式(Recovery mode)是“完整(

SQL Server 跨库同步数据

最近有个需求是要跨库进行数据同步,两个数据库分布在两台物理计算机上,自动定期同步可以通过SQL Server代理作业来实现,但是前提是需要编写一个存储过程来实现同步逻辑处理.这里的存储过程用的不是opendatasource,而是用的链接服务器来实现的.存储过程创建在IP1:192.168.0.3服务器上,需要将视图v_custom的客户信息同步到IP2:192.168.0.10服务器上的t_custom表中.逻辑是如果不存在则插入,存在则更新字段. 1 create PROCEDURE [db

sql sever跨数据库复制数据的方法【转】

1,用Opendatasource系统函数 详细的用法已经注释在sql代码中了.这个是在sqlserver到sqlserver之间的倒数据.2005,2008,2012应该都是适用的. --从远程服务器192.168.66.154上查询100条数据,然后导入到dbo.dquestiondata中 insert into dbo.dquestiondata select top 100 * from opendatasource('sqloledb','data source=192.168.6.

SQL Server 2008 数据库误删除数据的恢复

原文:http://www.cnblogs.com/dudu/archive/2011/10/15/sql_server_recover_deleted_records.html SQL Server中误删除数据的恢复本来不是件难事,从事务日志恢复即可.但是,这个恢复需要有两个前提条件: 1. 至少有一个误删除之前的数据库完全备份. 2. 数据库的恢复模式(Recovery mode)是“完整(Full)”. 针对这两个前提条件,会有三种情况: 情况一.如果这两个前提条件都存在,通过SQL语句只

SQl server 关于重复插入数据的测试

最近发布的脚本,有那种防止重复插入数据(包括存在时更新,不存在是插入的处理,判断的方向可能与下面的示例相反) 使用类似下面的 SQL declare @id int, @value int if not exists( select * from tb where id = @id ) insert tb values( @id, @value ); --else --  update tb set value = @value where id = @id; 或者是使用这种单句的 declar

SQL Server 查看数据库在数据缓存(data cache)中占用的空间大小

1 use master 2 go 3 select * from sys.dm_os_buffer_descriptors 4 go 5 6 --查看数据库在数据缓存(data cache)中占用的空间大小 7 --由于每个数据页对应动态管理视图(dynamic management view,DMV)中的一行,为128 字节,为1/8个千字节(KB) 8 --1字节(Byte)=8位(Bit) 9 --1千字节(KB)=1024字节(Byte) 10 --1兆(MB)=1024千字节(KB)