帮助文件:
 数据转换服务  
在 DTS 中处理包安全性
若要查看、编辑、保护、调度和运行网络上的数据转换服务 (DTS) 包,应该了解影响包访问、权限和连接的问题。DTS 包密码
将包保存到 Microsoft® SQL Server™ 或作为结构化存储文件保存时,可以使用 DTS 包密码。除了使用 Windows 身份验证或 SQL Server 身份验证密码连接到 SQL Server 的实例之外,还使用 DTS 密码。可以使用下列类型的 DTS 包密码: 如果设置一个所有者密码,包用户需要该密码以编辑或运行包。
如果设置一个用户密码,还必须设置一个所有者密码。只有拥有此用户密码权限的用户才能运行该程序包。否则,他们不能打开或编辑包,除非他们可以访问所有者密码。 
强烈建议您为所有包使用 DTS 包密码,以确保包和数据库的安全性。至少要在保存了数据源的连接信息并且没有使用 Windows 身份验证的时候,坚持使用 DTS 包密码。设置 DTS 包密码企业管理器
如何设置 DTS 包密码(企业管理器)
在 DTS 设计器中设置 DTS 包的密码 在"包"菜单中单击"保存"或"另存为"命令。
在"位置"列表中,单击"SQL Server"或"结构化存储文件"选项。 
执行下列操作之一: 
输入"所有者"密码。指派"所有者"密码将限制既能编辑包又能运行包的用户。
输入"用户"密码。指派"用户"密码将只限制能编辑包的用户。如果创建了"用户"密码,则必须同时创建一个"所有者"密码。 请参见在 DTS 中处理包安全性
包调度和安全问题
通常,一个包从 DTS 设计器、DTS 导入/导出向导、DTS 运行实用工具或从在当前登录的用户的安全环境下执行的命令提示符处运行。但是,调度执行的包在运行该包的 SQL Server 代理程序作业的安全环境下运行。该作业的所有者可能与当前登录的用户相同或不同。考虑下列类型的所有权: 对于在 Microsoft® Windows NT® 4.0 或 Microsoft Windows® 2000 帐户下创建的包,作业在启动 SQL Server 代理程序的帐户的安全环境下运行。
如果作业由一个属于 sysadmin 固定服务器角色的登录所有,则包的安全环境默认为用来启动本地 SQL Server 代理程序的帐户。如果服务器已注册使用 Windows 身份验证,那么作业的所有者是 SQL Server 代理程序的帐户。如果服务器已注册使用 SQL Server 身份验证,作业的所有者是该 SQL Server 登录。 
如果作业由一个非 sysadmin 固定服务器角色的成员的登录所有,则包在 SQLAgentCmdExec 帐户的环境下运行,并使用该帐户的权利和权限。 
所有权冲突可能产生下列类型的问题: 在包中指定的文件路径可能在不同的安全环境中不可见。也就是说,执行包的一个不同的用户可能无法访问作为包生成器的相同的共享点(例如,用户可能没有包生成器映射的驱动器号)。要防止这个问题,请在指定外部文件时使用通用命名规则 (UNC) 的名称而不是文件路径。
运行包的 SQL Server 代理程序作业的所有者没有访问所指的路径或包中的连接的权限。例如,作业的所有者也许只能进行本地服务器访问。如果出现这个问题,查看 SQL Server 企业管理器中作业的安全环境并注销这个 SQL Server 的实例。然后登录返回到使用作业的安全环境的 SQL Server 的相同实例并尝试运行该包。
对于在 Microsoft ActiveX® 脚本中调用 COM 组件的包,被调用的组件必须存在于正在运行该包的工作站上。同时,SQL Server 代理程序作业帐户必须具有运行该作业的权限。 
在上述所有情况中,如果将包所使用的外部文件复制到执行包所在的同一台服务器上,可能会预占因所有权问题导致的包失败。在 COM 组件被一个调度包使用的情况下,被调用的组件必须装载到安装 SQL Server 实例的计算机上,并且 SQL Server 代理程序必须具有使用对象的权限。否则,不能成功地执行包。重要  如果调度一个具有用户密码而不是所有者密码的 DTS 包,调度作业将不会报告失败,除非包设置成在第一个失败的步骤即失败。这是因为用户没有在包运行之后读取包状况的权限。如果使用所有者密码调度包,则这种情况不会出现。
数据链接文件和安全性
Microsoft 数据链接 (.udl) 文件是可以用来压缩包中连接字符串的未加密文本文件。强烈建议不要在数据链接文件中包含密码信息,因为这些信息对于任何查看文本文件的人都是可见的。如果想要使用数据链接文件保存链接字符串,考虑下列情况: 为连接使用 Windows 身份验证。Windows 身份验证不要求登录信息放置在数据链接文件中。只需要一个标记,指出将要使用的连接是可以信任的。这种连接方法对于数据链接文件来说是安全的。
不要为连接使用 SQL Server 身份验证。SQL Server 身份验证要求将登录和密码信息放置在数据链接文件中。此信息将是不安全的。 
保存包安全信息
默认情况下,用来连接到数据源的 Windows 身份验证或 SQL Server 身份验证信息与包一起保存。若要控制身份验证信息的持续性,请在 DTS 设计器中的"高级连接属性"对话框中使用"持续安全信息"选项。这个选项只用于 SQL Server 连接。可能有多种原因禁止包中 Windows 身份验证或 SQL Server 身份验证信息的持续性。例如,假设要创建一个将在不同于已创建包的环境中测试的包。在这种情况下,可能不需要来自与包一起保存的连接的安全信息,因为该信息不能用于新环境的重新连接。使用来自数据链接文件的解决设置的数据链接进行包连接并使用 Windows 身份验证用于连接。这将增加包的可移动性并维持包安全性。修改身份验证信息的持续性企业管理器
如何修改身份验证信息的持续性(企业管理器)
在 DTS 包中修改身份验证信息的持续性 在数据转换服务 (DTS) 设计器的设计表中双击一个连接。
在"连接属性"对话框中,单击"高级"按钮。 
在"值"列下,单击"持续安全消息"属性的值。
执行下列操作之一: 
键入 0 以禁用用 DTS 包保存身份验证信息。
键入 1 以持续保存身份验证信息。 请参见在 DTS 中处理包安全性请参见配置 SQLServerAgent 服务连接 SQL Server数据链路连接调度 DTS 包的执行©1988-2000 Microsoft Corporation。保留所有权利。