e股脑电脑教程网
  • 首 页
  • 操作系统
  • 应用软件
  • 下载工具
  • 影音视频
  • 办公软件
  • 媒体制作
  • 网站建设
  • 平面设计
  • 数据库
  • 程序开发
  • 视频教程
编辑推荐: | 文章搜索:
您现在的位置: e股脑 >> 数据库 >> Mssql教程 >> SQL Server 2005 数据转换服务的常见设计问题 >> 教程正文
 
教程搜索
 
 
相关教程
  • 你知道MySQL10条鲜为人知的技巧吗?
  • 你应该知道的10个MySQL客户启动选项
  • 用特殊的MySQL运算符获得更多数据比较
  • MySQL数据库中与 NULL值有关的几个问题
  • 教你快速了解公共MySQL的数据库服务器
  • MySQL 5.0在windows上的安装详细介绍
  • MySQL查询的性能优化
  • Linux操作系统中如何安装MySQL数据库
  • 23道安全门加铸MySQL数据库
  • MySQL 5.0 数据库新特性的存储过程
  • 从Windows命令行启动MySQL
  • 连接MySQL数据库失败频繁的原因
  • 加速动态网站 MySQL索引分析和优化
  • 轻松掌握如何保护MySQL中的重要数据
  • 快速掌握MySQL数据库中Show命令的用法
  • MySQL数据库的安全配置实用技巧
 
 

图文教程


  • Windows抢了谁的饭碗 非主流操作系统To

  • 地球还是火星 平常心看“非主流”

  • 综合运用Office 2007批量制作奖状

  • 没有系统盘如何才能修复受损系统?

  • 巧妙运用Excel中边界的附加功能!
 
 
赞 助 商
 
 
SQL Server 2005 数据转换服务的常见设计问题
  • 来源:e股脑
  • 点击次数:
  • 更新时间:2007-8-9

为什么传输几千个表的数据时向导会失败?

当前的向导体系结构会创建一个 DTS 软件包数据流以传输数据。但如果要处理几千个表,则会遇到可伸缩性限制。我们认为这是合理的,因为软件包设计人员不太可能在一个数据流中使用几千个源和几千个目标。Beta 3 中可能会针对此问题进行一些改进。

为什么我不能在导入/导出向导中复制对象?

导入/导出向导是为了让用户方便地将数据移入和移出 SQL Server 而设计的。在服务器之间复制数据库对象实际上属于管理操作而不是数据移动操作,即使实际上移动了数据。

用户可以使用 SQL Server“管理”工作区中的“复制数据库向导”来复制数据库对象,而且该向导是专门用于复制数据库对象的。

另一方面,DTS 导入/导出向导简化了典型的 DTS 操作——从各种数据源(包括文本文件、电子表格和 OLEDB 数据源)加载数据。

为什么我不能在 SQL Server Management Studio 中设计软件包?

SQL Server Management Studio 是一个环境,用于管理已部署软件包的存储和执行。它提供了专门用来设计软件包的特殊功能,包括与 DTS 服务的集成以及枚举远程服务器上的软件包的能力。但它不是一个设计环境。

Business Intelligence Design Studio 才是用于设计软件包、在解决方案和项目中组织软件包、调试软件包并管理多用户项目的源和版本控制的环境。

所以,在 SQL Server 2005 中,用户分别在两个独立的专门化环境中设计和管理软件包。

有关设计和管理软件包以及在环境之间部署软件包的详细信息,请参阅联机图书。

什么是数据源和数据源视图?它们在我的软件包中如何与连接相关?

数据源 和数据源视图 不是 DTS 软件包中的对象,而是存储在 Business Intelligence Development Studio 的数据转换项目中的单独对象。由于它们位于项目中而不是位于 DTS 软件包 中,因此可以在 DTS 软件包 之间共享,从而允许为明星架构定义数据源视图 并由加载明星架构的每个软件包一致地使用该视图。

数据源 定义了如何连接到 OLEDB 或 ADO.NET 数据库。它们包含连接字符串以及其他某些属性,包括连接的友好名称和描述字段。

数据源视图 是数据源 所指向的关系架构的子集。可以用命名查询、计算列、虚拟关系和友好名称详细描述这些视图。例如,在使用大型架构时,您可能只想使用数据源中的一小部分表。这种情况下,就可以使用数据源视图 来定义这样一个子集。

数据源 和数据源视图

属于设计时对象,只能在 BI Development Studio 项目中使用。在设计时,数据源 可由项目中的一个或多个 DTS 软件包 使用,但在运行时,已部署的 DTS 软件包将无法访问这些设计时对象。DTS 软件包 包含多个连接 ,这使软件包设计器能够管理与数据库、文件等的连接。在设计时,连接 可以引用数据源 或数据源视图 ,但在运行时,DTS 连接 将使所有必需的元数据能够独立使用。这样,用户可以设计能够共享数据源 引用和数据源视图 的不同软件包,然后独立运行并单独部署每个软件包。

如果 DTS 连接 引用了数据源 ,那么使用该 DTS 连接的对象就可以使用也使用该数据源 的任何数据源视图 。这样,DTS 软件包 就可以很容易地只引用大型架构的一个小子集。

最后,DTS 连接 比数据源 更通用,因为它们可以连接到文本文件、HTTP 连接、FTP 连接以及需要连接字符串的其他很多情形,而不只是连接到 OLEDB 和 ADO.NET 管理的提供程序。

有关连接 、数据源 和数据源视图 的详细信息,请参阅联机图书。

为什么没有 Microsoft Excel 或 Microsoft Access 数据源?

要导入 Excel 和 Access 数据文件,可以使用经过适当配置的 OLEDB 连接管理器。还可以很轻松地使用 DTS 导入/导出向导,该向导将为您创建连接管理器。

有关详细信息,请在联机图书中搜索“Creating a Package Using the DTS Import/Export Wizard”。

为什么默认情况下在数据流中不使用“快速分析”选项?

“快速分析”选项是在适当的情况下才能使用的选项。它不支持特定于区域设置的分析或“年-月-日”以外的日期格式。它只对有限的数据格式有用,对于这些格式来说,此选项的分析速度可能比默认的标准分析方式更快。因此,用户必须基于自己的数据格式显式选择此选项。

有关详细信息,请在联机图书中搜索“Fast Parse”。

为什么 WMI 数据任务和事件任务是相互独立的?

系统管理数据可用于影响 DTS 控制流。例如,运行 ETL 流之前,可以检查 SQL Server 是否正在运行、计算机上是否有可用的 C: 驱动器或者是否有足够的可用磁盘空间。WMI 数据任务用来检索此类系统数据。


系统管理事件可用于在 DTS 控制流中执行实时操作。例如,仅当内存使用量下降到 50% 以下时才运行 ETL 流,或者仅当文件系统上有可用的新源文件时才启动数据流。WMI 事件任务允许定义和处理此类系统事件。

而且,这两种任务在所提供的功能方面也基本上是不同的。在本发行版中,我们可以更主动地根据任务提供的功能对任务进行拆分,以创建更有针对性的软件包。这种拆分的另一个例子是文件系统任务和 FTP 任务。在 DTS 2000 中,这两个任务提供的功能被组合到一个任务中,但在本发行版中,这两个任务被拆分开来,从而使用户更容易创建、理解和支持软件包。

为什么表达式语言既不是 SQL 也不是 Visual Basic?

因为 SQL 和 Visual Basic 都不能满足 DTS 数据流的要求。例如,我们想支持一组运算符,比如用于处理很多情况下作为标记使用的位掩码的按位运算符。此外,为了更好地利用内存(从而获得最佳性能),DTS 数据流对数据类型有着严格的限制,这也反映在表达式语法中。

DTS 表达式语法使您能够设计出通过复杂的字符串和数据类型处理而获得高性能的数据流。如果表达式语言不支持您需要的某些函数,或者您更喜欢使用 Visual Basic 语法,那么您可以使用脚本组件,脚本组件允许您在数据流中使用 Visual Basic .NET。

为什么有些函数不在表达式语言中?

由于资源限制,无法实现目前可从 SQL Server TSQL 中找到的每个函数。设置第一批函数时我们曾咨询过客户和开发人员,我们会认真考虑收到的测试版反馈信息,为以后的测试版和最终版本做好准备。

为什么必须在源适配器,而不是在使用组件(例如合并)中配置排序顺序?

行的顺序是在源适配器中设置的,并且无法通过大多数下游转换进行更改(排序可能是一个例外)。能够识别源数据顺序的源适配器无需用户帮助即可设置此信息,但在大多数情况下,提供给源组件的元数据不充分,使源组件无法设置输出列排序信息,因此用户需要自行完成此操作。

为什么必须在软件包中锁定变量?

当适于改进并发性并且这样可以提高性能和可伸缩性时,DTS 运行时将使用多个线程来完成执行。为了避免多个线程同时试图访问一个变量,必须为您的操作锁定变量,从而使对变量的所有访问都是“安全的”;如果不这样做,可能会导致软件包出现各种响应,从“有时不工作”到返回完全不正确的结果。即使软件包是完全线性的,这也可能是一个问题:例如,如果用户要更改循环中的并发设置。

为什么分离输出路径时没有向组件发出通知?

DTS 设计器用户应当能够删除路径然后重新附着路径,这样才不会破坏软件包或更改软件包的行为。通过提供 OnOutputPathDetached 方法,我们允许行为不当的组件不遵守此规则。为了满足希望提供多个输出的组件作者的需要,DTS 对象模型提供了一个名为 DeleteOutputOnPathDetached 的输出属性,如果将此属性设置为 true,当路径被分离时,输出将自动被删除。

为什么有适用于 DTS 的 Windows 服务?

适用于 DTS 的新的 Wind

1 2 下一页
  • 上一篇教程: 使用 SQL Server 2005中的 CLR 集成
  • 下一篇教程: SQL Server 2005 Service Broker 初探
  •  

    关于本站 | 广告联系 | 版权声明 | 使用帮助

    Copyright © 2004-2008 www.egunao.com All rights reserved.