Délai de requête paramétrée en ligne

J'ai cette requête paramétrée en ligne qui a commencé à expirer récemment.

Dim dal As New DalMain() Dim sbSql As New SsortingngBuilder() sbSql.Append(" select column1, column2 ") sbSql.Append(" from table ") sbSql.Append(" where column3 = @Value ") dal.AddSqlParms("@Value", DalMain.SqlParmType.STR, "100") 

où DalMain est la class d'access aux données et DalMain.SqlParmType.STR est le type DbType.Ssortingng. La requête fonctionnait bien depuis 5 ans maintenant, je reçois un timeout quand je l'exécute.

La même requête s'exécute très bien dans le studio de gestion sql. Si je code dur la valeur comme ci-dessous alors il fonctionne bien sans un timeout d'expiration.

 sbSql.Append(" select column1, column2 ") sbSql.Append(" from table ") sbSql.Append(" where column3 = '100' ") 

Le problème se produit uniquement avec cette table particulière, le rest des requêtes paramétrées fonctionnent correctement. Toute aide est grandement appréciée.

Le type de données nchar / nvarchar est-il dans la database? Le server SQL n'utilise souvent pas l'index si le type de données sur la database est varchar et le paramètre fourni est déclaré comme nvarchar (et vice versa). Vérifiez ce qui est généré dans sql profiler pour vous assurer.