TraceFlag 834 et indexes corrompus
-
mardi 6 mars 2012 11:10
Bonjour,
J'ai SqlServer 2008 SP3 qui tourne depuis des mois. Nous avons décidé de tester des TraceFlag afin d'améliorer la performance.
Nous avons activé les TraceFlag 834, 1118 et 610. Nous avons "restarté" le service.
Un de nos jobs (SSIS package) a planté avec le message suivant:
Unable to find index entry in index ID 2, of table 1063674837, in database 'XXXX'. The indicated index is corrupt or there is a problem with the current update plan. Run DBCC CHECKDB or DBCC CHECKTABLE. If the problem persists, contact product support.
Et un autre (C# appli.) avec le message suivant:
Internal Query Processor Error: The query processor encountered an unexpected error during execution.
=> Il s'avère que des indexes sont corrompus (on a testé avec dbcc checktable).
Nous soupçonnons le TraceFlag 834 (Large-Page). Avez-vous des infos sur ce problème ?
Merci
- Modifié titeuf68 mardi 6 mars 2012 11:12
Toutes les réponses
-
jeudi 8 mars 2012 09:44
Bonjour,
Je vois que l’erreur est spécifique aux tables utilisées dans une vue indexée (voir aussi cette discussion). D’autre côté, il semble que la cause peut être aussi un bug, mais je vois qu’il est fixé en SP3, donc ce n’est pas votre cas.
Puis, je vois que pour SSIS la base de données doit être en « single user mode », donc vérifiez cet aspect.
Ensuite, je vois que certaines requêtes peuvent aussi créer des problèmes. Autres liens connexes : http://www.sqlservercentral.com/Forums/Topic658310-146-1.aspx#bm658342 et http://social.msdn.microsoft.com/Forums/eu/tfsgeneral/thread/1e8072fa-c6d7-48a7-9a5e-51caedc8058c.
Finalement, je vois que dans cette discussion vous êtes conseillé de ne pas utiliser traceflag 834. Comme je ne connais pas beaucoup sur ce sujet et de ce que je vois l’erreur vient après activer les traceflage et les Trace Flags sont plutôt utilisées pour certaines caractéristiques du serveur, je vous recommande aussi poser votre question dans le forum TechNet. Il semble plutôt une erreur de configuration, pas une erreur de développement.
Les liens sont en anglais, mais vous pouvez utiliser Microsoft Translator pour les traduire.
Bonne journée,
Cipri
Ciprian DUDUIALA, MSFT  
•Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.
- Marqué comme réponse Ciprian Duduiala mardi 13 mars 2012 06:53
-
vendredi 16 mars 2012 07:19
Bonjour,
Nous avons fait différent tests. En fait nous avons 3 TraceFlags d'activés, nous les avons testés individuellement et c'est le Trace Flag 610 qui pose problème.
Si uniquement celui-ci est activé nous avons comme erreur (SSIS job):
Error Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB
error has occurred. Error code: 0x80004005.
An OLE DB record is available. Source: "Microsoft SQL Server Native
Client 10.0" Hresult: 0x80004005 Description: "During undoing of a
logged operation in database 'XXXX', an error occurred at log record
ID (82254385:1023360:1). Typically, the specific failure is logged
previously as an error in the Windows Event Log service. Restore the
database or file from a backup, or repair the database.".
An OLE DB record is available. Source: "Microsoft SQL Server Native
Client 10.0" Hresult: 0x80004005 Description: "The log for database
'XXXX' is not available. Check the event log for related error
messages. Resolve any errors and restart the database.".
An OLE DB record is available. Source: "Microsoft SQL Server Native
Client 10.0" Hresult: 0x80004005 Description: "During undoing of a
logged operation in database 'XXXX', an error occurred at log record
ID (82254385:3868989:319). Typically, the specific failure is logged
previously as an error in the Windows Event Log service. Restore the
database or file from a backup, or repair the database.".
An OLE DB record is available. Source: "Microsoft SQL Server Native
Client 10.0" Hresult: 0x80004005 Description: "The log for database
'XXXX' is not available. Check the event log for related error
messages. Resolve any errors and restart the database.".
An OLE DB record is available. Source: "Microsoft SQL Server Native
Client 10.0" Hresult: 0x80004005 Description: "During undoing of a
logged operation in database 'XXXX', an error occurred at log record
ID (82254385:1024028:195). Typically, the specific failure is logged
previously as an error in the Windows Event Log service. Restore the
database or file from a backup, or repair the database.".
An OLE DB record is available. Source: "Microsoft SQL Server Native
Client 10.0" Hresult: 0x80004005 Description: "An inconsistency was
detected during an internal operation. Please contact technical
support.".
An OLE DB record is available. Source: "Microsoft SQL Server Native
Client 10.0" Hresult: 0x80004005 Description: "Time-out occurred
while waiting for buffer latch type 4 for page (9:1538572), database
ID 5.".
Et la base est noté Suspect
Nous pouvons reproduire cela sur les bases de Production et Test avec des hardware différents.Pourrait-il s'agir d'un bug Microsoft? Ou avez-vous des pistes?
Merci
-
vendredi 16 mars 2012 10:38
C’est bizarre… Je ne crois pas que c’est un bug de SQL Server, vu que ce bug a été déjà résolu pour SQL Server 2005 (voir par exemple le KB 916086 ), mais bon… on ne sait jamais. Puis, les discussions liées à ces erreurs pointent presque toutes vers SQL Server 2005 et les installations de certaine SP . Avez-vous vérifié le contenu de Windows Event Log ou les logs de SQL Server pour voir plus de détails sur l’erreur ?
Comme je disais dans le message précèdent on parle d’une erreur de configuration, pas d’une erreur de développement et vous avez plus de chances d’être aidé sur le forum TechNet . Si votre problème est urgent merci de contacter Microsoft Support.
Cordialement,
Cipri
Ciprian DUDUIALA, MSFT  
•Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.
-
vendredi 16 mars 2012 10:48
Merci Cipri !
J'ai posté déjà sur l'autre forum, je vais voir avec un dba pour le reste...
-
vendredi 16 mars 2012 10:50


