Hello,
We use for several years for our application a linked server to transfer data from an SQL Server 2005 Express to SQL Server 2005 Standard. Amount of data can be large. But all was find till we use now SQL 2008R2 Standard instead of 2005. The transfer becomes very very slow (about 10 times mores). After investigation, we find that the problem is not the same in function of the way we use the transfer.
--case 1 -- call by the client via a remote store procedure on the HOST SET @SQLInsert = 'INSERT INTO [CLIENT\SQLEXPRESS].destdb.dbo.desttable SELECT * FROM SrcTable' Execute @RetExec = sp_executesql @SQLInsert --case 2 -- call by the client via a remote store procedure on the HOST but calling query via remote syntaxe SET @SQLInsert = 'INSERT INTO desttable SELECT * FROM [HOST\INSTANCE].srcdb.dbo.SrcTable' SET @Query = quotename(@Server) + '.' + @DataBase + '.dbo.sp_executesql N' SET @Query = @Query + ''''+@SQLInsert+'''' Execute @RetExec = sp_executesql @Query
in the case 1, (case that we use first) the transfer is very slow
in the case 2 the transfer is 10 times shorter for the same data to transfer. So putting a wireshark on the network , we can see that the transfer format is not the same and it's bigger on the case 1.
We have many application deployed on customer site and we can find this problem only for transfer with SQL 2008R2, and not for all sites.
Perharps there's somes configuration that can help ? It's a very big problem for us, is someone know a solution for this problem ?
Thank you
David (Adents)