传输登录名任务

适用于:SQL Server Azure 数据工厂中的 SSIS Integration Runtime

传输登录名任务在 SQL Server实例之间传输一个或多个登录名。

在 SQL Server 实例之间传输登录名

传输登录名任务支持 SQL Server 源和目标。

事件

该任务将引发报告已传输的登录名数的信息事件,而且在覆盖登录名时还会引发警告事件。

传输登录名任务并不报告登录名传输的进度,它仅报告 0% 和 100 % 完成。

执行值

在该任务的 ExecutionValue 属性中定义的执行值返回已传输的登录名数。 通过将用户定义的变量分配给传输登录名任务的 ExecValueVariable 属性,包中的其他对象就可以访问有关登录名传输的信息。 有关详细信息,请参阅 Integration Services (SSIS) 变量在包中使用变量

日志项

传输登录名任务包括下列自定义日志项:

  • TransferLoginsTaskStarTransferringObjects 此日志项报告传输已经开始。 日志项包括开始时间。

  • TransferLoginsTaskFinishedTransferringObjects 此日志项报告传输已经完成。 日志项包括结束时间。

此外,还有 OnInformation 事件的日志项(报告已传输的登录名数),以及 OnWarning 事件的日志项(是为目标服务器上每个被覆盖的登录名写入的)。

安全和权限

若要浏览源服务器上的登录名并在目标服务器上创建登录名,用户必须同时是这两台服务器上 sysadmin 服务器角色的成员。

传输登录名任务的配置

传输登录名任务可以配置为传输所有登录名,只传输指定登录名,或者只传输对指定的数据库具有访问权限的所有登录名。 无法传输 sa 登录名。 可以重命名 sa 登录名;但是,无法传输重命名的 sa 登录名。

您还可以指示该任务是否复制与登录名关联的安全标识符 (SID)。 如果传输登录名任务与传输数据库任务结合使用,则必须将 SID 复制到目标数据库,否则目标数据库将无法识别所传输的登录名。

在目标服务器上,所传输的登录名将被禁用,而且将分配给它们随机的密码。 目标服务器上 sysadmin 角色的成员必须更改这些密码并启用这些登录名,才能使用这些登录名。

要传输的登录名可能已经存在于目标服务器上。 传输登录名任务可以配置为以下列方式处理现有登录名:

  • 覆盖现有登录名。

  • 如果存在重复登录名,则该任务失败。

  • 跳过重复登录名。

在运行时,传输登录名任务使用两个 SMO 连接管理器连接到源服务器和目标服务器。 SMO 连接管理器与传输登录名任务分开进行配置,然后在传输登录名任务中引用连接管理器。 SMO 连接管理器指定服务器以及在访问该服务器时要使用的身份验证模式。 有关详细信息,请参阅 SMO Connection Manager

可以通过 SSIS 设计器或以编程方式来设置属性。

有关可在 SSIS 设计器中设置的属性的详细信息,请单击以下主题:

有关如何在 SSIS 设计器中设置这些属性的详细信息,请单击下列主题:

传输登录名任务的编程配置

有关以编程方式设置这些属性的详细信息,请单击以下主题:

传输登录名任务编辑器(“常规”页)

可以使用 “传输登录名任务编辑器” 对话框的 “常规” 页,对传输登录名任务进行命名和说明。

选项

名称
为传输登录名任务键入唯一的名称。 此名称用作任务图标中的标签。

注意

任务名称在一个包内必须是唯一的。

说明
键入传输登录名任务的说明。

传输登录名任务编辑器(“登录名”页)

可以使用 “传输登录名任务编辑器” 对话框的 “登录名” 页,指定用于将一个或多个 SQL Server 登录名从一个 SQL Server 实例复制到另一个实例的属性。

重要

执行传输登录名任务时,在目标服务器上创建的登录名将具有随机的密码,并且密码处于禁用状态。 只有在 sysadmin 固定服务器角色的某个成员更改并启用这些登录名的密码后,才可使用这些登录名。 无法传输 sa 登录名。

选项

SourceConnection
从列表中选择 SMO 连接管理器,或单击“<新建连接...>”,创建与源服务器的新连接。

DestinationConnection
从列表中选择 SMO 连接管理器,或单击“<新建连接...>”,创建与目标服务器的新连接。

LoginsToTransfer
选择要从源服务器复制到目标服务器的 SQL Server 登录名。 此属性具有下表所列的选项:

说明
AllLogins 源服务器上的所有 SQL Server 登录名都将复制到目标服务器。
SelectedLogins 只有通过 LoginsList 指定的登录名才会复制到目标服务器。
AllLoginsFromSelectedDatabases 通过 DatabasesList 指定的数据库中的所有登录名都将复制到目标服务器。

LoginsList
选择源服务器上要复制到目标服务器的登录名。 只有为 LoginsToTransfer 选择了 SelectedLogins时,此选项才可用。

DatabasesList
选择源服务器上包含要复制到目标服务器的登录名的数据库。 只有为 LoginsToTransfer 选择了 AllLoginsFromSelectedDatabases时,此选项才可用。

IfObjectExists
选择该任务应如何处理目标服务器上已经存在的同名登录名。

此属性具有下表所列的选项:

说明
FailTask 如果目标服务器上已存在同名的登录名,则任务失败。
Overwrite 任务将覆盖目标服务器上同名的登录名。
Skip 任务将跳过目标服务器上存在的同名登录名。

CopySids
选择是否应将与登录名相关联的安全标识符复制到目标服务器。 如果传输登录名任务与传输数据库任务一起使用,则必须将CopySids 设置为 True 。 否则,传输的数据库将不能识别复制的登录名。