一些SQL语句,远程服务器事务设置
来源:互联网 发布:sql 表下加一行合计 编辑:程序博客网 时间:2024/05/18 06:13
一:查询数据库版本的语句:
- 1. SELECT SERVERPROPERTY('ProductVersion'),ServerProperty('ProductLevel'),ServerProperty('Edition');
查询结果: 9.00.1399.06 RTM Developer Edition
- 2. SELECT ◎◎Version
- Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86) Oct 14 2005 00:33:37 Copyright (c) 1988-2005 Microsoft Corporation Developer Edition on Windows NT 5.1 (Build 2600: Service Pack 2)
这样查询出来的两个版本到底一样吗。按照第二中方法查出来的是sp2的版本。但是第一种结果查出来的不是sp2的版本。
二:Case when ..Then..Else..End
select a.* ,Case when a.name=b.name Then a.name else b.name end from SDt_yf1..losttimetransaction a,common_yf2_errlog..Organizationunit b
本来想把按照条件的losttimetransaction表中的数据查出来,没想到数据做了笛卡尔机。如果a表有10条,b表有10条,结果是100条。不是想要的10条。所以要么加where条件。要么用其他的方法。
改变后的方法:
select a.* ,a.name=(select b.name from common_yf2_errlog..Organizationunit b where a.name=b.name) from SDt_yf1..losttimetransaction a
三:连接两个服务器的语句
(1)假如有两台服务器:一台:YJFGDB01,一台:CMOF08.向CMOF08插入数据
INSERT INTO CMOF08.SDT.DBO.DYEMPSUMM
FROM YJFGDB01.SDT.DBO.DYEMPSUMM
如果报错的话:
Msg 7202, Level 11, State 2, Line 5
Could not find server 'tai' in sysservers. Execute sp_addlinkedserver to add the server to sysservers.
说明没有在你执行语句的那台服务器把对方加进去。解决办法如下:
在其中一台服务器上执行这条语句:“服务器名称”为对方的电脑名称:
Exec sp_addLinkedServer N'服务器名称',N'SQL SERVER'
加入后,
use master
SELECT * FROM SYS.SERVERS 查看是否加入刚才的服务器名称
(2)
当我做数据库合并的时候,在其中一台服务器中修改另外一台数据库中的数据,不加事务的时候没有问题。
但是我想加上事务,以便发生错误的时候回滚。
当我运行下面的语句时:
set xact_abort on
begin distributed tran gg
insert into sdt.common.dbo.color(colorcode)
values('gg')
出现下面的错误:
OLE DB provider "SQLNCLI" for linked server "alex" returned message "The partner transaction manager has disabled its support for remote/network transactions.".
Msg 7391, Level 16, State 2, Line 5
The operation could not be performed because OLE DB provider "SQLNCLI" for linked server "alex" was unable to begin a distributed transaction.
这个错误说明你这台服务器,或者对方电脑没有配置好MS DTC(Microsoft Distributed Transaction Coordinator 微软 分布式事务协调器)
1。先配置sql server 2005 数据库中的配置:
exec sp_configure 'show advanced options',1
exec sp_configure 'remote access',1
exec sp_configure 'remote admin connections',1
exec sp_configure 'remote proc trans',1
运行了上面这四个语句之后出现下面的提示:说明更改成功Configuration option 'show advanced options' changed from 0 to 1. Run the RECONFIGURE statement to install.
Configuration option 'remote access' changed from 0 to 1. Run the RECONFIGURE statement to install.
Configuration option 'remote admin connections' changed from 1 to 1. Run the RECONFIGURE statement to install.
Configuration option 'remote proc trans' changed from 0 to 1. Run the RECONFIGURE statement to install.
然后运行:reconfigure with override 更改成功。
然后配置系统上的MS DTC:说明一下(windows xp 中的配置和windows server 2003 中的配置有一点不一样,就是在添加删除的组建中:windows xp 没有Application Server 组件)
2。下面是在windows xp sp2上的配置图:
(1)开始-设置-控制面板-管理工具-组件服务(或者Run->dcomcnfg 直接进去组件服务)
进入界面点击(Console Root->Componet Services->Computers->My Computer)
(2) Right click My Computer->property->(MSDTC)->(CLICK Security Configuration...)
(3)进去 Security Configuration 界面:
确保选中了下列选项:
Network DTC Access
Allow Remote Clinets和Allow Remote Admnistration
Allow Inbound和Allow OutBound
Enable Transaction Internet Protocal(TIP)Transactions
Enable XA Transactions
而DTC Logon Account一定要设置为”NT Authority/NetworkService”
选择”No Authentication Required”
到这里设置就完了,完了之后重新启动服务器就ok。
3. windows server 2003 中的设置:
打开添加删除程序如图:click Add/Remove windows componer ->select Application Server ->click Details
-> select Enable network COM+ access, and Enable network DTC access. 其他设置按照windows xp 的设置。
- 一些SQL语句,远程服务器事务设置
- 在远程服务器执行sql语句
- SQL Server2005 远程连接服务器的设置
- sql 事务语句
- 事务执行SQL语句
- win2008服务器远程设置
- 远程服务器设置jupyter
- 登录远程SQL服务器
- 登录远程SQL服务器.
- sql连接远程服务器
- 登录远程SQL服务器
- 登录远程SQL服务器
- 看事务的sql语句
- SQL远程连接设置
- SqlServer和Oracle中一些常用的sql语句8 触发器和事务
- 一些sql 语句
- 一些sql 语句
- 一些Sql语句
- 老生常谈之注重细节
- 在ASP中调用DLL的方法
- IHttpModule接口 说明
- VS2008安装"deffactory.dat"文件错误解决方法
- 职场修炼7法 助你晋升平步青云
- 一些SQL语句,远程服务器事务设置
- RSS 2.0 规范(转载)
- 报表开发官方论坛
- 索引原理
- Jsp语法详解
- LDAP简介
- 网页报纸系统
- 如何得到汉字的拼音首字母呢?
- VFW编程实例