我有两台单独的服务器:一台带有数据库(服务器1),另一台带有一些我想插入数据库的文件(服务器2)。两者都使用Windows Server OS。我无法弄清楚如何在服务器2的文件上使用来自服务器1的批量插入。我无法将文件从一台服务器复制到另一台服务器,因为它们在服务器上不断更新。
有一个类似的问题BULK INSERT from a different server,但我需要逐步说明如何从服务器1上的SSMS连接到服务器2。
答案 0 :(得分:1)
从查询访问服务器的权限不是问题
我说的是另一件事,而不是您的查询访问另一台服务器。
一旦您的服务器服务帐户具有网络权限,任何系统管理员都将能够使用SQL服务器访问其他服务器。
因此,要使您的服务器“看到”文件共享,应首先找出SQL Server帐户,然后可以使用服务,配置管理器或执行xp_cmdshell 'whoami'
来查看它。
这些是对应的图片:
Windows Services
。在“名称”下找到您感兴趣的实例,在“登录为”下找到相应的帐户。
在我的情况下,它是LocalSystem(因为这是我的个人电脑),但在您的情况下,它应该是一个将访问文件共享的域帐户现在,当您找到服务帐户时,应该像对待其他用户一样,授予它对文件共享的权限。
答案 1 :(得分:0)
您要寻找的被称为Linked Servers。但是让我警告您,由于延迟,跨服务器批量插入可能会非常昂贵!您可以使用具有扩展语法的常规命令,例如INSERT INTO myLinkedServer.myOtherDatabase.dbo.clients blablabla