WEB开发网
开发学院数据库MSSQL Server SQL Server 2005数据转换服务常见设计问题 阅读

SQL Server 2005数据转换服务常见设计问题

 2007-05-31 15:37:58 来源:WEB开发网   
核心提示: 为什么有些函数不在表达式语言中? 由于资源限制,无法实现目前可从 SQL Server TSQL 中找到的每个函数,SQL Server 2005数据转换服务常见设计问题(2),设置第一批函数时我们曾咨询过客户和开发人员,我们会认真考虑收到的测试版反馈信息,因为这对管理员来说才是更有用的模型, 有关详细信息,为

  
   为什么有些函数不在表达式语言中?
  
   由于资源限制,无法实现目前可从 SQL Server TSQL 中找到的每个函数。设置第一批函数时我们曾咨询过客户和开发人员,我们会认真考虑收到的测试版反馈信息,为以后的测试版和最终版本做好准备。
  
   为什么必须在源适配器,而不是在使用组件(例如合并)中配置排序顺序?
  
   行的顺序是在源适配器中设置的,并且无法通过大多数下游转换进行更改(排序可能是一个例外)。能够识别源数据顺序的源适配器无需用户帮助即可设置此信息,但在大多数情况下,提供给源组件的元数据不充分,使源组件无法设置输出列排序信息,因此用户需要自行完成此操作。
  
   为什么必须在软件包中锁定变量?
  
   当适于改进并发性并且这样可以提高性能和可伸缩性时,DTS 运行时将使用多个线程来完成执行。为了避免多个线程同时试图访问一个变量,必须为您的操作锁定变量,从而使对变量的所有访问都是“安全的”;如果不这样做,可能会导致软件包出现各种响应,从“有时不工作”到返回完全不正确的结果。即使软件包是完全线性的,这也可能是一个问题:例如,如果用户要更改循环中的并发设置。
  
   为什么分离输出路径时没有向组件发出通知?
  
   DTS 设计器用户应当能够删除路径然后重新附着路径,这样才不会破坏软件包或更改软件包的行为。通过提供 OnOutputPathDetached 方法,我们允许行为不当的组件不遵守此规则。为了满足希望提供多个输出的组件作者的需要,DTS 对象模型提供了一个名为 DeleteOutputOnPathDetached 的输出属性,如果将此属性设置为 true,当路径被分离时,输出将自动被删除。
  
   为什么有适用于 DTS 的 Windows 服务?
  
   适用于 DTS 的新的 Windows 服务允许操作员查看并停止特定服务器上运行的 DTS 软件包。此服务在 SQL Management Studio 中提供。注意:需要首先启动 DTS 服务,因为默认情况下它是被禁用的。
  
   请参阅常见问题中的“为什么在 Mgt Studio 中无法在 DTS 服务器下看到正在运行的软件包?”主题。
  
   有关详细信息,请在联机图书中搜索“DTS Service”和“Managing DTS Service”。
  
   为什么在 Mgt Studio 中无法在 DTS 服务器下看到正在运行的软件包?
  
   默认情况下 DTS 服务是被禁用的。这是故意设计的,目的是为了使系统管理员可以控制何时运行该服务。要启动 DTS 服务,请右键单击“我的电脑”并选择“管理”(从“开始”按钮或从桌面上均可),然后在“计算机管理”窗口中双击“服务和应用程序”,然后单击“服务”,即可看见在右侧列出的所有 Windows 服务。在列表中找到“DTS 服务器”,右键单击并选择“启动”。(如果您希望在每次启动计算机时自动启动该服务,还可以双击该服务以打开它的属性,将“启动类型”更改为“自动”。)
  
   有关详细信息,请在联机图书中搜索“DTS Service”和“Managing DTS Service”。
  
   为什么默认情况下软件包日志记录不再位于系统数据库 MSDB 中?
  
   SQL 2005 DTS 为在日志中记录有关数据库的信息添加了很多新选项。这允许您为每个软件包定义一个或多个不同类型的日志提供程序。日志提供程序类型包括文本文件、SQL Server、Windows 事件日志等等。在您的软件包中,通过转到“DTS”菜单并选择“日志记录”,可以添加日志提供程序。
  
   有关详细信息,请在联机图书中搜索“DTS Log Providers”和“Setting Logging Options in Packages”。
  
   为什么在源适配器中看不到 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 中,用户对每个任务只能使用一个数据源、一个目标和一个转换。支持这项扩展功能所需的新对象模型无法容纳这两个功能不太强的任务。
  
   为什么 DTS 不再是客户端可再分发的?
  
   DTS 已被重写,从 SQL Server 2000 中有用的实用程序变成了 SQL Server 2005 中功能丰富的应用程序和平台。这种变化同时带来为 DTS 用户提供服务和支持的责任,这些服务和支持最好通过管理和许可与其他 SQL 服务器应用程序类似的 DTS 引擎功能来处理。因此,虽然用户可以使用部署向导轻松部署软件包,但他们必须在需要运行软件包的每台计算机上运行 SQL Server 2005 安装程序并安装 DTS。这不仅有助于确保用户/计算机使用正确版本的 DTS 可执行程序,还有助于该软件以后的更新。
  
   为什么 DTS 不支持基于 MSI 的部署?
  
   基于 MSI 的部署具有完全独立安装的优点,但它需要再分发 DTS 二进制文件。如果需要某个重要的安全修补程序,那么以托管方式将修补程序应用到每个部署目标是不可能的。当前的部署实用程序要求目标服务器上已安装 DTS,因为这对管理员来说才是更有用的模型。
  
   有关详细信息,请在联机图书中搜索“Deployment Utility”。

上一页  1 2 

Tags:SQL Server 数据

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接