实现SQL Server数据同步更新-均为SQL Server服务器
来源:互联网 发布:交换机mac地址过滤 编辑:程序博客网 时间:2024/06/05 20:34
实现SQL Server数据同步更新-均为SQL Server服务器
Windows Xp环境下,实现两台SQL Server数据同时更新,详细步骤:
1、 DB Server 环境
SQL Server安装版本为SQL Server 2000 SP4
Windows XP OS
2、 运行Services.msc,查看DTC(Distributed Transaction Coordinator)服务
A) 启动DTC服务
B) 属性->登录选项卡->确保登录名为(NT AUTHORITY/ NetworkService)
1. 如登录身份为 <本地系统>
2. 运行CMD->NET STOP MSDTC->MSDTC uninstall(删除MSDTC)
3. Regedit->查找并删除 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSDTC
4. 运行CMD->MSDTC Uninstall(安装MSDTC)
5. 运行CMD->NET START MSDTC
6. CHECK MSDTC登录身份为 NetworkService 帐户
3、 运行Dcomcnfg.exe 打开组件服务(控制面板->管理工具->组件服务)
展开组件服务->计算机->我的电脑->属性->MSDTC->事务配置(安全性配置)
在 安全配置 对话框中, 单击以 选中网络 DTC 访问 复选框
要允许分布式事务在此计算机上运行从远程计算机, 请单击以选中 允许入站 复选框
要允许分布式事务在远程计算机上运行从此计算机, 请单击以选中 允许出站 复选框
事务管理器通信 组, 下单击以选择 不要求进行验证 选项
在 安全配置 对话框中, 单击 确定
确定即可
4、 运行Firewall.cpl(运行防火墙)
选中 例外 选项卡->添加程序->浏览找到MSDTC.exe文件(默认路径:Drive/windows/system32)->程序和服务列表中选中MSDTC->添加端口
->端口号文本框中输入:135->选择TCP选项->名称对话框输入 异常名称->确定
当然关闭防火墙也可
5、 运行regedit->HKEY_LOCAL_MACHINE/SOFTWARE/MICROSOFT/MSSQLSERVER/PROVIDERS/SQLOLEDB->除了’AllowInProcess’键值为1,其余均为0
利用Linked Server实现Trigger同步更新
1、 建立Linked Server
A)Enterprise Management
Local SQL Server->安全性->链接服务器->右键(新建链接服务器)
B)T-SQL
EXEC sp_addlinkedserver 'test','','SQLOLEDB','test',null,'driver={sql server};server=ipaddress;uid=sa,pwd=;' 建立Linked Server
@server = 'server' -------常用
@srvproduct = 'product_name' -------常用
@provider = 'provider_name' -------常用
@datasrc = 'data_source' -------常用
@location = 'location'
@provstr = 'provider_string'
@catalog = 'catalog'
exec sp_serveroption N'test', N'rpc out', N'true' 配置Linked Server 选项
@server “Linked server”
@optname “RPC”或“RPC OUT”
@optvalue True 或 False
exec sp_serveroption N'test', N'rpc', N'true'
exec sp_addlinkedsrvlogin 'test','False',null,'sa','' 添加Login
@rmtsrvname “Linked server”
@useself True 或 False
@locallogin 本地LOGIN
@rmtuser 远程用户
@rmtpassword 远程用户口令
3、 Trigger编写
A)建立好Linked Server,在查询分析器中Test
Select * from [Linked Server Name]. [DB Name]. dbo. [Table Name]
Insert into [Linked Server Name]. [DB Name]. dbo. [Table Name] Values(‘’,’’,’’,’’,……)
B)在 Local Table 上建立Trigger
CREATE TRIGGER TR_insert ON [dbo].[Local_Table]
FOR INSERT
AS
begin
set xact_abort on
insert into [Linked Server Name]. [DB Name]. dbo. [Table Name]
select * from inserted
end
利用OpenRowSet()函数实现Trigger同步更新
直接编辑Trigger(保证MSDTC可用)
CREATE TRIGGER TR_insert ON [dbo].[Local_Table]
FOR INSERT
AS
begin
set xact_abort on
insert into openrowset('MSDASQL','DRIVER={SQL Server};SERVER=IP Address ;UID=sa;PWD=sa Password', Northwind.dbo.test)
select * from inserted
end
- 实现SQL Server数据同步更新-均为SQL Server服务器
- 利用SQL Server复制技术实现数据同步更新
- 利用SQL Server复制技术实现数据同步更新
- SQL Server与Oracle链接服务器 实现数据同步
- SQL server服务器间的数据同步
- SQL server服务器间的数据同步
- SQL server服务器间的数据同步
- SQL server服务器间的数据同步
- Sql Server数据同步
- SQL Server数据同步
- SQL SERVER中数据同步的实现
- SQL Server 2005中实现数据同步
- 同步SQL Server服务器时间
- SQL Server 2000数据同步
- SQL server服务器间的数据同步 (转)
- 多台sql server 服务器之间数据的同步(转载)
- SQL server服务器间的数据同步(二)
- 数据同步处理(以sql server 2000为例)
- UNICODE 编程入门
- 最近关注了一下2006CAD三维建模设计大赛
- [VC++]得到字体高度,宽度
- Sql语句--删除重复列
- 关于DELPHI中的类对象以及类指针简单探讨总结。
- 实现SQL Server数据同步更新-均为SQL Server服务器
- 实用的cookie管理软件IECookiesView推荐
- 链接数据失败时候的连接方法
- JavaBeans 和 JavaServer Pages的结合
- Oracle 9i 对 CHAR 型字段类型的优化
- 无法在app_data目录中创建数据库的解决方法
- JSP学习心得
- Symbian开发小TIP:printf() 和 console
- asp.net深入分析