Comment faire pour réduire le fichier journal des transactions dans SQL Server 2005

Traductions disponibles Traductions disponibles
Numéro d'article: 907511 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Résumé

Dans Microsoft SQL Server 2005, vous pouvez réduire un fichier journal des transactions dans une base de données à supprimer les pages inutilisées. Réutilise le moteur de base de données espace efficacement. Toutefois, un fichier journal des transactions augmente de manière inattendue, que vous deviez Pour réduire manuellement la taille de fichier journal de transactions.

Cet article explique comment utiliser la Instruction DBCC SHRINKFILE pour réduire le fichier journal des transactions manuellement sous le modèle de récupération complète dans une base de données SQL Server 2005. Le méthode qui vous permet de réduire le fichier journal de transactions dans SQL Server 2005 peut être différente de la méthode qui vous permet de réduire le fichier journal de transactions dans SQL Server 2000. Pour plus d'informations sur la façon de réduire le fichier journal des transactions dans SQL Server 2000, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
272318Réduction du journal des transactions dans SQL Server 2000 avec DBCC SHRINKFILE

Plus d'informations

Dans SQL Server 2005, une opération de réduction (DBCC SHRINKFILE) tente de réduire immédiatement le fichier journal spécifié à la taille demandée. Pour réduire le fichier journal des transactions manuellement sous le modèle de récupération complète, commencez par sauvegarder le fichier journal des transactions. Ensuite, utilisez le Instruction DBCC SHRINKFILE pour réduire le fichier journal des transactions.

Réduction en général, le fichier journal des transactions dans SQL Server 2005 est plus rapide que la réduction du fichier journal des transactions dans SQL Server 2000. La raison est que le SQL Gestionnaire de journal Server 2005 crée ou réutilise les fichiers journaux virtuels inactifs par suivant l'ordre de stockage de disque physique. Par conséquent, la partie inactive de la transaction fichier journal est généralement à la fin du fichier.

Par exemple, le fichier journal des transactions peut avoir 100 fichiers journaux virtuels, et seulement 2 fichiers journaux virtuels sont utilisés. SQL Server 2000 peut stocker le premier fichier journal virtuel utilisé à la début du fichier journal de transactions et le second utilisé le fichier journal virtuel au milieu du fichier journal des transactions. Pour réduire le fichier journal des transactions à seulement 2 fichiers journaux virtuels, SQL Server remplit la partie restante du deuxième fichier journal virtuel à l'aide de journal factice entrées. SQL Server déplace le début du journal logique à la prochain disponible fichier journal virtuel qui est spécifié par le Gestionnaire de journal. Le Gestionnaire de journal peut créer un fichier journal virtuel au milieu du fichier journal des transactions juste au-dessus de la dernière active fichier journal virtuel. Dans ce cas, vous devez utiliser plusieurs opérations de sauvegarde de journal et plusieurs opérations de compactage pour réduire correctement le fichier journal des transactions à 2 fichiers journaux virtuels. Dans le pire des cas de cet exemple, vous devrez peut-être utiliser 50 opérations de sauvegarde de journal et la réduction 50 opérations pour réduire correctement le fichier journal des transactions à 2 fichiers journaux virtuels.

Toutefois, dans SQL Server 2005, vous pouvez exécuter une instruction DBCC SHRINKFILE pour réduire immédiatement le fichier journal des transactions à 2 fichiers journaux virtuels. Pour cela, car le Gestionnaire de journal SQL Server 2005 crée des fichiers journaux virtuels 2 en suivant l'ordre de stockage de disque physique. Les deux fichiers journaux virtuels sont au début du fichier journal de transactions.

Lorsque vous essayez de réduire un fichier journal de transaction qui a peu d'espace disponible dans SQL Server 2005, vous devrez peut-être effectuer une opération de sauvegarde de journal supplémentaire. L'opération de sauvegarde de journal supplémentaire tronque le fichier journal des transactions à une taille inférieure. Cette opération de sauvegarde du journal s'ajoute les trois étapes que vous effectuez pour réduire le fichier journal des transactions dans SQL Server 2000. Pour plus d'informations, consultez l'article Base de connaissances Microsoft mentionné dans la section « Résumé ». Pour réduire un fichier journal des transactions qui a peu d'espace disponible dans SQL Server 2005, procédez comme suit :
  1. Sauvegarder le fichier journal des transactions à rendre la plupart des fichiers journaux virtuels actif inactif. Par conséquent, les fichiers journaux virtuels inactifs peuvent être supprimés dans une étape ultérieure. Pour ce faire, démarrez SQL Server Management Studio, puis exécutez une instruction Transact-SQL qui ressemble à l'instruction Transact-SQL suivante.
    BACKUP LOG <DatabaseName> TO DISK = '<BackupFile>'
    Remarque Dans cette instruction, <DatabaseName></DatabaseName>est un espace réservé pour le nom de la base de données que vous sauvegardez, et <BackupFile></BackupFile> est un espace réservé pour le chemin complet du fichier de sauvegarde.

    Par exemple, exécutez l'instruction Transact-SQL suivante.
    BACKUP LOG TestDB TO DISK='C:\TestDB1.bak'
  2. Réduire le fichier journal des transactions. Pour ce faire, exécutez une instruction Transact-SQL qui ressemble à l'instruction Transact-SQL suivante.
    DBCC SHRINKFILE (<FileName>, <TargetSize>) WITH NO_INFOMSGS
    Remarque Dans cette instruction, <FileName></FileName>est un espace réservé pour le nom du fichier journal des transactions, et <TargetSize></TargetSize> est un espace réservé pour la taille cible que vous souhaitez que le fichier journal des transactions d'être. La taille cible doit être raisonnable. Par exemple, vous ne pouvez pas réduire le fichier journal des transactions à une taille inférieure à 2 fichiers journaux virtuels.
  3. Si l'instruction DBCC SHRINKFILE ne réduit pas le fichier journal des transactions à la cibles de taille, exécutez l'instruction BACKUP LOG qui est mentionnée à l'étape 1 pour rendre plus des fichiers journaux virtuels inactifs.
  4. Exécutez l'instruction DBCC SHRINKFILE mentionné à l'étape 2. Après cette opération, le fichier journal des transactions doit être proche de la taille cible.
En résumé, algorithme du Gestionnaire de journal pour obtenir le prochain fichier journal virtuel changé dans SQL Server 2005. Par conséquent, la réduction du fichier journal des transactions dans SQL Server 2005 peut différer de compactage du fichier journal des transactions dans SQL Server 2000.
  • Si un fichier journal a suffisamment d'espace libre, réduction du fichier journal des transactions dans SQL Server 2005 est plus rapide que la réduction du fichier journal des transactions dans SQL Server 2000.
  • Si un fichier journal n'a aucun espace libre, réduction du fichier journal des transactions dans SQL Server 2005 est identique à la réduction du fichier journal des transactions dans SQL Server 2000.
  • Si un fichier journal a peu d'espace disponible, vous devrez peut-être effectuer une sauvegarde de journal supplémentaire opération dans SQL Server 2005 que vous avez dans SQL Server 2000.

Références

Pour plus d'informations sur la façon de réduire le journal des transactions, consultez la Réduction du journal des transactions Site Web de Microsoft Developer Network (MSDN).

Pour plus d'informations sur l'instruction DBCC SHRINKFILE, accédez à la DBCC SHRINKFILE (Transact-SQL) Site Web MSDN.

Pour plus d'informations sur la troncature de journal, consultez le Troncature de journal Site Web MSDN.

Propriétés

Numéro d'article: 907511 - Dernière mise à jour: vendredi 12 juillet 2013 - Version: 1.1
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Mots-clés : 
kbsqlsetup kbsql2005engine kbinfo kbmt KB907511 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu d'une traduction automatique réalisée par un logiciel Microsoft et non par un traducteur professionnel. Cette traduction automatique a pu aussi être révisée par la communauté Microsoft grâce à la technologie Community Translation Framework (CTF). Pour en savoir plus sur cette technologie, veuillez consulter la page http://support.microsoft.com/gp/machine-translation-corrections/fr. Microsoft vous propose en effet des articles traduits par des professionnels, des articles issus de traductions automatiques et des articles issus de traductions automatiques révisées par la communauté Microsoft, de manière à ce que vous ayez accès à tous les articles de notre Base de connaissances dans votre langue. Il est important de noter que les articles issus de la traduction automatique, y compris ceux révisés par la communauté Microsoft, peuvent contenir des erreurs de vocabulaire, de syntaxe ou de grammaire. Microsoft ne pourra être tenu responsable des imprécisions, erreurs, ainsi que de tout dommage résultant d?une traduction incorrecte du contenu ou de son utilisation par les clients.
La version anglaise de cet article est la suivante: 907511
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com