小编Sea*_*anW的帖子

远程查询和链接服务器

我有 2 台装有 SQL Server 2008 R2 的服务器:INT& CRM

我需要在 上运行一个 SSIS 包INT,它使用来自INT数据库和CRM数据库的数据。慢得令人痛苦。

我试过这个来测试一个简单的查询(上INT):

EXEC sp_addlinkedserver @server='CRM', 
                        @srvproduct='', 
                        @provider='SQLNCLI', 
                        @datasrc='<IP of CRM>'

EXEC sp_addlinkedsrvlogin
                        @useself='FALSE',
                        @rmtsrvname='CRM',
                        @rmtuser='<username>',
                        @rmtpassword='<userpassword>'
Run Code Online (Sandbox Code Playgroud)

我还在服务器<username>上赋予了ddl_admin 角色CRM,如此答案中所建议的: 跨链接服务器远程查询的 SQL 性能问题

然后我运行这个查询:

UPDATE [CRM].DB.dbo.table1
SET field = 1
WHERE id = (SELECT id FROM [CRM].DB.dbo.table2 WHERE secondary_id = 9999)
Run Code Online (Sandbox Code Playgroud)

此查询在CRM自身运行时需要 40 毫秒才能运行。在上面的例子中运行需要 30 秒。没有返回结果,不可能是网络问题,为什么要这么长时间?

sql-server linked-server

4
推荐指数
1
解决办法
5111
查看次数

标签 统计

linked-server ×1

sql-server ×1