我需要每天转移一张桌子。表名每天都在变化,所以我应该使用脚本来获取tableName。
有一个作业步骤,可以使用T-SQL
查询将数据从sourceTable传输到destinationTable。 sourceTable和destinationTable位于不同的服务器中。链接服务器工作正常。
如果我在sql serer管理工作室中执行相同的查询,它可以正常工作。但是当在这一步执行工作时,我看到了这样的信息:
以用户身份执行:NT AUTHORITY \ SYSTEM。登录用户“NT”失败 AUTHORITY \ ANONYMOUS LOGON“。步骤失败。
两个sql服务器都是2008 R2版本并且相互链接。
您可以使用T-SQL建议其他一些方法。
任何帮助都将不胜感激。
答案 0 :(得分:1)
这是因为SQL Server出现“2-Hops”问题。 我能够通过两种方式解决这个问题: 1.仍在使用链接服务器:在远程服务器上创建具有SQL Server身份验证的用户并提供所有必需的权限。然后打开链接服务器属性并将您的帐户映射到刚刚创建的用户,如下所示:
之后,您将能够运行脚本
使用openrowset:
选择a。* FROM OPENROWSET('SQLNCLI','Server =; Trusted_Connection = yes;', 'SELECT * from .dbo。')AS a;
答案 1 :(得分:0)
我无法解决链接服务器的这个问题。
我使用以下步骤代替链接服务器: