Solved

Linked Server stored procedure running VERY SLOW

Posted on 2003-12-04
5
738 Views
Last Modified: 2006-11-17
I have two servers, each running win2k advance, and sql server 2000 enterprise.  Service pack 3 on both SQL Servers.  If I run the following query, I get the results back instantly

select * from linkserver.db.dbo.table where pk = 1

but if I run

declare @pk int
set @pk = 1
select * from linkserver.db.dbo.table where pk = @pk

it takes 7 minutes to return.  Any ideas what the problem is?  


0
Comment
Question by:kprestage
  • 3
  • 2
5 Comments
 
LVL 50

Expert Comment

by:Lowfatspread
ID: 9876787
what is the column type of the pk column


have you tried an openquery query instead?

 
0
 
LVL 9

Author Comment

by:kprestage
ID: 9876852
The parameter is an int data type and the column on the table is int too.  Open query wont work in this situation.  I need to get it working as a linked server.
0
 
LVL 50

Accepted Solution

by:
Lowfatspread earned 500 total points
ID: 9876908
how long does

declare @pk int
set @pk = 1
declare @sqlstr varchar(8000)
set @sqlstr =
'select * from linkserver.db.dbo.table where pk =' + convert(varchar(10), @pk)
exec (@sqlstr)

take?

0
 
LVL 9

Author Comment

by:kprestage
ID: 9876936
less than 1 second
0
 
LVL 9

Author Comment

by:kprestage
ID: 9877106
LowFatSpread...

You didnt fix my problem, but I appreciate the help!  I think I found the solution...  The linked server were set up using the SQL Server option rather than the OLEDB Provider for SQL Server.   I created a new linked server and selected OLEDB Provider for SQL Server and then click on Provider Properties.  I set the checkbox for dynamic parameters = true for the provider, clicked apply, and then cancelled adding the new linked server.  Making that change fixed the problem on my existing linked servers!  Thanks again for your help.  
0

Featured Post

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Why is this different from all of the other step by step guides?  Because I make a living as a DBA and not as a writer and I lived through this experience. Defining the name: When I talk to people they say different names on this subject stuff l…
This article explains how to reset the password of the sa account on a Microsoft SQL Server.  The steps in this article work in SQL 2005, 2008, 2008 R2, 2012, 2014 and 2016.
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
Via a live example, show how to set up a backup for SQL Server using a Maintenance Plan and how to schedule the job into SQL Server Agent.

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question