测试目的: SQL2008 和 SQL2000 是否可以跨服务器连接查询

-- 测试环境:

--A 虚拟机 XP ( IP : .0.0.213 )安装 SQL2000 个人版,并安装 SP4 补丁。

--Microsoft SQL Server  2000 - 8.00.2039 (Intel X86)

--   May  3 2005 23:18:38

--Copyright (c) 1988-2003 Microsoft Corporation

--Personal Edition on Windows NT 5.1 (Build 2600: Service Pack 3)

--B 虚拟机 windows2008 ( IP : .0.0.211 )安装 SQL2008 。

--Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86)

--  Jul  9 2008 14:43:34

--  Copyright (c) 1988-2008 Microsoft Corporation

--  Enterprise Edition on Windows NT 6.0 <X86> (Build 6001: Service Pack 1)

--B 虚拟机 windows2008 ( IP : .0.0.211 )安装 SQL2000 企业版,命名实例。

--Microsoft SQL Server  2000 - 8.00.194 (Intel X86)

--Aug  6 2000 00:57:48

--Copyright (c) 1988-2000 Microsoft Corporation

--Enterprise Edition on Windows NT 6.0 (Build 6001: Service Pack 1)

-- 测试步骤:

-- (从 SQL2008 到 SQL2000 )

--=====================================================================

---- 在 B 机器( OS 2008 )上建立跨服务器连接

sp_addlinkedserver '10.0.0.213' , 'SQL Server'

-- 在 B 机器( OS 2008 )上查询连接

select server_id , name from sys . servers where right( name , 3)= '213'

--result:

server_id    name

----------- ------------------------

7           10.0.0.213

( 1 行受影响 )

-- 在 B 机器( OS 2008 )上连接查询 ( 用 SA 登录,不能用 windows 身份验证 )

select top 1 OrderID , CustomerID , EmployeeID , OrderDate from [10.0.0.213] .Northwind . dbo . Orders

--result:

OrderID      CustomerID EmployeeID   OrderDate

----------- ---------- ----------- -----------------------

10248       VINET       5           1996- 07- 04 00: 00: 00.000

( 1 行受影响 )

--( 用 windows 身份验证登录查询会报如下错误 )

消息 18452 ,级别 14 ,状态 1 ,第 0 行

用户 '(null)' 登录失败 。原因 : 未与信任 SQL Server 连接相关联 。

-- (从 SQL2000 到 SQL2008 )

--=====================================================================

-- 在 A 机器( OS XP )上建立跨服务器连接

sp_addlinkedserver '10.0.0.211' , 'SQL Server'

(所影响的行数为 1 行 )

(所影响的行数为 1 行 )

-- 在 A 机器( OS XP )上查询连接

select * from sysservers

1249   10.0.0.211 SQL Server

-- 在 A 机器( OS XP )上连接查询 ( 用 SA 登录,不能用 windows 身份验证 )

select top 1 * from [10.0.0.211] . AdventureWorks2008 . dbo . AWBuildVersion

--result:

1   10.00.80404.00    2008- 04- 04 00: 00: 00.000  2008- 04- 04 00: 00: 00.000

--( 用 windows 身份验证登录查询会报如下错误 )

服务器 : 消息 7411 ,级别 16 ,状态 1 ,行 1

服务器 '10.0.0.211' 没有为 DATA ACCESS 的目的而配置 。

-- (从 SQL2000 个人版到 SQL2000 企业版命名实例)

--=====================================================================

-- 在 A 机器( OS XP )上建立跨服务器连接

sp_addlinkedserver '10.0.0.211/SQL2k' , 'SQL Server'

(所影响的行数为 1 行 )

(所影响的行数为 1 行 )

-- 在 A 机器( OS XP )上查询连接

select * from sysservers

1249   10.0.0.211 SQL Server

1249   10.0.0.211/SQL2k   SQL Server    -- 新增命名实例

-- 在 A 机器( OS XP )上连接查询

select top 1 * from [10.0.0.211/SQL2k] . Northwind . dbo . Orders

--result :

服务器 : 消息 17 ,级别 16 ,状态 1 ,行 1

SQL Server 不存在或拒绝访问 。

-- 原因为 B 虚拟机 windows2008 ( IP : .0.0.211 )安装 SQL2000 企业版,未安装 SP4 补丁。

-- 下载 SQL2000SP4

http: // download . microsoft . com / download / 9/ b / f / 9bff6646 - 2cdb - 4069- ada0 -548be9cb9338 / SQL2000 - KB884525 - SP4 - x86 - CHS . EXE

在 Windows2008 中安装 SQL2K SP4 补丁提示程序与系统不兼容 。

-- (从 SQL2000 企业版命名实例到 SQL2000 个人版)

--=====================================================================

-- 在 B 机器( OS 2008 )上建立跨服务器连接

sp_addlinkedserver '10.0.0.213' , 'SQL Server'

(所影响的行数为 1 行 )

(所影响的行数为 1 行 )

-- 在 B 机器( OS 2008 )上查询连接

select * from sysservers

1249   10.0.0.213 SQL Server

-- 用 windows 身份验证登录查询(提示错误如下)

select top 1 * from [10.0.0.213] . Northwind . dbo . Orders

服务器 : 消息 18452 ,级别 14 ,状态 1 ,行 1

用户 '(null)' 登录失败 。原因 : 未与信任 SQL Server 连接相关联 。

-- 用 sa 身份验证登录查询(但 SA 密码不相同时提示错误如下)

select top 1 * from [10.0.0.213] . Northwind . dbo . Orders

服务器 : 消息 18456 ,级别 14 ,状态 1 ,行 1

用户 'sa' 登录失败 。

--> 此时修改 B 虚拟机中的 SQL2000 企业版的 SA 密码与 A 虚拟机中 SQL2000 的 SA 密码一致。

-- 用 sa 身份验证登录查询,结果显示正常。

select top 1 * from [10.0.0.213] . Northwind . dbo . Orders

--result :

10248  VINET   5   1996- 07- 04 00: 00: 00.000  1996- 08- 01 00: 00: 00.000  1996- 07-16 00: 00: 00.000  3    32.3800    Vins et alcools Chevalier    59 rue de l 'Abbaye  Reims  NULL   51100  France'

总结 : SQL2008 和 SQL2000 可以跨服务器进行连接查询。 所有数据库的远程连接 dbo 的方式必须建立在 SA 密码相同的基础上 ,否则容易产生无法连接的情况 。

以上文档用实例测试了 windows2008 系统中 SQL2008 企业版和 XP 系统中 SQL2000 的跨服务器连接查询 。

关于 SQL2005 的跨服务器远程连接查询 ,详见 http: // blog . csdn . net / claro / archive / 2009/ 07/03/ 4317900.aspx

转自:http://blog.csdn.net/claro/article/details/5710808

SQL2008和SQL2000可以跨服务器连接查询的测试实例的更多相关文章

  1. 问题:sqlserver 跨服务器连接;结果:Sql Server 跨服务器连接

    Sql Server 跨服务器连接 用openrowset连接远程SQL或插入数据 --如果只是临时访问,可以直接用openrowset --查询示例 select * from openrowset ...

  2. Sql Server 跨服务器连接

    用openrowset连接远程SQL或插入数据 --如果只是临时访问,可以直接用openrowset --查询示例 select * from openrowset('SQLOLEDB', 'sql服 ...

  3. T-SQL——关于跨库连接查询

    目录 0. 同一台服务器不同数据库 1. 使用跨库查询函数--OpenDataSource() 2. 使用链接服务器(Linking Server) 3. 使用OpenDataSource()函数和链 ...

  4. oracle跨库连接查询

    一.授权(本地客户器端授权当前用户) grant create database link to szfile 第一种连接方法:配置本地数据库服务器的tnsnames.ora文件 SZFILE = ( ...

  5. MSSQLSERVER跨服务器连接(远程登录)的示例代码

    MSSQLSERVER跨服务器链接服务器创建方法如下 复制代码 代码如下: --声明变量 Declare @svrname varchar(255), @dbname varchar(255), @s ...

  6. 010.简单查询、分组统计查询、多表连接查询(sql实例)

    -------------------------------------day3------------ --添加多行数据:------INSERT [INTO] 表名 [(列的列表)] --SEL ...

  7. SQL多表连接查询(详细实例)

    转载博客:joeleo博客(http://www.xker.com/page/e2012/0708/117368.html) 本文主要列举两张和三张表来讲述多表连接查询. 新建两张表: 表1:stud ...

  8. SQL多表连接查询(详细实例)(转)

    http://www.xker.com/page/e2012/0708/117368.html select * from student,course where student.ID=course ...

  9. SQL多表连接查询(具体实例)

    本文主要列举两张和三张表来讲述多表连接查询. 新建两张表: 表1:student  截图例如以下: 表2:course  截图例如以下: (此时这样建表仅仅是为了演示连接SQL语句.当然实际开发中我们 ...

随机推荐

  1. Rsync和FastDFS

    在做分布式文件存储的时候,常常用到两个工具,Rsync和FastDFS:这两者本质的区别在于前者的实时性相面相对较差,需要手工编写脚本同步,然后在放到定时任务(cron)中:FastDFS自动实现同组 ...

  2. nutch 很多url unfetched的原因

    bin/hadoop jar apache-nutch-1.7.job org.apache.nutch.crawl.CrawlDbReader crawl/crawldb -stats -sort ...

  3. python 处理cookie简单很多啊 httpclient版本是4.3.3

    模拟登录流程: 1 请求host_url 2 从host_url中解析出 隐藏表单 的值 添加到POST_DATA中 3 添加账户,密码到POST_DATA中 4 编码后,发送POST请求    要点 ...

  4. [JavaScript] js 复制到剪切板

    zeroclipboard官网:https://github.com/zeroclipboard/ZeroClipboard 下载压缩包,得到两个“ZeroClipboard.js”和“ZeroCli ...

  5. 如何开启PDO,PDO_MYSQL扩展

    开启这个功能的具体方法就是设置php.ini文件,步骤如下: 1.查看public_html目录下没有php.ini文件,如果有的, 打开文件查找 extension=php_pdo_mysql.dl ...

  6. SQL 维护用得到的监控语句

    使用DMV来分析SQL Server启动以来累计使用CPU资源最多的语句.例如下面的语句就可以列出前50名 s2.dbid, ( , ( ( ) )) AS sql_statement, execut ...

  7. Metasploit介绍

    Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估, 提供真正的安全风险情报.这些功能包括智能开发,密码审计 ...

  8. andriod系统裁剪心得

    亲们,,有人做过 将android系统总内存减少,并保持系统的稳定运行 方面的么?...比如将512M的内存换成256M,系统依然稳定运行,, 我目前,从三个方面下手,,,1.删减系统中不需要使用的a ...

  9. BBC票选出的100部最经典美国电影,你看过几部?

    BBC票选出的100部最经典美国电影,你看过几部? 导读:BBC票选出的100部最经典美国电影,你看过几部? 2015-07-27欧美内参欧美内参欧美内参 微信号zoujinoumei 功能介绍< ...

  10. 用C#中的params关键字实现方法形参个数可变

    个人认为,提供params关键字以实现方法形参个数可变是C#语法的一大优点.在方法形参列表中,数组类型的参数前加params关键字,通常可以在调用方法时代码更加精练. 例如,下面代码: class P ...