RDS-SQLSERVER不支持MSDTS的原因分析

一、Msdtc 的描述及使用方法

Msdtc 在就是windows中的一个服务,称为分布式事务处理服务。它帮助我们实现分布式数据库服务器之间集合事务处理,即远程异地事务处理功能,例如:有多个SQL SERVER 服务器,我们要让它互相执行更新操作,但又要保证事务的完整性,就要可以开启msdtc功能进行实现:

SqL server 分布式事务脚本举例:

{

Set XACT_ABORT on

Being tran

Insert into [远程机器ip].databaseName.dbo.tableName(id,name )

Select  ‘1’,’远程’

Insert into tablename(id,name)

Select ‘1’,’本地’

COMMIT

}

这个语句,启动了分布式事务, 保证远程数据库服务器和本地数据库都要插入一条数据,要么都插入,要么谁都不插入,保证数据的一致性。

二、Msdtc的配置:

网上写的很详细,我这里就不一一累述了

参考链接:

http://www.cnblogs.com/ryanding/archive/2010/07/17/1779668.html

 

三、RDS不支持的原因:

1、  msdtc 服务启动,是依赖于RPC服务的,该服务需要开启135端口,而我们现在链路层在转发vip时,没有考虑135端口包的转发。另外135端口是一个不建议开启的端口,在黑客有链接用户名、密码时可以远程直接通过该端口控制dbnode节点的,在没有用户名密码的情况也可以通过135端口,获取服务器的目录结构、用户名、共享目录等信息,这些信息如果被黑客获取,将是对RDS是致命的。这个原因跟安全专家林淼进行确认过的。

2、 msdtc 设置时需要客户端与服务器端都要配置,通过NT Authority\Network Service进行远程访问,而且不做验证。Network Service 帐户是一个内置帐户,比 Users 组的成员拥有更多的对资源和对象的访问权限。相当于服务器的操作系统级别权限,开放给了一个客户端(或者是用户)

四、     建议解决方案:

1、  暂时的处理该需求的方法,建议用户在应用端实现。

2、  后期可以考虑让用户购买两个RDS,来做分布式。这样是两个RDS主机之间相互暴露,而对用户(客户端)没有直接访问dbnode节点权限的问题。但需要现有的RDS考虑两件事情,一是考虑支持别名访问或者真实ip暴露给用户的问题 ,二是配置所有节点的msdtc服务。

时间: 2024-09-11 02:13:12

RDS-SQLSERVER不支持MSDTS的原因分析的相关文章

PHP中ID设置自增后不连续的原因分析及解决办法_php实例

PHP中ID设置自增后不连续的原因分析如下所述: alter table tablename drop column id; alter table tablename add id mediumint(8) not null primary key auto_increment first; 每次删除把这两行家伙加上就行了 还有就是这个 使用mysqli对象中的query()方法每次调用只能执行一条SQL命令. 如果需要一次执行多条SQL命令,就必须使用mysqli对象中的 multi_que

苹果iPad不支持Flash的原因

国外媒体今天发表编辑查理·史乔斯(Charlie Stross)的文章,分析了"云计算"的趋势和苹果iPad不支持Flash的原因. 新趋势的出现 本周,科技界出现了几条有趣的新闻. 第一,苹果总裁史蒂夫·乔布斯(Steve Jobs)发表公开信,对iPhone/iPad不支持Flash的原因进行了解释,使苹果与Adobe之间的争辩日趋白热化. 第二,惠普将收购Palm,很明显是为了获得WebOS操作系统.有传言称,惠普将开发一系列基于WebOS系统的平板电脑,以对抗iPad.同时,正

PHP程序漏洞产生的原因分析与防范方法说明

 本篇文章主要是对PHP程序漏洞产生的原因分析与防范方法进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 滥用include    1.漏洞原因:    Include是编写PHP网站中最常用的函数,并且支持相对路径.有很多PHP脚本直接把某输入变量作为Include的参数,造成任意引用脚本.绝对路径泄露等漏洞.看以下代码:    ...  $includepage=$_GET["includepage"];  include($includepage);  ...  

Win7蓝牙驱动安装失败的原因分析与解决方法

  蓝牙是一种支持设备短距离通信的无线电技术,现在不管是手机还是电脑都已经普遍的使用蓝牙功能了.如果Win7系统电脑没有安装蓝牙驱动的话,是需要安装后才能使用的.最近,有用户在安装蓝牙驱动的时候,发现安装失败.怎么办?出现这样的问题要怎么解决?现在就和大家说一下Win7蓝牙驱动安装失败的原因分析与解决方法. 步骤如下: 一.原因分析: 优化软件将系统INF文件夹自带文件误删了. 二.解决方法: 1.进入C盘系统分区的Windowsinf目录,查看是否有"bth.inf"文件,备注:如果

U盘量产后却启动不了的原因分析

  U盘量产后却启动不了的原因分析: 1.U盘量产成功却不能启动首先要求电脑本身支持USB启动,然后是你量产时选择的ISO必须要支持USB启动. 2.USB光驱启动和IDE光驱启动是不一样的.这就造成了不少人的困惑:我在虚拟机上测试ISO启动明明是正常的啊,为什么U盘量产成功却不能启动呢.那是因为在虚拟机中人们都习惯把ISO放入IDE光驱中测试,所以没考虑到要在DOS下加载一些USB驱动. 3.举个例子,老电脑加载UBSASPI.SYS后就能访问U盘上的文件,但新电脑有可能一加载USBASPI.

DB time抖动的原因分析

9月22日,"DBA+社群"开讲啦!由搜狐畅游高级DBA杨建荣在"DBA+北京群"进行了一次关于DB time抖动的原因分析的线上主题分享.小编特别整理出其中精华内容,供大家学习交流.     嘉宾简介    杨建荣,Oracle ACE-A,YEP成员,现就职于搜狐畅游,拥有6年以上的数据库开发和运维经验,曾任amdocs DBA,负责亚太电信运营商的数据业务支持.擅长电信数据业务,数据库迁移和性能调优.   拥有Oracle 10g OCP,OCM, MySQL

RDS for MySQL 空间问题的原因和解决

RDS for MySQL 空间问题的原因和解决   1. 原因 2. 解决 2.1 Binlog 文件 2.2 数据文件 2.3 临时文件 2.4 系统文件 RDS for MySQL 实例日常使用中随着实例的使用,会出现空间使用告警甚至超过实例限额被锁定的情况. 比如:   1. 原因 Binlog 日志文件占用高 数据文件占用高 临时文件占用高 系统文件占用高 实例空间使用情况可以在 RDS 控制台监控报警中查看: 2. 解决 RDS 实例支持单独升级磁盘空间,升级磁盘空间是解决空间问题的

Ajax向后台传json格式的数据出现415错误的原因分析及解决方法_AJAX相关

问题描述: ajax往后台传json格式数据报415错误,如下图所示 页面代码 function saveUser(){ var uuId = document.getElementById("uuid").value; var idCard = document.getElementById("idCard").value; alert(uuId+idCard); // var result = new Object(); // result.uuId = uuI

后端接收不到AngularJs中$http.post发送的数据原因分析及解决办法_AngularJS

1.问题: 后端接收不到AngularJs中$http.post发送的数据,总是显示为null 示例代码: $http.post(/admin/KeyValue/GetListByPage, { pageindex: 1, pagesize: 8 }) .success(function(){ alert("Mr靖"); }); 代码没有错,但是在后台却接收不到数据,这是为什么呢? 用火狐监控:参数是JSON格式 用谷歌监控:传参方式是request payload 可以发现传参方式是