2010-06-22 4 views
0

J'ai un outil de mise à niveau de base de données qui fonctionne mal. Je voudrais attraper une des requêtes qu'il envoie à la base de données et le changer avant qu'il ne soit exécuté.Surveillance et modification des requêtes SQL avec SQL Server 2000

L'outil se connecte via ODBC.

L'outil et le serveur SQL sont sur la même boîte de Windows 2003 Server.

Des idées?

EDIT: (Plus d'infos) Lorsque l'outil s'exécute, il meurt à l'étape 12 sur 100. Il génère un code SQL incorrect destiné à créer une vue. Je dois supprimer le message d'erreur ou corriger le SQL avant qu'il ne soit exécuté. Je ne peux pas simplement créer la vue parce que la première chose qu'elle fait est de laisser tomber la vue. Même alors, il y aurait une erreur parce que la vue existerait déjà.

+0

Pouvez-vous élaborer sur le mauvais SQL? Est-ce juste un défaut, ou est-ce lié à des versions de SQL, ou à quelque chose d'autre? Pouvez-vous poster des détails? – SqlACID

+0

@SqlACID - L'outil crée une vue avec une instruction select. Il manque certaines colonnes dans le select ... alors sélectionnez PoId, ArgId, App, Process from wfrProcess. Le sql est généré dynamiquement, donc je ne suis pas sûr de l'origine du problème. Celui-ci vient après environ 300 sélections différentes. J'ai vu cet outil fonctionner avant donc je ne pense pas que ce soit un défaut dans l'outil. – NitroxDM

+0

J'ai trouvé l'endroit où l'outil sélectionne pour générer le mauvais SQL! Donc, mon problème actuel est résolu ... pour le moment de toute façon. Je pense toujours avoir la capacité de faire l'homme dans l'idée intermédiaire serait utile. Peut-être comme un pilote ODBC personnalisé? – NitroxDM

Répondre

2

Certainement - utilisez le profileur SQL pour intercepter et enregistrer la requête.

Petit outil très utile qui ...

+0

Je peux regarder la requête entrer en utilisant le profileur (j'aime cet outil) mais j'ai besoin de le changer avant qu'il ne fonctionne. L'outil crée des instructions SQL avec des erreurs de syntaxe à corriger. Je veux faire un homme dans la configuration du milieu où je peux singe avec tout ce que fait l'outil. Ou définissez le serveur pour remplacer la requête. – NitroxDM

+0

Y a-t-il une option dans le profileur qui me manque? – NitroxDM

+0

@NitorxDM: non, vous ne pouvez pas le changer dans le profileur. Vous pouvez le copier dans SSMS et le changer et l'exécuter – gbn