SQL19多服务器编程

上传人:平*** 文档编号:47568638 上传时间:2018-07-03 格式:PPT 页数:42 大小:221.14KB
返回 下载 相关 举报
SQL19多服务器编程_第1页
第1页 / 共42页
SQL19多服务器编程_第2页
第2页 / 共42页
SQL19多服务器编程_第3页
第3页 / 共42页
SQL19多服务器编程_第4页
第4页 / 共42页
SQL19多服务器编程_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《SQL19多服务器编程》由会员分享,可在线阅读,更多相关《SQL19多服务器编程(42页珍藏版)》请在金锄头文库上搜索。

1、数据库程序设计 SQL Server 2000 数据库程序 设计n第1章 SQL Server 概述n第2章 创建和管理数据库n第3章 创建数据类型和表n第4章 实现数据完整性n第5章 Transact-SQL介绍n第6章 使用 Transact-SQL 查询工具n第7章 检索数据n第8章 数据分组与汇总n第9章 多表联接n第10章 子查询n第11章 修改数据n第12章 全文索引查询 n第13章 规划索引n第14章 创建和维护索引n第15章 实现视图n第16章 实现存储过程n第17章 实现用户定义函数n第18章 实现触发器n第19章 多服务器编程n第20章 优化查询性能n第21章 分析查询n第

2、22章 管理事务和锁第19章 多服务器编程n分布式查询介绍n在远程数据源上执行特殊查询n设置链接服务器环境n在链接服务器上执行查询n在链接服务器上执行存储过程n管理分布式事务n修改链接服务器上的数据n使用分区视图n推荐操作分布式查询介绍n分布式查询支持 SQL Server 用户访问l存储在多个 SQL Server 实例中的分布式数据l存储在各种可使用 OLE DB 提供程序访问或具有 ODBC 驱动的关系和非关系数据源中的异类数据n从 SQL Server 中访问 OLE DB 数据源l特殊查询:当不需要多次访问数据源的远程数据时,可使 用 OPENROWSET 或 OPENDATASOU

3、RCE 函数编写特殊查询l链接服务器查询:若要多次访问远程数据,可使用链接服 务器和四部分对象名称19.1 分布式查询介绍分布式查询介绍(续)n指定在何处处理对 OLE DB 数据源的查询l本地 SQL Server:对链接服务器,SQL Server 默认在本地服务器处理分布式查询l远程 OLE DB 数据源(直接传递查询):可以使用 OPENQUERY 函数和链接服务器指定对查询的处理在远程服务器上进行,这称为直接传递查询n检查连接设置l在发出分布式查询的对话中,必须打开 ANSI_NULLS 和 ANSI_WARNINGS 选项19.1 分布式查询介绍第19章 多服务器编程n分布式查询介

4、绍n在远程数据源上执行特殊查询n设置链接服务器环境n在链接服务器上执行查询n在链接服务器上执行存储过程n管理分布式事务n修改链接服务器上的数据n使用分区视图n推荐操作在远程数据源上执行特殊查 询nOPENROWSET 函数允许用户连接并访问远程数据源 的数据,而不用设置链接服务器语法:OPENROWSET(提供程序名 数据源; 用户名 ; 密码 | 提供程序连接字符串 , 目录名称. 架构名称. 对象名 称 | 查询) 19.2 在远程数据源上执行特殊查询参数描述 提供程序名数据源相应的 OLE DB 提供程序的惟一的友好名 数据源由 OLE DB 提供程序解释的数据源名称 用户名传递 到指定

5、 OLE DB 提供程序的用户名 密码将被传递 到 OLE DB 提供程序的用户密码 连接字符串提供程序特定的连接字符串,惟一标识 了一个数据源 目录名称目录或数据库的名称,其中驻留着指定的对象 架构名称架构的名称或指定对象的对象所有者名称 对象名称对象名称,它惟一地标识 出将要操作的对象 查询发送到提供程序并由提供程序执行的查询 字符串。若不单指定 了远程对象名称,还指定了查询 ,则查询 作为直接传递查询 执行在远程数据源上执行特殊查询(续 )n特殊查询示例n使用 OPENROWSET 函数执行查询的事实和指导原则l如果 OLE DB 提供程序在指定的数据源中支持多个目录和 架构(对 SQL

6、 Server 而言,是数据库和对象拥有者),那 么就需要目录及架构名称,否则可以省略l传递到 OLE DB 提供程序的用户名的权限确定相关连接的 权限lOPENROWSET 函数可以使用在 SELECT 语句 FROM 子句中 的表名的位置19.2 在远程数据源上执行特殊查询SELECT a.* FROM OPENROWSET(SQLOLEDB, LONDON1; newcustomer;mypassword, SELECT ProductID, UnitPrice FROM Northwind.dbo.Products ORDER BY UnitPrice) AS a第19章 多服务器编程

7、n分布式查询介绍n在远程数据源上执行特殊查询n设置链接服务器环境n在链接服务器上执行查询n在链接服务器上执行存储过程n管理分布式事务n修改链接服务器上的数据n使用分区视图n推荐操作设置链接服务器环境19.3 设置链接服务器环境n链接到远程数据源n建立链接服务器安全性n配置链接服务器选项n获得关于链接服务器的信息设置链接服务器环境(续)19.3 设置链接服务器环境n使用链接服务器的原因l链接服务器提供了使用跨 SQL Server 联接和其他查询的手 段l通过使用链接服务器,可将 Transact-SQL 语句直接提交给 远程 SQL Server,这些语句可作为分布式事务的一部分执 行n使用链

8、接服务器的事实和指导原则l可访问存储在多个 SQL Server 上的分布式数据,以及存储 在各类关系和非关系数据源的异类数据l若具有 OLE DB 提供程序,非 SQL Server 的其他数据源也 可以定义为链接数据库l对于需要经常访问的数据源,应定义链接服务器l关于链接服务器的信息存储在 sysservers 系统表中链接到远程数据源n为了在远程 SQL Server 或 OLE DB 数据源上执行 Transact-SQL 语句,必须建立到远程服务器或数据源的连接l企业管理器l系统存储过程 sp_addlinkedserver语法:sp_addlinkedserver server=

9、服务器名称 ,srvproduct= 产品名称 ,provider= 提供程序名称 ,datasrc= 数据源名称 ,location= 位置 ,provstr= 提供程序连接字符串 ,catalog= 目录名称 19.3.1 链接到远程数据源参数描述 server要创建的链接服务器的本地名称 svrproduct要添加为链 接服务器的 OLE DB 数据源的产品名称 provider数据源相应的 OLE DB 提供程序的惟一的友好名 datasrc由 OLE DB 提供程序解释的数据源名称 locationOLE DB 提供程序所解释的数据库的位置 provstrOLE DB 提供程序特定的

10、连接字符串,它可标识 惟一的数据源 catalog建立 OLE DB 提供程序的连接时所使用的目录链接到远程数据源(续)n链接到远程 SQL Serverl若链接到运行 SQL Server 的服务器,只需要 提供 srvproduct 和 server 两个参数,不必 指定其他参数。SQL Server 自动使用 SQL Server OLE DB 程序提供者(NSQLOLEDB)n链接到 OLE DB 数据源l若链接到 SQL Server 之外的其他数据源,则当创建链接服务器时,需要指定所有参数19.3.1 链接到远程数据源建立链接服务器安全 性n在本地服务器和远程服务器间建立安全性l当

11、用户登录到本地 SQL Server 并执行分布式查询时,本地 SQL Server 代表用户登录到远程 SQL Serverl若用户的账户和密码在本地和远程的 SQL Server 中都存在 ,则本地 SQL Server 可以使用用户凭据登录到远程 SQL Server 中l可以使用系统存储过程 sp_addlinkedsrvlogin 在本地和远程 SQL Server 之间映射用户账户和密码l可以链接到多个服务器,以及随着每个服务器更改,保留 原始客户端的身份验证凭据,这称为安全账户委托l若链接服务器不支持安全账户委托,则必须设置从 Windows 身份验证登录账户到链接服务器登录账户

12、的本地 登录映射19.3.2 建立链接服务器安全性建立链接服务器安全性(续)n系统存储过程 sp_addlinkedsrvlogin语法:sp_addlinkedsrvlogin rmtsrvname= 远程服务器名称 , useself= 是否使用自己的凭据 , locallogin= 本地登录账户 , rmtuser= 远程用户名 , rmtpassword= 远程密码19.3.2 建立链接服务器安全性参数描述 rmtsrvname应用登录映射的链接服务器名称 useself决定 SQL Server 登录账户 是使用其自己的凭据还是 rmtuser 和 rmtpassword 参数的值连

13、 接到 rmtsrvname 参数指定的服务器 。若使用 Windows 身份验证 登录账户 ,则 useself 不能为 TRUE 值 locallogin可选的本地服务器上的登录账户 。若使用了,locallogin 必须 存在于本地服务器上。若此值为 空,则所有本地 SQL Server 服 务器上的登录账户 将映射到 rmtuser 指定的远程服务器上的账 户 rmtuser可选的当 useself 为FALSE时连 接到 rmtsrvname 的用户名rmtpassword可选的与 rmtuser 关联的密码配置链接服务器选项n通过使用 sp_serveroption 系统存储过程为

14、链接服务 器设置选项语法:sp_serveroption 服务器名称, 选项名称, 选 项值l只有 sysadmin 服务器角色的成员才能设置选项nSp_serveroption 支持的选项lCollation Compatiblen 如果该选项设置为 true,则 SQL Server 假定链接服务器中 的所有字符在字符集和排序规则上与本地服务器兼容lCollation Name 和 Use Remote Collationn Collation Name:如果 use remote collation 是 true,而数据 源不是 SQL Server 数据源,则指定远程数据源使用的排序规

15、 则名称n Use Remote Collation:确定是使用远程列的排序规则还是 本地服务器的排序规则19.3.3 配置链接服务器选项配置链接服务器选项(续)nSp_serveroption 支持的选项(续)lData Accessn 启用和禁用分布式查询访问的链接服务器n 仅用于通过 sp_addlinkedserver 添加的 sysserver 项lRPC 和 RPC outn RPC 选项从给定的服务器启用 RPCn RPC out 选项对给定的服务器启用 RPClLazy Schema Validationn 确定是否检查远程表的架构。 如果为 true,则在查询开始时跳过远程表的架构检查n 推迟架构检查可以提高性能19.3.3 配置链接服务器选项获得关于链接服务器的信 息系统存储过程系统存储过程sp_linkedserverssp_catalogssp_indexessp_primarykeyssp_foreignkeyssp_tables_exsp_columns_ex返回返回定义在本地服务器上的链接服务器列表指定链接服务器的目录和描述列表指定远程表的索引信息指定表的主键列,每列一行指定远程表上定义的外键指定链接服务器中表的表信息给定链接服务器表的所有列或指定列的信息,每列一行19.3.4 获得关于链接服务器的信息

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号