使用SQL SERVER的Link Server实现分布式事务
ansi_warning和ansi_nulls 两个选项必须打开,好像对系统也没啥影响。
楼主再检查一下两个地方,经测试,在要使用分布式事务时,这是必须要设置的。
1、链接服务器和名称解析问题
-- 创建链接服务器
EXEC sp_addlinkedserver 'srv_lnk', 'ms', 'SQLOLEDB', '192.168.1.1'
GO
-- 创建链接服务器上远程登录之间的映射
EXEC sp_addlinkedsrvlogin 'srv_lnk', 'false', NULL, 'sa', '123'
GO
在“C:\WINDOWS\system32\drivers\etc\hosts”文件中增加记录:
xxx.xxx.xxx.xxx 服务器名
xxx.xxx.xxx.xxx 发起服务器名
2、防火墙设置
双方防火墙都添加例外程序c:\windows\system32\msdtc.exe
在计算机上已启用 Windows 防火墙。 默认情况下, Windows 防火墙阻止 MSDTC 程序。
请注意 即使在关闭 Windows 防火墙,可能会出现此问题
------------------------------------------------------------------------------------
SQL Server 2005分布式事务环境搭建
一、 运行批处理程序,安装并启动msdtc服务
@echo off
setlocal
@echo %WINDIR%\System32\msdtc.exe -uninstall
%WINDIR%\System32\msdtc.exe -uninstall
call :delkey "HKCR\CID"
call :delkey "HKLM\SYSTEM\CurrentControlSet\Services\MSDTC"
call :delkey "HKLM\SYSTEM\ControlSet001\Services\MSDTC"
call :delkey "HKLM\SYSTEM\ControlSet002\Services\MSDTC"
call :delkey "HKLM\Software\Microsoft\MSDTC"
@echo %WINDIR%\System32\msdtc.exe -install
%WINDIR%\System32\msdtc.exe -install
endlocal
goto :EOF
:delkey
set key=%1
call :delkeyq %key% >nul 2>&1
@echo.
goto :EOF
:delkeyq
REG Delete %key% /F
二、 打开双方防火墙中的35端口(Remote Procedure Call)
MSDTC服务依赖于RPC(Remote Procedure Call (RPC))服务,RPC使用135端口,保证RPC服务启动,如果服务器有防火墙,保证135端口不被防火墙挡住。&n
相关文档:
MS Sql Server 提供了很多数据库修复的命令,当数据库质疑或是有的无法完成读取时可以尝试这些修复命令。
1. DBCC CHECKDB
重启服务器后,在没有进行任何操作的情况下,在SQL查询分析器中执行以下SQL进行数据库的修复,修复数据库存在的一致性错误与分配错误。
use master
declare @databasename varch ......
--合并重复行
select * from A
union
select * from B
--不合并重复行
select * from A
union all
select * from B
按某个字段排序
--合并重复行
select *
from (
select * from A
union
select * from B) AS T
order by 字段名
--不合并重复行
select *
from (
select * from A
union all
select * ......
近日,俺通过MS SQL Server 2008的链接服务器查询MySQL的数据。其实,俺在多年前就使用过这个,当时是分布式查询Excel表数据,现在,换成异构数据库MySQL。俺以64位系统说明:
首先,Windows程序访问MySQL数据库需要驱动程序,可以到官方网站下载,俺就是使用Mysql ODBC 5.1 Driver for 64bit,通过数 ......
今天遇到个有意思的问题,是一个分组排序的问题,不过要求分组和分组间也要排序,如果这个组内有一条数据是最近更新的,那么这整个组都应该排在前面。
下面以Oracle的HR示例Schema中的employees表为例:
语句按部门分组,分组之间的排序是这样的:如果整个分组中有一个员工的hire_date是最新的,那么这个分组就应 ......