Indicateurs de trace (Transact-SQL)
Mis à jour : 15 septembre 2007
Les indicateurs de trace permettent de définir temporairement des caractéristiques de serveur spécifiques ou de désactiver un comportement particulier. Par exemple, si l'indicateur de trace 3205 est défini au démarrage d'une instance de SQL Server 2005, la compression matérielle des unités de sauvegarde sur bande est désactivée. Les indicateurs de trace servent le plus souvent à diagnostiquer des problèmes de performances et à déboguer des procédures stockées ou des systèmes informatiques complexes.
Le tableau suivant répertorie et décrit les indicateurs de trace disponibles dans SQL Server 2005.
Remarque : |
---|
Il est possible que le comportement des indicateurs de trace ne soit pas pris en charge dans les prochaines versions de SQL Server. |
Indicateur de trace | Description |
---|---|
260 |
Imprime les informations de version relatives aux bibliothèques de liaison dynamique (DLL) des procédures stockées étendues. Pour plus d'informations sur __GetXpVersion(), consultez Creating Extended Stored Procedures. Étendue : globale ou de session |
1204 |
Retourne les ressources et les types de verrous participant à l'interblocage et la commande active affectée. Étendue : globale uniquement |
1211 |
Désactive la promotion des verrous en fonction de l'insuffisance de mémoire ou du nombre de verrous. Le moteur de base de données SQL Server 2005 ne promeut aucun verrou de ligne ou de page au rang de verrou de table. L'utilisation de cet indicateur de trace peut générer un nombre excessif de verrous. Ceci peut entraîner un ralentissement des performances du moteur de base de données ou provoquer des erreurs de type 1204 (impossible d'allouer la ressource du verrou) pour cause de mémoire insuffisante. Pour plus d'informations, consultez Promotion de verrous (moteur de base de données). Si les deux indicateurs de trace 1211 et 1224 sont définis, 1211 prévaut sur 1224. Toutefois, étant donné que l'indicateur de trace 1211 empêche systématiquement la promotion, même sous la pression de la mémoire, il est recommandé d'utiliser l'indicateur de trace 1224. Cela permet d'éviter les erreurs liées au manque de verrous lorsque de nombreux verrous sont en cours d'utilisation. Étendue : globale ou de session |
1222 |
Retourne les ressources et les types de verrous participant au blocage et la commande active affectée, au format XML n'ayant à être validé par aucun schéma XSD particulier. Étendue : globale uniquement |
1224 |
Désactive la promotion des verrous en fonction du nombre de verrous. Cependant, une insuffisance de mémoire peut toujours activer la promotion des verrous. Le moteur de base de données promeut les verrous de ligne ou de page au rang de verrous de table si l'une des conditions suivantes n'est pas respectée :
Si les deux indicateurs de trace 1211 et 1224 sont définis, 1211 prévaut sur 1224. Toutefois, étant donné que l'indicateur de trace 1211 empêche systématiquement la promotion, même sous la pression de la mémoire, il est recommandé d'utiliser l'indicateur de trace 1224. Cela permet d'éviter les erreurs liées au manque de verrous lorsque de nombreux verrous sont en cours d'utilisation. Étendue : globale ou de session |
2528 |
Désactive la vérification parallèle des objets par DBCC CHECKDB, DBCC CHECKFILEGROUP et DBCC CHECKTABLE. Par défaut, le degré de parallélisme est déterminé automatiquement par le processeur de requête. Le degré maximum de parallélisme est configuré de la même manière que celui des requêtes parallèles. Pour plus d'informations, consultez Option max degree of parallelism. La vérification DBCC parallèle doit généralement rester désactivée. Dans le cas de DBCC CHECKDB, le processeur de requête réévalue et ajuste automatiquement le parallélisme entre chaque table ou lot de tables vérifiées. Il se peut parfois que la vérification commence lorsque le serveur est quasiment inactif. Un administrateur sachant que la charge doit augmenter avant la fin de la vérification peut réduire ou désactiver manuellement le parallélisme. Cependant, la désactivation de la vérification parallèle peut entraîner une réduction des performances sur l'ensemble de la base de données. La réduction du degré de parallélisme accroît le volume du journal des transactions à analyser. Ceci augmente par conséquence la demande en espace alloué à tempdb et provoque un accroissement non linéaire du temps nécessaire à DBCC pour terminer ses points de vérification. Si DBCC est exécuté alors que la fonctionnalité TABLOCK est activée et que le parallélisme est désactivé, les tables peuvent être verrouillées pour des durées plus longues. Étendue : globale ou de session |
3205 |
Par défaut, si une unité sur bande gère la compression matérielle, l'instruction DUMP ou BACKUP en fera usage. Cet indicateur de trace permet de désactiver la compression matérielle pour les unités de sauvegarde sur bande. Cette option peut s'avérer utile lorsque vous souhaitez échanger des bandes avec d'autres sites ou les utiliser avec des unités qui ne gèrent pas la compression. Étendue : globale ou de session |
3625 |
Limite la quantité d'informations retournée dans les messages d'erreur. Pour plus d'informations, consultez Configuration de la visibilité des métadonnées. Étendue : globale uniquement |
4616 |
Permet aux rôles d'application d'accéder aux métadonnées au niveau du serveur. Dans SQL Server 2005, un rôle d'application ne peut pas accéder à des métadonnées situées en dehors de sa propre base de données car les rôles d'application ne sont pas associés à une entité de sécurité au niveau serveur. Il s'agit là d'une différence par rapport aux versions antérieures de SQL Server. La définition de cet indicateur global désactive les nouvelles restrictions et permet aux rôles d'application d'accéder aux métadonnées au niveau du serveur. Étendue : globale uniquement |
7806 |
Active une connexion administrateur dédiée (DAC) sur SQL Server Express. Par défaut, aucune ressource DAC n'est réservée sur SQL Server Express. Pour plus d'informations, consultez Utilisation d'une connexion d'administrateur dédiée. Étendue : globale uniquement |
Notes
Dans SQL Server 2005, il existe deux types d'indicateurs de trace : les indicateurs de trace de session et les indicateurs de trace globaux. Les indicateurs de trace de session sont actifs pour une connexion et visibles uniquement pour celle-ci. Les indicateurs de trace globaux sont définis au niveau du serveur et sont visibles pour chaque connexion sur celui-ci. Certains indicateurs ne peuvent être activés qu'en tant qu'indicateurs globaux, tandis que d'autres peuvent être activés avec une étendue globale ou de session.
Les règles suivantes s'appliquent :
- Un indicateur de trace global doit être activé globalement. Sinon, il est sans effet. Il est recommandé d'activer les indicateurs de trace globaux au démarrage, à l'aide de l'option de ligne de commande -T.
- Si un indicateur de trace possède une étendue globale ou de session, il peut être activé avec l'étendue appropriée. Un indicateur de trace activé au niveau session n'affecte jamais une autre session et l'effet de l'indicateur de trace est perdu lorsque le SPID qui a ouvert la session se déconnecte.
Les indicateurs de trace s'activent ou se désactivent de l'une des façons suivantes :
- en utilisant les commandes DBCC TRACEON et DBCC TRACEOFF ;
Par exemple, DBCC TRACEON 2528. Pour activer l'indicateur de trace globalement, utilisez DBCC TRACEON avec l'argument -1 :DBCC TRACEON 2528, -1
. Pour désactiver un indicateur de trace global, utilisez DBCC TRACEOFF avec l'argument -1. - en utilisant l'option de démarrage -T pour indiquer que l'indicateur de trace doit être défini au démarrage.
L'option de démarrage -T active un indicateur de trace globalement. Vous ne pouvez pas activer un indicateur de trace de niveau session à l'aide d'une option de démarrage. Pour plus d'informations sur les options de démarrage, consultez Utilisation des options de démarrage du service SQL Server.
Utilisez la commande DBCC TRACESTATUS afin de déterminer quels indicateurs de trace sont actuellement actifs.
Modifications de comportement
Dans SQL Server 2000, une simple commande DBCC TRACEON (1204) permet d'activer l'enregistrement des informations de blocage dans le journal des erreurs. Dans SQL Server 2005, vous devez activer l'indicateur globalement car l'indicateur de niveau session n'est pas visible au thread de contrôle du blocage.
Pour plus d'informations sur les modifications de comportement, consultez Changements essentiels dans les fonctionnalités du moteur de base de données de SQL Server 2005.
Exemples
L'exemple suivant active l'indicateur de trace 3205
par le biais de DBCC TRACEON
.
DBCC TRACEON (3205,-1)
Voir aussi
Référence
Types de données (Transact-SQL)
DBCC INPUTBUFFER (Transact-SQL)
DBCC OUTPUTBUFFER (Transact-SQL)
DBCC TRACEOFF (Transact-SQL)
DBCC TRACEON (Transact-SQL)
DBCC TRACESTATUS (Transact-SQL)
EXECUTE (Transact-SQL)
SELECT (Transact-SQL)
SET NOCOUNT (Transact-SQL)
Aide et Informations
Assistance sur SQL Server 2005
Historique des modifications
Version | Historique |
---|---|
15 septembre 2007 |
|
14 avril 2006 |
|
5 décembre 2005 |
|