SQL Server 2005数据转换服务设计题目集锦
核心提示:当前的向导体系结构会创建1个 DTS 软件包数据流以传输数据。但假设要处理几千个表,则会碰到可伸缩性限制。我们以为这是公道的,由于软件包设计职员不太可能在1个数据流中使用几千个源和几千个目标。
为甚么传输几千个表的数据时向导会失败?
当前的向导体系结构会创建1个 DTS 软件包数据流以传输数据。但假设要处理几千个表,则会碰到可伸缩性限制。我们以为这是公道的,由于软件包设计职员不太可能在1个数据流中使用几千个源和几千个目标。Beta 3 中可能会针对此题目进行1些改进。
为甚么我不能在导进/导出向导中复制对象?
导进/导出向导是为了让用户方便地将数据移进和移出 SQL Server 而设计的。在服务器之间复制数据库对象实际上属于治理操纵而不是数据移动操纵,即使实际上移动了数据。
用户可使用 SQL Server“治理”工作区中的“复制数据库向导”来复制数据库对象,而且该向导是专门用于复制数据库对象的。
另1方面,DTS 导进/导出向导简化了典型的 DTS 操纵——从各种数据源(包括文本文件、电子表格和 OLEDB 数据源)加载数据。
为甚么我不能在 SQL Server Management Studio 中设计软件包?
SQL Server Management Studio 是1个环境,用于治理已部署软件包的存储和履行。它提供了专门用来设计软件包的特殊功能,包括与 DTS 服务的集成和枚举远程服务器上的软件包的能力。但它不是1个设计环境。
Business Intelligence Design Studio 才是用于设计软件包、在解决方案和项目中组织软件包、调试软件包并治理多用户项目的源和版本控制的环境。
所以,在 SQL Server 2005 中,用户分别在两个独立的专门化环境中设计和治理软件包。
甚么是数据源和数据源视图?它们在我的软件包中如何与连接相干?
数据源和数据源视图不是 DTS 软件包中的对象,而是存储在 Business Intelligence Development Studio 的数据转换项目中的单独对象。由于它们位于项目中而不是位于 DTS 软件包中,因此可以在 DTS 软件包之间共享,从而答应为明星架构定义数据源视图并由加载明星架构的每个软件包1致地使用该视图。
数据源定义了如何连接到 OLEDB 或 ADO.NET 数据库。它们包括连接字符串和其他某些属性,包括连接的友好名称和描写字段。
数据源视图是数据源所指向的关系架构的子集。可以用命名查询、计算列、虚拟关系和友好名称具体描写这些视图。例如,在使用大型架构时,您可能只想使用数据源中的1小部份表。这类情况下,便可以够使用数据源视图来定义这样1个子集。
数据源和数据源视图属于设计时对象,只能在 BI Development Studio 项目中使用。在设计时,数据源可由项目中的1个或多个 DTS 软件包使用,但在运行时,已部署的 DTS 软件包将没法访问这些设计时对象。DTS 软件包包括多个连接,这使软件包设计器能够治理与数据库、文件等的连接。在设计时,连接可以援用数据源或数据源视图,但在运行时,DTS 连接将使所有必须的元数据能够独立使用。这样,用户可以设计能够共享数据源援用和数据源视图的不同软件包,然后独立运行并单独部署每个软件包。
假设 DTS 连接援用了数据源,那末使用该 DTS 连接的对象便可以够使用也使用该数据源的任何数据源视图。这样,DTS 软件包便可以够很轻易地只援用大型架构的1个小子集。
最后,DTS 连接比数据源更通用,由于它们可以连接到文本文件、HTTP 连接、FTP 连接和需要连接字符串的其他很多情形,而不只是连接到 OLEDB 和 ADO.NET 治理的提供程序。
为甚么没有 Microsoft Excel 或 Microsoft Access 数据源?
要导进 Excel 和 Access 数据文件,可使用经过适当配置的 OLEDB 连接治理器。还可以很轻松地使用 DTS 导进/导出向导,该向导将为您创建连接治理器。
为甚么默许情况下在数据流中不使用“快速分析”选项?
“快速分析”选项是在适当的情况下才能使用的选项。它不支持特定于区域设置的分析或“年-月-日”之外的日期格式。它只对有限的数据格式有用,对这些格式来讲,此选项的分析速度可能比默许的标准分析方式更快。因此,用户必须基于自己的数据格式显式选择此选项。
为甚么 WMI 数据任务和事件任务是相互独立的?
系统治理数据可用于影响 DTS 控制流。例如,运行 ETL 流之前,可以检查 SQL Server 是否是正在运行、计算机上是否是有可用的 C: 驱动器或是否是有足够的可用磁盘空间。WMI 数据任务用来检索此类系统数据。
系统治理事件可用于在 DTS 控制流中履行实时操纵。例如,仅当内存使用量降落到 50% 以下时才运行 ETL 流,或仅当文件系统上有可用的新源文件时才启动数据流。WMI 事件任务答应定义和处理此类系统事件。
而且,这两种任务在所提供的功能方面也基本上是不同的。在本发行版中,我们可以更主动地根据任务提供的功能对任务进行拆分,以创建更有针对性的软件包。这类拆分的另1个例子是文件系统任务和 FTP 任务。在 DTS 2000 中,这两个任务提供的功能被组合到1个任务中,但在本发行版中,这两个任务被拆分开来,从而使用户更轻易创建、理解和支持软件包。
为甚么表达式语言既不是 SQL 也不是 Visual Basic?
由于 SQL 和 Visual Basic 都不能满足 DTS 数据流的要求。例如,我们想支持1组运算符,比如用于处理很多情况下作为标记使用的位掩码的按位运算符。另外,为了更好地利用内存(从而取得最好性能),DTS 数据流对数据类型有着严格的限制,这也反应在表达式语法中。
DTS 表达式语法使您能够设计出通过复杂的字符串和数据类型处理而取得高性能的数据流。假设表达式语言不支持您需要的某些函数,或您更喜欢使用 Visual Basic 语法,那末您可使用脚本组件,脚本组件答应您在数据流中使用 Visual Basic .NET。
为甚么有些函数不在表达式语言中?
由于资源限制,没法实现目前可从 SQL Server TSQL 中找到的每个函数。设置第1批函数时我们曾咨询过客户和开发职员,我们会认真考虑收到的测试版反馈信息,为以后的测试版和终极版本做好豫备。
1 2 下1页
核心提示:当前的向导体系结构会创建1个 DTS 软件包数据流以传输数据。但假设要处理几千个表,则会碰到可伸缩性限制。我们以为这是公道的,由于软件包设计职员不太可能在1个数据流中使用几千个源和几千个目标。
为甚么必须在源适配器,而不是在使用组件(例如合并)中配置排序顺序?
行的顺序是在源适配器中设置的,并且没法通过大多数下游转换进行更改(排序多是1个例外)。能够辨认源数据顺序的源适配器无需用户帮助即可设置此信息,但在大多数情况下,提供给源组件的元数据不充分,使源组件没法设置输出列排序信息,因此用户需要自行完成此操纵。
为甚么必须在软件包中锁定变量?
当适于改进并发性并且这样可以进步性能和可伸缩性时,DTS 运行时将使用多个线程来完成履行。为了不多个线程同时试图访问1个变量,必须为您的操纵锁定变量,从而使对变量的所有访问都是“安全的”;假设不这样做,可能会导致软件包出现各种响应,从“有时不工作”到返回完全不正确的结果。即使软件包是完全线性的,这也多是1个题目:例如,假设用户要更改循环中的并发设置。
为甚么分离输前途径时没有向组件发出通知?
DTS 设计器用户应当能够删除路径然后重新附着路径,这样才不会破坏软件包或更改软件包的行动。通过提供 OnOutputPathDetached 方法,我们答应行动不当的组件不遵照此规则。为了满足希看提供多个输出的组件作者的需要,DTS 对象模型提供了1个名为 DeleteOutputOnPathDetached 的输出属性,假设将此属性设置为 true,当路径被分离时,输出将自动被删除。
适用于 DTS 的新的 Windows 服务答应操纵员查看并停止特定服务器上运行的 DTS 软件包。此服务在 SQL Management Studio 中提供。留意:需要首先启动 DTS 服务,由于默许情况下它是被禁用的。
为甚么在 Mgt Studio 中没法在 DTS 服务器下看到正在运行的软件包?
默许情况下 DTS 服务是被禁用的。这是故意设计的,目的是为了使系统治理员可以控制甚么时候运行该服务。要启动 DTS 服务,请右键单击“我的电脑”并选择“治理”(从“开始”按钮或从桌面上都可),然后在“计算机治理”窗口中双击“服务和利用程序”,然后单击“服务”,即可看见在右侧列出的所有 Windows 服务。在列表中找到“DTS 服务器”,右键单击并选择“启动”。(假设您希看在每次启动计算机时自动启动该服务,还可以双击该服务以打开它的属性,将“启动类型”更改成“自动”。)
为甚么默许情况下软件包日志记录不再位于系统数据库 MSDB 中?
SQL 2005 DTS 为在日志中记录有关数据库的信息添加了很多新选项。这答应您为每个软件包定义1个或多个不同类型的日志提供程序。日志提供程序类型包括文本文件、SQL Server、Windows 事件日志等等。在您的软件包中,通过转到“DTS”菜单并选择“日志记录”,可以添加日志提供程序。
为甚么在源适配器中看不到 XML 文档架构的变化?
XML 文档架构的变化将极大地影响数据流的元数据。这要求用户显式更改架构并在更改时考虑到元数据的变化。
为甚么我在迁移援用 DTSGlobalVariables 父属性的软件包时会碰到题目?
DTS 2005 中产生更改的范围要求完全重写对象模型。作为迁移到 SQL Server 2005 DTS 的结果,援用通过 DTSGlobalVariables 父属性访问的 SQL Server 2000 DTS 对象的 ActiveX 脚本将不再有效。
为甚么我在迁移数据泵任务时会碰到题目?
DTS 2005 数据流任务取代了 DTS 2000 数据转换任务,使功能有了很大的改进。但这样的结果是,2000 和 2005 所提供的功能之间没有明确的对应。为了确保之前的数据转换任务能够继续正确操纵,未将它们完全迁移到 SQL Server 2005。迁移向导当前将这样的任务包装在专用的 SQL Server 2000 软件包中,并从履行 SQL Server 2000 DTS 软件包任务调用它。
为甚么我不能迁移动态属性任务?
由于此任务直接依托于不再提供的 DTS 2000 对象模型,迁移向导当前为此任务提供的支持很有限。此任务的实例被脚本任务取代,脚本任务中包括描写曾由此任务设置的属性的注释。要恢复之前的功能,必须进行手动修改。
为甚么全局变量在 ActiveX 脚本任务中不可用?
Beta 2 不支持访问全局变量。
为甚么不在 DTS 中包括数据转换任务和数据驱动的查询任务?
SQL Server 2005 包括的数据流任务取代了这两个 SQL 2000 任务。数据流任务对数据源、目标和转换的数目没有限制,而在 SQL 2000 中,用户对每个任务只能使用1个数据源、1个目标和1个转换。支持这项扩大功能所需的新对象模型没法容纳这两个功能不太强的任务。
为甚么 DTS 不再是客户端可再分发的?
DTS 已被重写,从 SQL Server 2000 中有用的实用程序变成了 SQL Server 2005 中功能丰富的利用程序和平台。这类变化同时带来为 DTS 用户提供服务和支持的责任,这些服务和支持最好通过治理和许可与其他 SQL 服务器利用程序类似的 DTS 引擎功能来处理。因此,固然用户可使用部署向导轻松部署软件包,但他们必须在需要运行软件包的每台计算机上运行 SQL Server 2005 安装程序并安装 DTS。这不但有助于确保用户/计算机使用正确版本的 DTS 可履行程序,还有助于该软件以后的更新。
为甚么 DTS 不支持基于 MSI 的部署?
基于 MSI 的部署具有完全独立安装的优点,但它需要再分发 DTS 2进制文件。假设需要某个重要的安全修补程序,那末以托管方式将修补程序利用到每个部署目标是不可能的。当前的部署实用程序要求目标服务器上已安装 DTS,由于这对治理员来讲才是更有用的模型。
上1页 1 2 http://www.fw8.net/TAG:数据,向导,数据流,数据源,软件包
评论加载中...
|