MSSQL linkedServer和OpenDataSource比较
来源:互联网 发布:幼儿园美工课教案大班 编辑:程序博客网 时间:2024/06/05 02:09
在MSSQL中, 对远程的数据库进行访问有几种方式, 其中 LinkedServer是大家最常使用的方式。
创建好linkedserver之后,对远程数据库实例的访问,就像访问本地的数据库一样, 直接 使用[linkedserver_name].[db_name].[owner].[table_name]来访问。
这样的话,就不用每次都提供远程机器的用户名和密码。
但是linkedserver也有潜在的问题, 就是linked ring的问题。
假设有数据库A 在机器A上, 数据库B在机器B上, 你可以建立从A-》B的linksed Server, 也可以建立从B-》A的LinkedServer。 一般情况下,还好。
但是当你想使用link server 来做delete 动作的时候,就要特别的当心了。
笔者就曾遇到过, 用link server从A-》B对B进行delete操作的时候,发现 A中的数据不见了, 当时觉得很纳闷。
查log发现 是B有一个对A的linked Server, 笔者要删除的动作引发了从B到A的删除。 这个是一开始没有想到 的。
这种情况在接手比较老的项目中可能存在。
除了linked Server, 我们还可以使用opendatasource来访问。
OPENDATASOURCE('SQLNCLI','Data Source=machine_host;User ID=name;Password=*******').[db_name].[owner].[table_name]
这两个之间哪一个更好呢?
1) Linked Server 不需要开advanced Option, 但是OpenDataSource需要启用“Ad Hoc Distributed Queries”。
2) Linked Server只要创建一次, 就可以随意访问, 但是OpenDataSource每次都要提供密码。
3)OpenDataSource的性能比LinkedServer差一点。 LinkedServer适合访问比较频繁的情况下, 而OpenDataSource主要用来进行次数很少的访问。
两者之间更多的区别,请参考 http://msdn.microsoft.com/en-us/library/ms179856.aspx,
- MSSQL linkedServer和OpenDataSource比较
- openrowset & opendatasource 和 链接服务器的操做比较
- MSSQL:用opendatasource增删改查SQLSERVER
- MSSQL:用opendatasource增删改查ACCESS
- Oracle和MSSQL语句方面的比较
- opendatasource
- opendatasource
- OPENROWSET和OPENDATASOURCE的用法
- OPENROWSET和OPENDATASOURCE的用法
- About linkedserver
- MsSql和Access关于日期的比较问题
- MySQL和MSSQL下,text 、ntext、 image、blob的比较
- oracle和mssql中复制表的比较
- MySQL和MSSQL下,text 、ntext、 image、blob的比较
- OpenRowSet和OpenDataSource的运用技巧
- 利用Openrowset和Opendatasource 入侵的技巧
- 利用MSSQL的OPENDATASOURCE把文本文件中的数据插入、更新到ORACLE
- [MSSQL]在T-SQL语句中访问远程数据库(openrowset/opendatasource/openquery)
- ArcGIS Server Rest for Javascript API 学习教程-3
- 支付宝API接口开发相关文档以及实例
- Linux C程序:Segmentation fault
- JavaScript中的类
- 创建基本表空间
- MSSQL linkedServer和OpenDataSource比较
- Windows 8背后数字:支持2种架构7种程序语言
- Objective-c类型大小(值域)
- android.jar的修改
- iOS Socket 很好的学习材料
- Robot Framework
- Silverlight,XAML语法一(使用集合语法)
- yum 失败(This system is not registered with RHN.)解决方法
- android 通讯录中不同版本的区别