Bonjour,

Je dois travailler sur une base de données DB2 dans un serveur AS400 disons SRV1, dont le volume est ~28.000 clients, ~200.000 articles, ~800 fournisseurs.
J’ai un serveur MSSQL disons SRV2 dans lequel j’ai installé tous les outils IBM. J’ai fait un serveur lié dans MSSQL qui se connecte à SRV1.
SRV1 et SRV2 sont dans le même réseau de type Gigabit.

En plus de MSSQL, sur SRV2 est installé :
- MSSQL studio pour faire mes requêtes TSQL ;
- Cwbundbs.exe (un outil ibm), qui permet de faire une requête SQL sur l’AS400 ;

Un SELECT * FROM ARTICLE depuis l’outil IBM se fais en 187 ms.
La même requête dans MSSQL via le serveur lié prend 5 minutes !!!!!
Les performances sont désastreuses…
je veux améliorer les choses.

J’ai testé en préfixant ma requête SQL par « SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; », mais je n’observe aucune amélioration.
Savez-vous comment je peux améliorer les choses ?
Merci de votre aide.


Voici le code de mon serveur lié :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
-- Suppression DB-LINK 
IF  EXISTS (SELECT srvname FROM master.dbo.sysservers srv WHERE srv.srvid != 0 AND srv.srvname = N'#HOSTNAME#')
EXEC master.dbo.sp_dropserver @server=N'#HOSTNAME#', @droplogins='droplogins'
-- Creation DB-LINK
EXEC master.dbo.sp_addlinkedserver @server = N'#HOSTNAME#', @srvproduct=N'IBMDASQL', @provider=N'IBMDASQL', @datasrc=N'#HOSTNAME#', @provstr=N'User Id=#USER#;Password=#PASSWORD#;', @catalog=N'#CATALOG#'
GO
EXEC master.dbo.sp_serveroption @server=N'#HOSTNAME#', @optname=N'collation compatible', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'#HOSTNAME#', @optname=N'data access', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'#HOSTNAME#', @optname=N'dist', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'#HOSTNAME#', @optname=N'pub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'#HOSTNAME#', @optname=N'rpc', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'#HOSTNAME#', @optname=N'rpc out', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'#HOSTNAME#', @optname=N'sub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'#HOSTNAME#', @optname=N'dpub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'#HOSTNAME#', @optname=N'connect timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'#HOSTNAME#', @optname=N'collation name', @optvalue=null
GO
EXEC master.dbo.sp_serveroption @server=N'#HOSTNAME#', @optname=N'lazy schema validation', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'#HOSTNAME#', @optname=N'query timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'#HOSTNAME#', @optname=N'use remote collation', @optvalue=N'true'