分布式查询

转载 2006年05月22日 18:00:00
应用语句如下:
--启动远程服务器的MSDTC服务
exec master..xp_cmdshell 'isql /S"192.168.253.5" /U"dl" /P"333263" /q"exec
master..xp_cmdshell ''net start msdtc'',no_output"',no_output
--启动本机的MSDTC服务
exec master..xp_cmdshell 'net start msdtc',no_output

insert into dayquantity(station_number,data_date,day_water_quantity)
(select us.station_number,date1,quantity from [192.168.253.5].manger.dbo.day_report da inner
join [192.168.253.5].manger.dbo.userdata us on da.uid=us.uid where date1<'2005-9-1' and
station_number is not null)
 
遇到过的问题:
1、问题一
服务器: 消息 8501,级别 16,状态 1,行 1
服务器 'H' 上的 MSDTC 不可用。
服务器: 消息 7391,级别 16,状态 1,行 1
该操作未能执行,因为 OLE DB 提供程序 'SQLOLEDB' 无法启动分布式事务。
OLE DB 错误跟踪[OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned
0x8004d01c]。
解决办法:
--启动远程服务器的MSDTC服务
exec master..xp_cmdshell 'isql /S"192.168.253.5" /U"dl" /P"333263" /q"exec
master..xp_cmdshell ''net start msdtc'',no_output"',no_output
--启动本机的MSDTC服务
exec master..xp_cmdshell 'net start msdtc',no_output
 
2、问题二
出错信息:
[OLE/DB provider returned message: 新事务不能登记到指定的事务处理器中。 ]
OLE DB 错误跟踪[OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned
0x8004d00a]。
该操作未能执行,因为 OLE DB 提供程序 'SQLOLEDB' 无法启动分布式事务。
解决办法:因为其中一台服务器不支持'SQLOLEDB' ,于是把语句换成在这台服务器上执行。
调试方法:
一.A.不用事务,关用SELECT 语句.是否可以分布式查询?
   B.LINKSERVER 在做分布式更新事务时不能对本机操作.(就是不能环回分布式事务)
   C.DBCC TRACEON (3604, 7300)--用跟踪看更详细错误信息.
 
   D.下载MS提供的DTCPing.exe 分装在两台机上,按README说明来运行它.看出错信息.
http://download.microsoft.com/download/complus/msdtc/1.7/nt45/en-us/DTCPing.exe
二.两台机的MSDTC是否都打开了.
三.MSDTC设置是否正确.
1.打开命令提示,运行"net stop msdtc",然后运行"net start msdtc"。
2.转至"组件服务管理工具"。
3.浏览至"启动管理工具"。
4.选择"组件服务"。
 a.展开"组件服务"树,然后展开"我的电脑"。
 b.右键单击"我的电脑",然后选择"属性"。
 C.在 MSDTC 选项卡中,确保选中了下列选项: 网络 DTC 访问
网络管理
网络事务
    XA 事务
 e.另外,"DTC 登录帐户"一定要设置为"NT Authority/NetworkService"。
5.单击"确定"。这样将会提示您"MS DTC 将会停止并重新启动。
  所有的依赖服务将被停止。请按'是'继续"。单击"是"继续。
6.单击"确定"关闭"我的电脑"属性窗口。
四.
MSDTC依赖于RPC,RPC使用的端口是135,测试135端口是否打开.是否有防火墙?如果有先关了防火墙.
telnet IP 135
如果是关闭的打开它.
五.
有的机由于各种原因),SQLOLEDB不能使用分布式事务,更改为"MSDASQL" 的ODBC方式联接.
使用RRAS而不是RAS.(控制面版--管理工具--远程服务管理器)
Check whether you are using Remote Access Server (RAS) to access remote servers. If so, make
sure that you have implemented Routing RAS (RRAS). Linked server does not work on RAS
because RAS allows only one way communication.
七.检查你的两台服务器是否在同一个域中.
如果不在同一个域中,是否建立可信任联接.
八.如果是WIN2000,升级到SP4
九.升级MDAC到2.6以上,最好是2.8.
十.要安装SQL的最新补丁:

分布式内存数据技术为查询提速

背景和需求   中国铁路客户服务中心网站(www.12306.cn)是世界规模最大的实时交易系统之一,媲美Amazon.com,节假日尤其是春节的访问高峰,网站压力巨大。据统计, 在2012年初...
  • FENGQIYUNRAN
  • FENGQIYUNRAN
  • 2015年03月06日 10:43
  • 1072

sql server 2008分布式查询

在接触公司一个系统时,公司使用的是SQL Server 2008数据库,里面涉及到了多个数据库之间的查询,而且数据库是分布式的,数据库分布在多台服务器之间,并且各个数据库各尽其责,负责存放不同模块功能...
  • txqd1989
  • txqd1989
  • 2017年06月30日 17:55
  • 370

小试mysql分布式

一、需求 1.数据集中存储 2. 二、分布式组件(介绍内容摘自网络) 1.Amoeba 概述 Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy。它集中地响应应用...
  • good_night_honey
  • good_night_honey
  • 2015年07月30日 11:50
  • 4656

分布式大数据sql查询引擎Presto初识

1、背景: Hive使用MapReduce作为底层计算框架,是专为批处理设计的。但随着数据越来越多,使用Hive进行一个简单的数据查询可能要花费几分到几小时,显然不能满足交互式查询的需求。Presto...
  • fjssharpsword
  • fjssharpsword
  • 2017年07月05日 16:33
  • 1671

Oracle 跨库 查询 复制表数据 分布式查询

方法一: 在目前绝大部分数据库有分布式查询的需要。下面简单的介绍如何在oracle中配置实现跨库访问。 比如现在有2个数据库服务器,安装了2个数据库。数据库server A和B。现在来实现在A库中...
  • hwt0101
  • hwt0101
  • 2014年08月28日 15:02
  • 2086

java分布式简单实现

案例:文章推荐 论坛进入文章页面后,显示一个推荐列表:看过这篇文章的人还看过哪些文章,包含列为文章article、点击数count。 可能有很好很简单的解决办法,但是到最后再讲。 传统的方法是:...
  • wfg18801733667
  • wfg18801733667
  • 2017年03月01日 16:52
  • 1446

在分布式系统中进行日志查询与管理的新手段介绍

随着技术的发展,越来越多的系统从单机转向到分布式,同时对应的日志查看方式除了直接查看文件外,也发展出了各种集中日志管理方式。其中常见日志查看方式如下:...
  • Gamay
  • Gamay
  • 2017年06月13日 11:38
  • 581

Hive分布式安装

1、mysql安装 主要是通过在线安装,首先通过下面命令来查看mysql相关的版本 [hadoop1@master ~]$ yum list | grep mysql mysql-libs.x86...
  • ASIA_kobe
  • ASIA_kobe
  • 2016年03月12日 18:42
  • 1868

sphinx分布式索引简介

sphinx分布式索引原理: 当searchd收到一个对分布式索引的查询时,它做如下操作: 1. 连接到远程代理 2. 执行查询 3. (在远程代理执行搜索的同时)对本地索引进行查询 4....
  • u013699800
  • u013699800
  • 2015年08月19日 21:27
  • 750

一次实践:spark查询hive速度缓慢原因分析并以此看到spark基础架构

前一段时间数据挖掘组的同学向我返回说自己的一段pyspark代码执行非常缓慢,而代码本身非常简单,就是查询hive 一个视图中的数据,而且通过limit 10限制了数据量。 不说别的,先贴我的代码吧...
  • zhanyuanlin
  • zhanyuanlin
  • 2017年02月28日 12:01
  • 3246
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:分布式查询
举报原因:
原因补充:

(最多只允许输入30个字)