[SQL Server 2000] SQL Server et vidage sauvage de table

Bonjour,
J’ai un site utilisant une database SQL Server 2000, et hier une des tables a ete vidée de son contenu (la table est encore là, mais les lignes ont été effacées).
Bon, rechargement de la sauvegarde, et c’est reparti. 6 heures après, la table est de nouveau vidée…
J’ai vérifié mes applications, aucune requête ni aucune procédure stockée ne vide la table.
Pour l’instant, ça tient depuis hier, mais je ne sais pas quand ça risque de tomber à nouveau.
D’où mes questions :

  • comment monitorer les connections réseau (attaques ?) sur mon serveur ?
  • mes logs de requêtes ne montrent rien, où est-ce que je pourrais chercher ailleurs ?
  • mon post est il sur le bon forum ( :stuck_out_tongue: ) ?

J’hésite entre ici et seg fault. Je vais déplacer ton thread sur Seg Fault, plus de chances que quelqu’un sache :stuck_out_tongue:

tu utilises phpbb ?

tes tables sql sont reliés a quelle applications ?

tu as matés les mises à jour de ses applis ?

Bussiere

Salut,

le mieux est de mettre un profiler sur ta base de données.
A ta place je choisirais les evt error + tous les ordres SQL et SP (sauf les recompile). Pour avoir moins de traces ne prend pas les evt completed.

Avec ca tu va voir tout se qui ce passe sur ta base.

Attention, le filtre par databasename ne fonctionne pas, il faut utiliser le database ID que tu retrouves dans la table sysdatabases.

Normalement si c’est un ordre SQL qui efface ta table tu le verras passer (la recherche sera simple car tu peux importer ton fichier de log dans une table afin de faire des recherches).

PS : le profiler se lance depuis entreprise manager.

Autre approche, peut être moins clean. Pour être sûr que ce n’est pas une requête qui fait ça, crée un trigger sur le delete ou le truncate sur cette table. Log les informations dans une table à part et voilà :stuck_out_tongue:

Tout d’abord, merci pour ces premieres reponses (ca marche mieux ici que dans le forum hotline…).

Bussiere> Non, j’utilise Coldfusion Server, et des applis en coldfusion. Tout ca est a jour.

Ferrero> Waouw, merci pour ces details. Tu pourrais preciser stp comment lancer le profiler depuis entreprise manager (je ne l’ai jamais fait…) ? Est-ce que ca risque de prendre beaucoup de ressources (j’ai pas mal de requetes sur cette base) ?

BodySplash> Ca c’est aussi une bonne idee « comme a l’ancienne », je vais essayer de le faire :stuck_out_tongue:

Edit: Chtite nerreur…

[quote=“Lunavine, post:6, topic: 25857”]Tout d’abord, merci pour ces premieres reponses (ca marche mieux ici que dans le forum hotline…).

Bussiere> Waouw, merci pour ces details. Tu pourrais preciser stp comment lancer le profiler depuis entreprise manager (je ne l’ai jamais fait…) ? Est-ce que ca risque de prendre beaucoup de ressources (j’ai pas mal de requetes sur cette base) ?[/quote]
Not me,

Bussiere

[quote=« Bussiere, post:7, topic: 25857 »]Not me,

Bussiere[/quote]
Oups, decalage dans les reponses :stuck_out_tongue: … dans l’ordre :
Bussiere>
Ferrero>
BodySplash>

Pas de pb,

Sous entreprise manager tu choisis dans le menu Tools > SQL Profiler.
Une fois que tu es sous le profiler, toujours par le menu, tu lances Files > New > Trace.

Dans la fenêtre tu entres tes infos de connexion.

Une fois que tu es connecté, sous l’onglet events, tu choisis :

  • Errors & Warning
  • TSQL : SQL:StmtStarting
  • Stored Procedures : SPStarting et SPStmtStarting.

Sous l’onglet Filters, dans la ligne DataBaseID, tu places l’ID de ta database (qui s’obtient avec l’ordre suivant : SELECT id from master…sysdatabases where name=‘tabase)’.

Ensuite tu peux mettre des filtres plus précis pour cibler ta table (avec l’object ID).

Ensuite y’a plus qu’a lancer ta trace
Pour ce qui est des perfs, je n’ai jamais vu de dégradations (qui soit perceptible pour un humain).

A+
Et bon courage