电脑安全

您当前的位置:主页 > 电脑安全 >

MSSQL server分布式事务解决方案-网络编程

来源:[db:来源]标题:   服务器    编辑:电脑技术全能网 时间:2019-09-18 12:31

原标题:MSSQL server分布式事务解决方案-网络编程
   中心提醒:应用链接效劳器停止近程数据库拜访的情形  实用情况  操纵体系:windows 2003  数据库:sql server 2000/sql server 2003  应用链接效劳器停止近程数据库拜访的情形  1、成绩景象在履行散布式事件时,在sql server 2005下收到以下过错:  新闻 7391,级别 16,状况 2,进程 xxxxx,第 16 行  无奈履行该操纵,由于链接效劳器 "xxxxx" 的 OLE DB 拜访接口 "SQLNCLI" 无奈启动散布式事件。  在sql server 2000下收到以下过错:  该操纵未能履行,由于 OLE DB 供给顺序 'SQLOLEDB' 无奈启动散布式事件。  [OLE/DB provider returned message: 新事件不能注销到指定的事件处置器中。 ]  OLE DB 过错跟踪[OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a]。  2、处理计划1.两边启动MSDTC效劳MSDTC效劳供给散布式事件效劳,假如要在数据库中应用散布式事件,必需在参加的两边效劳器启动MSDTC(Distributed Transaction Coordinator)效劳。  2.翻开两边135端口MSDTC效劳依靠于RPC(Remote Procedure Call (RPC))效劳,RPC应用135端口,保障RPC效劳启动,假如效劳器有防火墙,保障135端口不被防火墙盖住。  应用“telnet IP 135 ”下令测试对方端口能否对外凋谢。也可用端口扫描软件(比方Advanced Port Scanner)扫描端口以推断端口能否凋谢。  3.保障链接效劳器中语句没有拜访发动事件效劳器的操纵在发动事件的效劳器履行链接效劳器上的查问、视图或存储进程中含有拜访发动事件效劳器的操纵,如许的操纵叫做环回(loopback),是不被支撑的,以是要保障在链接效劳器中不存在此类操纵。  4.在事件开端前参加set xact_abort ON语句关于大少数 OLE DB 供给顺序(包含 SQL Server),必需将隐式或表现事件中的数据修正语句中的 XACT_ABORT 设置为 ON。独一不须要该选项的情形是在供给顺序支撑嵌套事件时。  5.MSDTC设置翻开“治理东西商场组件效劳”,以此翻开“组件效劳商场盘算机”,在“我的电脑”上点击右键。在MSDTC选项卡中,点击“保险设置”按钮。  在保险设置窗口中做以下设置:  l选中“收集DTC拜访”  l在客户端治理当选中“同意近程客户端”“同意近程治理”  l在事件治理通信当选“同意入站”“同意出站”“不请求停止考证”  l保障DTC登岸账户为:NTAuthority/NetworkService  6.链接效劳器和称号剖析成绩树立链接sql server效劳器,平日有两种情形:  l第一种情形,产物选”sql server”  EXEC sp_addlinkedserver  @server='linkServerName',  @srvproduct = N'SQL Server'  这类情形,@server (linkServerName)就是要链接的sqlserver效劳器名或许ip地点。  l第二种情形,拜访接口选“Microsoft OLE DB Provider Sql Server”或“Sql Native Client”  EXEC sp_addlinkedserver  @server=' linkServerName ',  @srvproduct='',  @provider='SQLNCLI',  @datasrc='sqlServerName'  这类情形,@datasrc(sqlServerName)就是要链接的现实sqlserver效劳器名或许ip地点。  Sql server数据库引擎是经过下面设置的效劳器名或许ip地点拜访链接效劳器,DTC效劳也是经过效劳器名或许ip地点拜访链接效劳器,以是要保障数据库引擎和DTC都能经过效劳器名或许ip地点拜访到链接效劳器。  数据库引擎和DTC剖析效劳器的方法不太一样,上面分辨叙说  6.1数据库引擎第一种情形的@server或许第二种情形的@datasrc设置为ip地点时,数据库引擎会依据ip地点拜访链接效劳器,这时不须要做称号剖析。  第一种情形的@server或许第二种情形的@datasrc设置为sql server效劳器名时,须要做称号剖析,就是把效劳器名剖析为ip地点。  有两个方法剖析效劳器名:  一是在sql server客户端设置中设置一一般名,将下面的效劳器名对应到链接效劳器的ip地点。  二是在“C:/WINDOWS/system32/drivers/etc/hosts”文件中增添一笔记录:  xxx.xxx.xxx.xxx效劳器名  感化一样是把效劳器名对应到链接效劳器的ip地点。  6.2DTC不论哪一种情形,只有@server设置的是效劳器名而不是ip地点,就须要停止称号剖析,方法同下面第二种方法,在hosts文件中增添剖析记载,下面的第一种方法对DTC不起感化。  假如@server设置的是ip地点,一样不须要做域名剖析任务。

上一篇:SQL语句获取日期-网络编程

下一篇:没有了