{"id":874,"date":"2026-05-13T06:45:00","date_gmt":"2026-05-13T04:45:00","guid":{"rendered":"https:\/\/expert-only.com\/prep\/?p=874"},"modified":"2026-05-18T15:48:28","modified_gmt":"2026-05-18T13:48:28","slug":"vider-le-journal-des-transactions","status":"publish","type":"post","link":"https:\/\/expert-only.com\/fr\/dba\/vider-le-journal-des-transactions\/","title":{"rendered":"Vider le journal des transactions SQL Server &#8211; 2 Scripts Simples"},"content":{"rendered":"\n<p class=\"has-text-align-center\"><strong><em>Comment vider le journal des transactions SQL Server pour r\u00e9duire la taille de la base sur le disque ? 2 Scripts simples et efficaces pour r\u00e9duire vos bases.<\/em><\/strong><\/p>\n\n\n\n<p>La base de donn\u00e9es Microsoft SQL Server est lente ou l&rsquo;espace disque disponible sur le serveur se r\u00e9duit anormalement. Pour r\u00e9soudre ce probl\u00e8me, il suffit parfois de vider le journal des transactions SQL Server et de r\u00e9duire les fichiers de la base de donn\u00e9es. Souvent, pendant cette op\u00e9ration, ce message s\u2019affiche : Le journal des transactions de la base de donn\u00e9es est plein.<\/p>\n\n\n\n<p>Ou encore <em>Consultez la colonne log_reuse_wait de sys.databases<\/em>. Avant de vider les fichiers journaux, inspecter les donn\u00e9es de la vue syst\u00e8me <em>sys.databases<\/em> de la base de donn\u00e9es et rep\u00e9rer la table qui n&rsquo;est pas dans l&rsquo;\u00e9tat NOTHING.<\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_83 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/expert-only.com\/fr\/dba\/vider-le-journal-des-transactions\/#1-comment-vider-le-journal-des-transactions-sql-server\" >1. Comment vider le journal des transactions SQL Server ?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/expert-only.com\/fr\/dba\/vider-le-journal-des-transactions\/#11-executer-la-commande-sql-shrinkdatabase-pour-vider-le-journal\" >1.1 Ex\u00e9cuter la commande SQL SHRINKDATABASE pour vider le journal<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/expert-only.com\/fr\/dba\/vider-le-journal-des-transactions\/#12-executer-la-commande-sql-shrinkfile-pour-reduire-la-taille-de-la-base\" >1.2 Ex\u00e9cuter la commande SQL SHRINKFILE pour r\u00e9duire la taille de la base<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/expert-only.com\/fr\/dba\/vider-le-journal-des-transactions\/#2-consulter-la-colonne-log-reuse-wait-de-sysdatabases\" >2. Consulter la colonne log_reuse_wait de sys.databases.<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/expert-only.com\/fr\/dba\/vider-le-journal-des-transactions\/#21-executer-la-requete-sur-la-table-systeme-sysdatabases\" >2.1 Ex\u00e9cuter la requ\u00eate sur la table syst\u00e8me sys.databases<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/expert-only.com\/fr\/dba\/vider-le-journal-des-transactions\/#22-executer-a-nouveau-les-scripts-shrink\" >2.2 Ex\u00e9cuter \u00e0 nouveau les scripts SHRINK<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/expert-only.com\/fr\/dba\/vider-le-journal-des-transactions\/#comment-vider-le-journal-des-transactions-avec-sql-server-avec-un-script\" >Comment vider le journal des transactions avec SQL Server avec un script ?<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\" id=\"h-1-comment-vider-le-journal-des-transactions-sql-server\"><span class=\"ez-toc-section\" id=\"1-comment-vider-le-journal-des-transactions-sql-server\"><\/span>1. Comment vider le journal des transactions SQL Server ?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Pour \u00e9viter l&rsquo;erreur : Le journal des transactions de la base de donn\u00e9es est plein. Il faut r\u00e9duire les fichiers, il est n\u00e9cessaire d\u2019ex\u00e9cuter deux commandes, <a href=\"https:\/\/learn.microsoft.com\/fr-fr\/sql\/t-sql\/database-console-commands\/dbcc-shrinkdatabase-transact-sql?view=sql-server-ver16\" target=\"_blank\" rel=\"noreferrer noopener\">shrinkdatabase<\/a> et ensuite shrinkfile.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-1-1-executer-la-commande-sql-shrinkdatabase-pour-vider-le-journal\"><span class=\"ez-toc-section\" id=\"11-executer-la-commande-sql-shrinkdatabase-pour-vider-le-journal\"><\/span>1.1 Ex\u00e9cuter la commande SQL SHRINKDATABASE pour vider le journal<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>En effet, ex\u00e9cuter la commande <em>SHRINKDATABASE<\/em> et remplacer bien s\u00fbr <em>Expert-Only<\/em> par le nom du fichier de la base de donn\u00e9es. Ainsi La commande va r\u00e9duire la taille de la base de donn\u00e9es sur le disque. Adapter aussi le chemin avec le fichier \u00e0 r\u00e9duire, stock\u00e9 dans un dossier de ce type, id\u00e9alement sur un disque ou une partition d\u00e9di\u00e9e :&nbsp;<em>D:\\SQL_DATA\\DB\\DBFILE\\<\/em>. Dans cet exemple, par d\u00e9faut le fichier base de donn\u00e9es se nomme comme ceci&nbsp;<strong>DATABASE_EXEMPLE.mdf<\/strong>.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"mssql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">USE [Expert-Only];\n\nDBCC SHRINKDATABASE(N'Expert-Only', 10, TRUNCATEONLY);\n<\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"919\" height=\"339\" src=\"https:\/\/expert-only.com\/wp-content\/uploads\/2022\/11\/sql-server-clear-transaction-log-dbcc-shrinkdatabase.jpg\" alt=\"Ex\u00e9cuter la commande DBCC SHRINKDATABASE pour r\u00e9duire le fichier de la base SQL Server\" class=\"wp-image-15998\" srcset=\"https:\/\/expert-only.com\/wp-content\/uploads\/2022\/11\/sql-server-clear-transaction-log-dbcc-shrinkdatabase.jpg 919w, https:\/\/expert-only.com\/wp-content\/uploads\/2022\/11\/sql-server-clear-transaction-log-dbcc-shrinkdatabase-300x111.jpg 300w, https:\/\/expert-only.com\/wp-content\/uploads\/2022\/11\/sql-server-clear-transaction-log-dbcc-shrinkdatabase-768x283.jpg 768w\" sizes=\"auto, (max-width: 919px) 100vw, 919px\" \/><figcaption class=\"wp-element-caption\"><strong><em>Ex\u00e9cuter la commande DBCC SHRINKDATABASE pour r\u00e9duire le fichier de la base SQL Server<\/em><\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p>Le syst\u00e8me de gestion de la base de donn\u00e9es (SGBD) affiche ce message d&rsquo;information :<\/p>\n\n\n\n<p><em>DBCC SHRINKDATABASE: File ID 1 of database ID 6 was skipped because the file does not have enough free space to reclaim.<\/em><\/p>\n\n\n\n<p>Dans ce cas pr\u00e9cis, ce message s&rsquo;affiche car la base de donn\u00e9es [Expert-Only] continent des fichiers secondaires (LDF) et ne peut pas \u00eatre r\u00e9duite \u00e0 hauteur de 10%.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-1-2-executer-la-commande-sql-shrinkfile-pour-reduire-la-taille-de-la-base\"><span class=\"ez-toc-section\" id=\"12-executer-la-commande-sql-shrinkfile-pour-reduire-la-taille-de-la-base\"><\/span>1.2 Ex\u00e9cuter la commande SQL SHRINKFILE pour r\u00e9duire la taille de la base<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Ensuite, utiliser la commande <em>SHRINKFILE<\/em> remplacer <em>Expert-Only_Log<\/em> par le nom du fichier de logs SQL Server, par exemple dans un dossier d\u00e9di\u00e9 comme celui-ci:&nbsp;<em>D:\\SQL_DATA\\DB\\DBLOG\\<\/em>. Dans cet exemple, par d\u00e9faut le fichier journal SQL Server se nomme <strong>DATABASE_EXEMPLE_log.ldf<\/strong>.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ALTER DATABASE [Expert-Only] SET RECOVERY SIMPLE;\n\nDBCC SHRINKFILE('Expert-Only_log', 1);\n\nALTER DATABASE [Expert-Only] SET RECOVERY FULL;\n<\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"280\" src=\"https:\/\/expert-only.com\/wp-content\/uploads\/2022\/11\/sql-server-clear-transaction-log-dbcc-shrinkfile.jpg\" alt=\"DBCC SHRINKFILE pour vider le journal des transactions de la base SQL Server avec SSMS\" class=\"wp-image-16009\" srcset=\"https:\/\/expert-only.com\/wp-content\/uploads\/2022\/11\/sql-server-clear-transaction-log-dbcc-shrinkfile.jpg 680w, https:\/\/expert-only.com\/wp-content\/uploads\/2022\/11\/sql-server-clear-transaction-log-dbcc-shrinkfile-300x124.jpg 300w, https:\/\/expert-only.com\/wp-content\/uploads\/2022\/11\/sql-server-clear-transaction-log-dbcc-shrinkfile-678x280.jpg 678w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><figcaption class=\"wp-element-caption\"><strong><em>Vider le journal des transactions SQL Server avec DBCC SHRINKFILE sur SSMS<\/em><\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"2-consulter-la-colonne-log-reuse-wait-de-sysdatabases\"><\/span>2. Consulter la colonne log_reuse_wait de sys.databases.<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Il est possible qu&rsquo;une erreur de ce type s&rsquo;affiche en ex\u00e9cutant une des 2 commandes :<\/p>\n\n\n\n<p><strong><em>Le journal des transactions de la base de donn\u00e9es est plein. Consultez la colonne log_reuse_wait de sys.databases.<\/em><\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"21-executer-la-requete-sur-la-table-systeme-sysdatabases\"><\/span>2.1 Ex\u00e9cuter la requ\u00eate sur la table syst\u00e8me sys.databases<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Pour consulter la colonne log_reuse_wait, ex\u00e9cuter cette requ\u00eate, toujours avec SQL Server Management Studio :<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"mssql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">SELECT [name]\n,[database_id]\n,[source_database_id]\n,[owner_sid]\n,[create_date]\n,[compatibility_level]\n,[collation_name]\n,[user_access]\n,[user_access_desc]\n,[is_read_only]\n,[is_auto_close_on]\n,[is_auto_shrink_on]\n,[state]\n,[state_desc]\n,[is_in_standby]\n,[is_cleanly_shutdown]\n,[is_supplemental_logging_enabled]\n,[snapshot_isolation_state]\n,[snapshot_isolation_state_desc]\n,[is_read_committed_snapshot_on]\n,[recovery_model]\n,[recovery_model_desc]\n,[page_verify_option]\n,[page_verify_option_desc]\n,[is_auto_create_stats_on]\n,[is_auto_update_stats_on]\n,[is_auto_update_stats_async_on]\n,[is_ansi_null_default_on]\n,[is_ansi_nulls_on]\n,[is_ansi_padding_on]\n,[is_ansi_warnings_on]\n,[is_arithabort_on]\n,[is_concat_null_yields_null_on]\n,[is_numeric_roundabort_on]\n,[is_quoted_identifier_on]\n,[is_recursive_triggers_on]\n,[is_cursor_close_on_commit_on]\n,[is_local_cursor_default]\n,[is_fulltext_enabled]\n,[is_trustworthy_on]\n,[is_db_chaining_on]\n,[is_parameterization_forced]\n,[is_master_key_encrypted_by_server]\n,[is_published]\n,[is_subscribed]\n,[is_merge_published]\n,[is_distributor]\n,[is_sync_with_backup]\n,[service_broker_guid]\n,[is_broker_enabled]\n,[log_reuse_wait]\n,[log_reuse_wait_desc]\n,[is_date_correlation_on]\n,[is_cdc_enabled]\n,[is_encrypted]\n,[is_honor_broker_priority_on]\nFROM [tempdb].[sys].[databases];\n<\/pre>\n\n\n\n<p>Inspecter ensuite la ou les bases correspondantes aux lignes avec l&rsquo;\u00e9tat <strong><em>ACTIVE_TRANSACTION<\/em><\/strong> dans la colonne log_reuse_wait_desc. De plus, il est n\u00e9cessaire d&rsquo;ex\u00e9cuter ensuite le script <em>SHRINKFILE<\/em> et <em>SHRINKDATABASE<\/em> sur la ou les bases en question pour d\u00e9bloquer l&rsquo;\u00e9tat et le ramener \u00e0 <strong>NOTHING<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"22-executer-a-nouveau-les-scripts-shrink\"><\/span>2.2 Ex\u00e9cuter \u00e0 nouveau les scripts SHRINK<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Enfin, apr\u00e8s avoir vider le journal des transactions SQL Server, il est possible de r\u00e9duire votre base de donn\u00e9es sans probl\u00e8me. La <a href=\"https:\/\/www.sqlskills.com\/blogs\/paul\/why-you-should-not-shrink-your-data-files\/\" target=\"_blank\" rel=\"noopener noreferrer\">r\u00e9duction des journaux n&rsquo;est pas toujours une bonne id\u00e9e<\/a> pour des raisons de performances. En effet, les donn\u00e9es sont fragment\u00e9es apr\u00e8s la r\u00e9duction de la base de donn\u00e9es. Et \u00e0 la reconstruction des index ils reprendront toute la place n\u00e9cessaire.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Autres tutoriels pour g\u00e9rer les bases SQL Server<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/expert-only.com\/fr\/dba\/installer-une-deuxieme-instance\/\">Comment installer une deuxi\u00e8me instance SQL Server ?<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/expert-only.com\/fr\/dba\/creer-une-base-de-donnees-avec-ssms\/\">Tutoriel pour cr\u00e9er une base de donn\u00e9es avec SSMS.<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/expert-only.com\/fr\/dba\/creer-une-base-sql-server-avec-un-script\/\">Tutoriel pour cr\u00e9er une base de donn\u00e9es MS SQL avec un script<\/a>.<\/li>\n\n\n\n<li><a href=\"https:\/\/expert-only.com\/fr\/dba\/supprimer-une-base-sql-server-avec-un-script\/\">Comment supprimer une base de donn\u00e9es SQL Server ?<\/a><\/li>\n<\/ul>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-6a0afe497a1f6\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><span class=\"ez-toc-section\" id=\"comment-vider-le-journal-des-transactions-avec-sql-server-avec-un-script\"><\/span>Comment vider le journal des transactions avec SQL Server avec un script ?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Pour vider le journal des transactions SQL Server et \u00e9viter l&rsquo;erreur 9002 par exemple, utiliser les commandes DBCC SHRINKDATABASE et DBCC SHRINKFILE. Ces commandes r\u00e9duisent respectivement la base de donn\u00e9es et les fichiers de logs.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>Comment vider le journal des transactions SQL Server pour r\u00e9duire la taille de la base sur le disque ? 2 Scripts simples et efficaces pour r\u00e9duire vos bases. La base de donn\u00e9es Microsoft SQL Server est lente ou l&rsquo;espace <a class=\"mh-excerpt-more\" href=\"https:\/\/expert-only.com\/fr\/dba\/vider-le-journal-des-transactions\/\" title=\"Vider le journal des transactions SQL Server &#8211; 2 Scripts Simples\">&#8230;<\/a><\/p>\n<\/div>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[352],"tags":[],"class_list":{"0":"post-874","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-dba"},"_links":{"self":[{"href":"https:\/\/expert-only.com\/fr\/wp-json\/wp\/v2\/posts\/874","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/expert-only.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/expert-only.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/expert-only.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/expert-only.com\/fr\/wp-json\/wp\/v2\/comments?post=874"}],"version-history":[{"count":5,"href":"https:\/\/expert-only.com\/fr\/wp-json\/wp\/v2\/posts\/874\/revisions"}],"predecessor-version":[{"id":31279,"href":"https:\/\/expert-only.com\/fr\/wp-json\/wp\/v2\/posts\/874\/revisions\/31279"}],"wp:attachment":[{"href":"https:\/\/expert-only.com\/fr\/wp-json\/wp\/v2\/media?parent=874"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/expert-only.com\/fr\/wp-json\/wp\/v2\/categories?post=874"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/expert-only.com\/fr\/wp-json\/wp\/v2\/tags?post=874"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}