Sql server 仅为执行远程查询而创建和删除链接服务器时存在哪些问题?
我需要从远程数据库中检索一些数据,这是一种“更新管理器”,所以我的应用程序将连接到远程服务器以检查是否有新的更新 我使用Web服务器进行“握手和验证”工作,但随后直接连接到远程sql服务器以检索数据 Web服务器将返回登录信息(serverIP+端口、数据库、用户和密码),当然用户是仅具有datareader(在表的子集上)权限的用户 我需要做的是执行一些远程查询来检索所需的数据。这就是我写的(而且它是有效的): 客户端只需运行如下内容:Sql server 仅为执行远程查询而创建和删除链接服务器时存在哪些问题?,sql-server,sql-server-2008,linked-server,Sql Server,Sql Server 2008,Linked Server,我需要从远程数据库中检索一些数据,这是一种“更新管理器”,所以我的应用程序将连接到远程服务器以检查是否有新的更新 我使用Web服务器进行“握手和验证”工作,但随后直接连接到远程sql服务器以检索数据 Web服务器将返回登录信息(serverIP+端口、数据库、用户和密码),当然用户是仅具有datareader(在表的子集上)权限的用户 我需要做的是执行一些远程查询来检索所需的数据。这就是我写的(而且它是有效的): 客户端只需运行如下内容: exec QueryRemoteServer '127.
exec QueryRemoteServer '127.0.0.1 , 4455','Field1, Field2',
'MyRemoteDB','MyRemoteTable','GuestUser','GuestPassword'
请告诉我您对这种方法的看法,并告诉我您看到的主要缺点/优点是什么?您是否考虑过使用,而不是每次都创建/删除链接服务器?是的,您的意思是,对于select语句,这将是一种更好的方法?由于不需要创建和销毁链接服务器,问题就少了?好的,谢谢,在我只需要执行select语句之前,这是一个更好的主意。我看到的一个问题是,没有一个头脑正常的dba会给用户创建和删除链接服务器的权利!在我的情况下,这不是一个问题,因为我总是dba。在一般情况下,你当然是对的。
exec QueryRemoteServer '127.0.0.1 , 4455','Field1, Field2',
'MyRemoteDB','MyRemoteTable','GuestUser','GuestPassword'