views:

37

answers:

3

I have an application written in a language called magic. This application uses MSSQL Server. When it is deployed where the client is on vista machine, and the server is on a remote machine, the performance is dramatically degraded. When that same application is used from an XP client, with the db on remote machine – the performance is ok. Also when the server and client are both on a vista machine, it works ok.

This makes me think that it's some kind of network protocol problem, but I can't seem to solve it.

Help will be appreciated

Note that the vista is 64 bit, and that the application is 32bit

A: 

Are you connecting via an IP Address or a host name maybe looking up the hostname is taking an age? I assume the vista and xp machine are in the same location.

Make sure the vista and xp machine use the same dns settings. perhaps its failing on a reverse dns lookup.

Paul Whelan
I am using the hostname, but that would only create problems in the connection creation - not on every select.
Noam
They are using the same dns settings, and it's all automatic ip assignemnt
Noam
A: 

Many constraints... mainly internet speed if your remote database communicates through internet.

NinethSense
It is not over an internet connection.All the scenarios mentioned in my question are all on the same network, at my office
Noam
Can you inspect the queries with SQL profiler?
NinethSense
I have inspected them, the queries are the same from xp, and from vista. Also when the server is local on the vista, I get good performance - so it's not in the profiler
Noam
A: 

The problem is cause by some strange vista behaviour around named computers.

You can either use ip instead of names, or change the following vista setting:

Start Run ->

gpedit.msc ->

Computer Configuration\Administrative Templates\Network\DNS Client\Turn off Multicast Name Resolution = Enabled

Noam