SQL Server 2008 R2 JOB步骤链接服务器登录失败

时间:2013-04-17 11:11:46

标签: sql-server-2008 linked-server data-transfer sql-job

我需要每天转移一张桌子。表名每天都在变化,所以我应该使用脚本来获取tableName。

有一个作业步骤,可以使用T-SQL查询将数据从sourceTable传输到destinationTable。 sourceTable和destinationTable位于不同的服务器中。链接服务器工作正常。

如果我在sql serer管理工作室中执行相同的查询,它可以正常工作。但是当在这一步执行工作时,我看到了这样的信息:

  

以用户身份执行:NT AUTHORITY \ SYSTEM。登录用户“NT”失败   AUTHORITY \ ANONYMOUS LOGON“。步骤失败。

两个sql服务器都是2008 R2版本并且相互链接。

您可以使用T-SQL建议其他一些方法。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:1)

这是因为SQL Server出现“2-Hops”问题。 我能够通过两种方式解决这个问题: 1.仍在使用链接服务器:在远程服务器上创建具有SQL Server身份验证的用户并提供所有必需的权限。然后打开链接服务器属性并将您的帐户映射到刚刚创建的用户,如下所示: enter image description here

之后,您将能够运行脚本

  1. 使用openrowset:

    选择a。* FROM OPENROWSET('SQLNCLI','Server =; Trusted_Connection = yes;',      'SELECT * from .dbo。')AS a;

答案 1 :(得分:0)

我无法解决链接服务器的这个问题。

我使用以下步骤代替链接服务器:

  1. 将x重命名为x_temp
  2. 使用SSIS包(比链接服务器查询快得多)将所有数据从x_temp移动到其他服务器。
  3. 将x_temp重命名为x_dd_mm_yyyy
相关问题