{"id":4101,"date":"2025-05-14T09:56:37","date_gmt":"2025-05-14T07:56:37","guid":{"rendered":"https:\/\/www.plus.hr\/blog\/?p=4101"},"modified":"2025-05-14T09:56:37","modified_gmt":"2025-05-14T07:56:37","slug":"monitoring-transaction-logs-on-microsoft-sql-server","status":"publish","type":"post","link":"https:\/\/www.plus.hr\/blog\/2025\/05\/14\/monitoring-transaction-logs-on-microsoft-sql-server\/","title":{"rendered":"Monitoring Database Transaction Log on Microsoft SQL Server"},"content":{"rendered":"<p>Transaction log is a file with <code>.ldf<\/code> file extension that tracks every transaction performed on a database. It is an essential part of a database.<br \/>\nThere are three recovery models a database can be set to, Simple, Bulk-logged and Full. These models define how the transaction log behaves.<\/p>\n<p>In the <strong>Simple Recovery Model<\/strong>, transaction history is purged once the transaction is completed and a checkpoint is performed (typically, a checkpoint runs every minute).<\/p>\n<p><em>Pros:<\/em><\/p>\n<ul>\n<li>occupies the <strong>least storage space<\/strong> of the three models<\/li>\n<li>minimizes maintenance<\/li>\n<\/ul>\n<p><em>Cons:<\/em><\/p>\n<ul>\n<li><strong>no point-in-time<\/strong> restore<\/li>\n<\/ul>\n<p>When the <strong>Bulk-logged Recovery Model<\/strong> is used, SQL Server minimally logs bulk data modifications and insert operations. This is intended for situations involving large inserts, data modifications or index operations, in which you want to avoid performance issues caused by transaction log writing operations.<\/p>\n<p><em>Pros:<\/em><\/p>\n<ul>\n<li><strong>avoid performance issues<\/strong> during large inserts, updates, index building etc.<\/li>\n<\/ul>\n<p><em>Cons:<\/em><\/p>\n<ul>\n<li><strong>no point-in-time<\/strong> restore<\/li>\n<\/ul>\n<p>When the <strong>Full Recovery Model<\/strong> is set, every transaction is fully logged, for the purposes of restoring the database to a specific point in time. This model is used when <strong>the database can\u2019t afford any data loss<\/strong>.<\/p>\n<p><em>Pros:<\/em><\/p>\n<ul>\n<li><strong>point-in-time restore<\/strong> possible<\/li>\n<\/ul>\n<p><em>Cons:<\/em><\/p>\n<ul>\n<li>higher<strong> storage<\/strong> requirements<\/li>\n<li>requires ongoing <strong>log size management<\/strong> and automated log backups<\/li>\n<\/ul>\n<h2><\/h2>\n<h2>Useful Queries<\/h2>\n<h3>List the Recovery Model for All Databases<\/h3>\n<pre>SELECT name AS [Database Name],\nrecovery_model_desc AS [Recovery Model] FROM sys.databases\nGO<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-4104 size-full\" title=\"Databases Transaction Log Recovery Model\" src=\"https:\/\/www.plus.hr\/blog\/wp-content\/uploads\/2025\/05\/recoverymodels.png\" alt=\"Databases Recovery Model\" width=\"250\" height=\"182\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3>List only databases in the FULL recovery model<\/h3>\n<pre>SELECT name, recovery_model_desc FROM sys.databases where recovery_model_desc='FULL';<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-4105 size-full\" title=\"Full Recovery Model Databases\" src=\"https:\/\/www.plus.hr\/blog\/wp-content\/uploads\/2025\/05\/recoverymodels_full.png\" alt=\"Full Recovery Model Databases\" width=\"287\" height=\"86\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3>Size of the transaction log<\/h3>\n<pre>DBCC SQLPERF(logspace)<\/pre>\n<p>The above is a DBCC (Database Console Command) that <strong>displays the current size<\/strong> of the transaction logs, along with the percentage of log space used for each database.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-4102 size-full\" title=\"DBCC SQLPERF Output\" src=\"https:\/\/www.plus.hr\/blog\/wp-content\/uploads\/2025\/05\/dbcc_sqlperf.png\" alt=\"DBCC SQLPERF Output\" width=\"429\" height=\"121\" \/><\/p>\n<p>We can combine this command with <strong>sys.master_files view<\/strong> to get all the relevant info in one place.<\/p>\n<pre>DECLARE @LogSpace TABLE (\nDatabaseName sysname,\nLogSizeMB float,\nLogSpaceUsedPercent float,\nStatus int\n);\n\nINSERT INTO @LogSpace\nEXEC ('DBCC SQLPERF(logspace)');\n\nSELECT\nls.DatabaseName,\nmf.name AS LogFileName,\nls.LogSizeMB,\nls.LogSpaceUsedPercent\nFROM @LogSpace ls\nJOIN sys.master_files mf\nON ls.DatabaseName = DB_NAME(mf.database_id)\nWHERE mf.type_desc = 'LOG'\nORDER BY ls.LogSizeMB DESC;<\/pre>\n<p>Here, we create a temporary table variable <code>@LogSpace<\/code> containing all the necessary data for a clear view of the transaction logs sizes.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-4103 size-full\" title=\"Temporary Table Variable with Transaction Log Sizes\" src=\"https:\/\/www.plus.hr\/blog\/wp-content\/uploads\/2025\/05\/logspace_tablevar.png\" alt=\"Temporary Table Variable with Sizes\" width=\"423\" height=\"136\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3>Truncate the transaction log<\/h3>\n<p>Finally, if needed, we can <strong>truncate the transaction log<\/strong>. For databases using the full recovery model, the transaction log is truncated by running a transaction log backup. The preferred approach is to <strong>automate log backups<\/strong>.<br \/>\nFor databases in the simple recovery model, we can do this ad hoc, using the query:<\/p>\n<pre>ALTER DATABASE DatabaseName SET RECOVERY SIMPLE\nGO\nALTER DATABASE DatabaseName SET RECOVERY FULL\nGO\nUSE DatabaseName\nGO\nDBCC SHRINKFILE(LogFileName, 1)\nGO\nALTER DATABASE DatabaseName SET RECOVERY SIMPLE\nGO<\/pre>\n<p>&nbsp;<\/p>\n<h3>Monitor the size of transaction logs with custom Prometheus metrics<\/h3>\n<p>We can configure <strong>alerting for large transaction logs<\/strong> using Prometheus. The metrics get exported by windows_exporter, an exporter designed for Windows machines. Once exported to a text file, metrics get scraped by a <strong>Prometheus<\/strong> instance.<br \/>\nOne of the requirements is a simple PowerShell script that exposes our custom metrics via the <strong>textfile collector<\/strong>. In this example, we name the metrics `transaction_logs_truncate_needed`.<\/p>\n<p>The PowerShell script is located in <em>C:\\Program Files\\windows_exporter\\custom_scripts\\SQLTransactionLogs.ps1<\/em><\/p>\n<pre>$dbLog = $null\n$dbLog = Get-ChildItem -Path \"C:\\Program Files\\Microsoft SQL Server\\*\\MSSQL\\DATA\" -Filter \"*.ldf\" -Recurse |\n\u00a0 \u00a0  Where-Object { $_.Length -gt 4096MB } |\n\u00a0 \u00a0  Select-Object -ExpandProperty Name\nif ($dblog -ne $null) {\n\u00a0 \u00a0  Set-Content -Path 'C:\\Program Files\\windows_exporter\\textfile_inputs\\SQLtransactionlogs.prom' -Encoding Ascii -Value \"transaction_logs_truncate_needed 1\"\n\u00a0 \u00a0  }\n\u00a0 \u00a0  else {\n\u00a0 \u00a0  Set-Content -Path 'C:\\Program Files\\windows_exporter\\textfile_inputs\\SQLtransactionlogs.prom' -Encoding Ascii -Value \"transaction_logs_truncate_needed 0\"\n\u00a0 \u00a0  }<\/pre>\n<p>We create a scheduled task that runs the script every 6 hours, starting at 2:00 AM.<\/p>\n<pre>$taskname = \"Prometheus SQLTransactionLogs Need Check\"\n$taskdescription = \"expose metrics to the text file for Prometheus scraping\"\n$user = \"MACHINE\\user\"\n$action = New-ScheduledTaskAction -Execute 'C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe' -Argument '-File \"C:\\Program Files\\windows_exporter\\custom_scripts\\SQLTransactionLogs.ps1\"'\n$trigger = New-ScheduledTaskTrigger -Once -At 02:00AM -RepetitionInterval (New-TimeSpan -Hours 6)\n$settings = New-ScheduledTaskSettingsSet -ExecutionTimeLimit (New-TimeSpan -Hours 1)\nRegister-ScheduledTask -Action $action -Trigger $trigger -TaskName $taskname -Description $taskdescription -Settings $settings -User $user -RunLevel Highest -Force\nStart-ScheduledTask -TaskName 'Prometheus SQLTransactionLogs Need Check'<\/pre>\n<p>The PowerShell script outputs metrics to the <code>.prom<\/code> file located at <em>C:\\Program Files\\windows_exporter\\textfile_inputs\\SQLtransactionlogs.prom<\/em>. Depending on whether there is a log larger than 4 GB, the <code>.prom<\/code> file content is<\/p>\n<pre>transaction_logs_truncate_needed 1<\/pre>\n<p>or<\/p>\n<pre>transaction_logs_truncate_needed 0<\/pre>\n<p>respectively.<\/p>\n<p>Once the metrics are scraped by Prometheus, an alert rule can be triggered. We use Alertmanager to handle alerts, and the rule we set is:<\/p>\n<pre>--------------------\ngroups:\n- name: SQLTransactionLogs\n\u00a0 rules:\n\u00a0 - alert: TransactionLogsTruncateNeeded\n\u00a0\u00a0\u00a0 expr: transaction_logs_truncate_needed == 1\n\u00a0\u00a0\u00a0 for: 30s\n\u00a0\u00a0\u00a0 annotations:\n\u00a0\u00a0\u00a0\u00a0\u00a0 summary: Transaction logs on `{{ $labels.instance }}`\n\u00a0\u00a0\u00a0\u00a0\u00a0 description: \"Transaction logs need check\" \n\u00a0\u00a0\u00a0\u00a0\u00a0 runbook_url: https:\/\/wiki.plus.hr\/How+To+Truncate+Transaction+log+on+SQL+Server\n\u00a0\u00a0\u00a0 labels:\n\u00a0\u00a0\u00a0\u00a0\u00a0 severity: warning<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Transaction log is a file with .ldf file extension that tracks every transaction performed on a database. It is an essential part of a database. There are three recovery models a database can be set to, Simple, Bulk-logged and Full. These models define how the transaction log behaves. In the Simple Recovery Model, transaction history [&hellip;]<\/p>\n","protected":false},"author":18,"featured_media":4116,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[63,240],"class_list":["post-4101","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administracija-servera","tag-database-management","tag-sql-server"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Monitoring SQL Server transaction loga - Plus Hosting<\/title>\n<meta name=\"description\" content=\"There are three recovery models a database can be set to, Simple, Bulk-logged and Full. These models define how the transaction log behaves.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.plus.hr\/blog\/2025\/05\/14\/monitoring-transaction-logs-on-microsoft-sql-server\/\" \/>\n<meta property=\"og:locale\" content=\"hr_HR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Monitoring SQL Server transaction loga - Plus Hosting\" \/>\n<meta property=\"og:description\" content=\"There are three recovery models a database can be set to, Simple, Bulk-logged and Full. These models define how the transaction log behaves.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.plus.hr\/blog\/2025\/05\/14\/monitoring-transaction-logs-on-microsoft-sql-server\/\" \/>\n<meta property=\"og:site_name\" content=\"Plus Hosting blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-05-14T07:56:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.plus.hr\/blog\/wp-content\/uploads\/2025\/05\/sqldb4.png\" \/>\n\t<meta property=\"og:image:width\" content=\"900\" \/>\n\t<meta property=\"og:image:height\" content=\"650\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Natali V.\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napisao\/la\" \/>\n\t<meta name=\"twitter:data1\" content=\"Natali V.\" \/>\n\t<meta name=\"twitter:label2\" content=\"Procijenjeno vrijeme \u010ditanja\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/2025\\\/05\\\/14\\\/monitoring-transaction-logs-on-microsoft-sql-server\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/2025\\\/05\\\/14\\\/monitoring-transaction-logs-on-microsoft-sql-server\\\/\"},\"author\":{\"name\":\"Natali V.\",\"@id\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/#\\\/schema\\\/person\\\/8a892def628388ba3f58f1e60c4beb42\"},\"headline\":\"Monitoring Database Transaction Log on Microsoft SQL Server\",\"datePublished\":\"2025-05-14T07:56:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/2025\\\/05\\\/14\\\/monitoring-transaction-logs-on-microsoft-sql-server\\\/\"},\"wordCount\":523,\"publisher\":{\"@id\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/2025\\\/05\\\/14\\\/monitoring-transaction-logs-on-microsoft-sql-server\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/sqldb4.png\",\"keywords\":[\"database management\",\"SQL Server\"],\"articleSection\":[\"Administracija servera\"],\"inLanguage\":\"hr\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/2025\\\/05\\\/14\\\/monitoring-transaction-logs-on-microsoft-sql-server\\\/\",\"url\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/2025\\\/05\\\/14\\\/monitoring-transaction-logs-on-microsoft-sql-server\\\/\",\"name\":\"Monitoring SQL Server transaction loga - Plus Hosting\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/2025\\\/05\\\/14\\\/monitoring-transaction-logs-on-microsoft-sql-server\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/2025\\\/05\\\/14\\\/monitoring-transaction-logs-on-microsoft-sql-server\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/sqldb4.png\",\"datePublished\":\"2025-05-14T07:56:37+00:00\",\"description\":\"There are three recovery models a database can be set to, Simple, Bulk-logged and Full. These models define how the transaction log behaves.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/2025\\\/05\\\/14\\\/monitoring-transaction-logs-on-microsoft-sql-server\\\/#breadcrumb\"},\"inLanguage\":\"hr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.plus.hr\\\/blog\\\/2025\\\/05\\\/14\\\/monitoring-transaction-logs-on-microsoft-sql-server\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"hr\",\"@id\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/2025\\\/05\\\/14\\\/monitoring-transaction-logs-on-microsoft-sql-server\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/sqldb4.png\",\"contentUrl\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/sqldb4.png\",\"width\":900,\"height\":650,\"caption\":\"Monitoring transaction log on SQL Server\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/2025\\\/05\\\/14\\\/monitoring-transaction-logs-on-microsoft-sql-server\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Monitoring Database Transaction Log on Microsoft SQL Server\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/\",\"name\":\"Plus Hosting blog\",\"description\":\"Plus Hosting blog: savjeti o hostingu, domenama i WordPressu\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"hr\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/#organization\",\"name\":\"Plus Hosting\",\"url\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"hr\",\"@id\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/plus-hosting-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/plus-hosting-logo.png\",\"width\":640,\"height\":640,\"caption\":\"Plus Hosting\"},\"image\":{\"@id\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.plus.hr\\\/blog\\\/#\\\/schema\\\/person\\\/8a892def628388ba3f58f1e60c4beb42\",\"name\":\"Natali V.\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"hr\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/35b44ac548ca5c8e0d84bb39dc59996e7532358872e9fdc4a0175e6a85df21e0?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/35b44ac548ca5c8e0d84bb39dc59996e7532358872e9fdc4a0175e6a85df21e0?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/35b44ac548ca5c8e0d84bb39dc59996e7532358872e9fdc4a0175e6a85df21e0?s=96&d=mm&r=g\",\"caption\":\"Natali V.\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Monitoring SQL Server transaction loga - Plus Hosting","description":"There are three recovery models a database can be set to, Simple, Bulk-logged and Full. These models define how the transaction log behaves.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.plus.hr\/blog\/2025\/05\/14\/monitoring-transaction-logs-on-microsoft-sql-server\/","og_locale":"hr_HR","og_type":"article","og_title":"Monitoring SQL Server transaction loga - Plus Hosting","og_description":"There are three recovery models a database can be set to, Simple, Bulk-logged and Full. These models define how the transaction log behaves.","og_url":"https:\/\/www.plus.hr\/blog\/2025\/05\/14\/monitoring-transaction-logs-on-microsoft-sql-server\/","og_site_name":"Plus Hosting blog","article_published_time":"2025-05-14T07:56:37+00:00","og_image":[{"width":900,"height":650,"url":"https:\/\/www.plus.hr\/blog\/wp-content\/uploads\/2025\/05\/sqldb4.png","type":"image\/png"}],"author":"Natali V.","twitter_card":"summary_large_image","twitter_misc":{"Napisao\/la":"Natali V.","Procijenjeno vrijeme \u010ditanja":"4 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.plus.hr\/blog\/2025\/05\/14\/monitoring-transaction-logs-on-microsoft-sql-server\/#article","isPartOf":{"@id":"https:\/\/www.plus.hr\/blog\/2025\/05\/14\/monitoring-transaction-logs-on-microsoft-sql-server\/"},"author":{"name":"Natali V.","@id":"https:\/\/www.plus.hr\/blog\/#\/schema\/person\/8a892def628388ba3f58f1e60c4beb42"},"headline":"Monitoring Database Transaction Log on Microsoft SQL Server","datePublished":"2025-05-14T07:56:37+00:00","mainEntityOfPage":{"@id":"https:\/\/www.plus.hr\/blog\/2025\/05\/14\/monitoring-transaction-logs-on-microsoft-sql-server\/"},"wordCount":523,"publisher":{"@id":"https:\/\/www.plus.hr\/blog\/#organization"},"image":{"@id":"https:\/\/www.plus.hr\/blog\/2025\/05\/14\/monitoring-transaction-logs-on-microsoft-sql-server\/#primaryimage"},"thumbnailUrl":"https:\/\/www.plus.hr\/blog\/wp-content\/uploads\/2025\/05\/sqldb4.png","keywords":["database management","SQL Server"],"articleSection":["Administracija servera"],"inLanguage":"hr"},{"@type":"WebPage","@id":"https:\/\/www.plus.hr\/blog\/2025\/05\/14\/monitoring-transaction-logs-on-microsoft-sql-server\/","url":"https:\/\/www.plus.hr\/blog\/2025\/05\/14\/monitoring-transaction-logs-on-microsoft-sql-server\/","name":"Monitoring SQL Server transaction loga - Plus Hosting","isPartOf":{"@id":"https:\/\/www.plus.hr\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.plus.hr\/blog\/2025\/05\/14\/monitoring-transaction-logs-on-microsoft-sql-server\/#primaryimage"},"image":{"@id":"https:\/\/www.plus.hr\/blog\/2025\/05\/14\/monitoring-transaction-logs-on-microsoft-sql-server\/#primaryimage"},"thumbnailUrl":"https:\/\/www.plus.hr\/blog\/wp-content\/uploads\/2025\/05\/sqldb4.png","datePublished":"2025-05-14T07:56:37+00:00","description":"There are three recovery models a database can be set to, Simple, Bulk-logged and Full. These models define how the transaction log behaves.","breadcrumb":{"@id":"https:\/\/www.plus.hr\/blog\/2025\/05\/14\/monitoring-transaction-logs-on-microsoft-sql-server\/#breadcrumb"},"inLanguage":"hr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.plus.hr\/blog\/2025\/05\/14\/monitoring-transaction-logs-on-microsoft-sql-server\/"]}]},{"@type":"ImageObject","inLanguage":"hr","@id":"https:\/\/www.plus.hr\/blog\/2025\/05\/14\/monitoring-transaction-logs-on-microsoft-sql-server\/#primaryimage","url":"https:\/\/www.plus.hr\/blog\/wp-content\/uploads\/2025\/05\/sqldb4.png","contentUrl":"https:\/\/www.plus.hr\/blog\/wp-content\/uploads\/2025\/05\/sqldb4.png","width":900,"height":650,"caption":"Monitoring transaction log on SQL Server"},{"@type":"BreadcrumbList","@id":"https:\/\/www.plus.hr\/blog\/2025\/05\/14\/monitoring-transaction-logs-on-microsoft-sql-server\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/www.plus.hr\/blog\/"},{"@type":"ListItem","position":2,"name":"Monitoring Database Transaction Log on Microsoft SQL Server"}]},{"@type":"WebSite","@id":"https:\/\/www.plus.hr\/blog\/#website","url":"https:\/\/www.plus.hr\/blog\/","name":"Plus Hosting blog","description":"Plus Hosting blog: savjeti o hostingu, domenama i WordPressu","publisher":{"@id":"https:\/\/www.plus.hr\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.plus.hr\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"hr"},{"@type":"Organization","@id":"https:\/\/www.plus.hr\/blog\/#organization","name":"Plus Hosting","url":"https:\/\/www.plus.hr\/blog\/","logo":{"@type":"ImageObject","inLanguage":"hr","@id":"https:\/\/www.plus.hr\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.plus.hr\/blog\/wp-content\/uploads\/2026\/11\/plus-hosting-logo.png","contentUrl":"https:\/\/www.plus.hr\/blog\/wp-content\/uploads\/2026\/11\/plus-hosting-logo.png","width":640,"height":640,"caption":"Plus Hosting"},"image":{"@id":"https:\/\/www.plus.hr\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.plus.hr\/blog\/#\/schema\/person\/8a892def628388ba3f58f1e60c4beb42","name":"Natali V.","image":{"@type":"ImageObject","inLanguage":"hr","@id":"https:\/\/secure.gravatar.com\/avatar\/35b44ac548ca5c8e0d84bb39dc59996e7532358872e9fdc4a0175e6a85df21e0?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/35b44ac548ca5c8e0d84bb39dc59996e7532358872e9fdc4a0175e6a85df21e0?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/35b44ac548ca5c8e0d84bb39dc59996e7532358872e9fdc4a0175e6a85df21e0?s=96&d=mm&r=g","caption":"Natali V."}}]}},"_links":{"self":[{"href":"https:\/\/www.plus.hr\/blog\/wp-json\/wp\/v2\/posts\/4101","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.plus.hr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.plus.hr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.plus.hr\/blog\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/www.plus.hr\/blog\/wp-json\/wp\/v2\/comments?post=4101"}],"version-history":[{"count":0,"href":"https:\/\/www.plus.hr\/blog\/wp-json\/wp\/v2\/posts\/4101\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.plus.hr\/blog\/wp-json\/wp\/v2\/media\/4116"}],"wp:attachment":[{"href":"https:\/\/www.plus.hr\/blog\/wp-json\/wp\/v2\/media?parent=4101"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.plus.hr\/blog\/wp-json\/wp\/v2\/categories?post=4101"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.plus.hr\/blog\/wp-json\/wp\/v2\/tags?post=4101"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}