{"id":5938,"date":"2026-06-16T16:15:28","date_gmt":"2026-06-16T16:15:28","guid":{"rendered":"https:\/\/cloudsave.app\/knowledge-base\/mssql-transaction-log-full-recovery\/"},"modified":"2026-06-16T17:16:27","modified_gmt":"2026-06-16T17:16:27","slug":"nh%e1%ba%adt-k%c3%bd-giao-d%e1%bb%8bch-mssql-b%e1%bb%8b-%c4%91%e1%ba%a7y-c%c3%a1c-chi%e1%ba%bfn-l%c6%b0%e1%bb%a3c-ph%c3%b2ng-ng%e1%bb%aba-v%c3%a0-ph%e1%bb%a5c-h%e1%bb%93i-nhanh-ch%c3%b3ng","status":"publish","type":"post","link":"https:\/\/cloudsave.app\/vi\/knowledge-base\/nh%e1%ba%adt-k%c3%bd-giao-d%e1%bb%8bch-mssql-b%e1%bb%8b-%c4%91%e1%ba%a7y-c%c3%a1c-chi%e1%ba%bfn-l%c6%b0%e1%bb%a3c-ph%c3%b2ng-ng%e1%bb%aba-v%c3%a0-ph%e1%bb%a5c-h%e1%bb%93i-nhanh-ch%c3%b3ng\/","title":{"rendered":"Nh\u1eadt k\u00fd giao d\u1ecbch MSSQL b\u1ecb \u0111\u1ea7y: C\u00e1c chi\u1ebfn l\u01b0\u1ee3c ph\u00f2ng ng\u1eeba v\u00e0 ph\u1ee5c h\u1ed3i nhanh ch\u00f3ng"},"content":{"rendered":"<p>\u0110\u1ed1i v\u1edbi c\u00e1c Qu\u1ea3n tr\u1ecb vi\u00ean C\u01a1 s\u1edf d\u1eef li\u1ec7u (DBA) v\u00e0 k\u1ef9 s\u01b0 DevOps \u0111ang qu\u1ea3n l\u00fd Microsoft SQL Server, \u00edt c\u00f3 c\u1ea3nh b\u00e1o n\u00e0o g\u00e2y lo l\u1eafng t\u1ee9c th\u00ec nh\u01b0 L\u1ed7i 9002: <em>The transaction log for database &#8216;X&#8217; is full (Nh\u1eadt k\u00fd giao d\u1ecbch cho c\u01a1 s\u1edf d\u1eef li\u1ec7u &#8216;X&#8217; \u0111\u00e3 \u0111\u1ea7y)<\/em>. Khi nh\u1eadt k\u00fd giao d\u1ecbch \u0111\u1ea7y v\u00e0 kh\u00f4ng th\u1ec3 m\u1edf r\u1ed9ng, c\u01a1 s\u1edf d\u1eef li\u1ec7u s\u1ebd tr\u1edf th\u00e0nh tr\u1ea1ng th\u00e1i ch\u1ec9 \u0111\u1ecdc. T\u1ea5t c\u1ea3 c\u00e1c thao t\u00e1c <code>INSERT<\/code>, <code>UPDATE<\/code> v\u00e0 <code>DELETE<\/code> \u0111\u1ec1u b\u1ecb d\u1eebng l\u1ea1i, c\u00e1c giao d\u1ecbch c\u1ee7a \u1ee9ng d\u1ee5ng th\u1ea5t b\u1ea1i v\u00e0 h\u1ec7 th\u1ed1ng s\u1ea3n xu\u1ea5t b\u1ecb \u0111\u00ecnh tr\u1ec7.<\/p>\n<p>Vi\u1ec7c hi\u1ec3u r\u00f5 ki\u1ebfn tr\u00fac c\u01a1 b\u1ea3n c\u1ee7a nh\u1eadt k\u00fd giao d\u1ecbch SQL Server, ch\u1ea9n \u0111o\u00e1n ch\u00ednh x\u00e1c nguy\u00ean nh\u00e2n g\u1ed1c r\u1ec5 v\u00e0 th\u1ef1c hi\u1ec7n c\u00e1c quy tr\u00ecnh kh\u00f4i ph\u1ee5c nhanh l\u00e0 nh\u1eefng k\u1ef9 n\u0103ng quan tr\u1ecdng \u0111\u1ec3 duy tr\u00ec t\u00ednh s\u1eb5n s\u00e0ng cao. H\u01b0\u1edbng d\u1eabn to\u00e0n di\u1ec7n n\u00e0y s\u1ebd kh\u00e1m ph\u00e1 c\u01a1 ch\u1ebf c\u1ee7a nh\u1eadt k\u00fd giao d\u1ecbch, c\u00e1ch gi\u1ea3i quy\u1ebft t\u00ecnh tr\u1ea1ng nh\u1eadt k\u00fd \u0111\u1ea7y trong tr\u01b0\u1eddng h\u1ee3p kh\u1ea9n c\u1ea5p v\u00e0 c\u00e1c ph\u01b0\u01a1ng ph\u00e1p th\u1ef1c h\u00e0nh t\u1ed1t nh\u1ea5t v\u1ec1 ki\u1ebfn tr\u00fac \u0111\u1ec3 ng\u0103n ch\u1eb7n s\u1ef1 c\u1ed1 n\u00e0y t\u00e1i di\u1ec5n.<\/p>\n<h2>Hi\u1ec3u v\u1ec1 Ki\u1ebfn tr\u00fac Nh\u1eadt k\u00fd Giao d\u1ecbch SQL Server<\/h2>\n<p>\u0110\u1ec3 kh\u1eafc ph\u1ee5c s\u1ef1 c\u1ed1 nh\u1eadt k\u00fd giao d\u1ecbch \u0111\u1ea7y m\u1ed9t c\u00e1ch hi\u1ec7u qu\u1ea3, tr\u01b0\u1edbc ti\u00ean b\u1ea1n ph\u1ea3i hi\u1ec3u c\u00e1ch SQL Server ghi v\u00e0 qu\u1ea3n l\u00fd d\u1eef li\u1ec7u.<\/p>\n<h3>Ghi nh\u1eadt k\u00fd tr\u01b0\u1edbc (Write-Ahead Logging &#8211; WAL)<\/h3>\n<p>SQL Server s\u1eed d\u1ee5ng giao th\u1ee9c Ghi nh\u1eadt k\u00fd tr\u01b0\u1edbc (WAL). B\u1ea5t c\u1ee9 khi n\u00e0o m\u1ed9t s\u1eeda \u0111\u1ed5i d\u1eef li\u1ec7u x\u1ea3y ra, thay \u0111\u1ed5i \u0111\u00f3 tr\u01b0\u1edbc ti\u00ean \u0111\u01b0\u1ee3c ghi v\u00e0o nh\u1eadt k\u00fd giao d\u1ecbch trong b\u1ed9 nh\u1edb, sau \u0111\u00f3 \u0111\u01b0\u1ee3c \u0111\u1ea9y (flush) v\u00e0o t\u1ec7p nh\u1eadt k\u00fd v\u1eadt l\u00fd tr\u00ean \u0111\u0129a tr\u01b0\u1edbc khi c\u00e1c trang d\u1eef li\u1ec7u th\u1ef1c t\u1ebf \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt trong c\u00e1c t\u1ec7p c\u01a1 s\u1edf d\u1eef li\u1ec7u (MDF\/NDF). \u0110i\u1ec1u n\u00e0y \u0111\u1ea3m b\u1ea3o t\u00ednh tu\u00e2n th\u1ee7 ACID (T\u00ednh nguy\u00ean t\u1eed, T\u00ednh nh\u1ea5t qu\u00e1n, T\u00ednh c\u00f4 l\u1eadp, T\u00ednh b\u1ec1n v\u1eefng), \u0111\u1ea3m b\u1ea3o r\u1eb1ng trong tr\u01b0\u1eddng h\u1ee3p x\u1ea3y ra s\u1ef1 c\u1ed1, SQL Server c\u00f3 th\u1ec3 ph\u00e1t l\u1ea1i (roll forward) ho\u1eb7c ho\u00e0n t\u00e1c (roll back) c\u00e1c giao d\u1ecbch.<\/p>\n<h3>T\u1ec7p nh\u1eadt k\u00fd \u1ea3o (VLFs) v\u00e0 Ghi nh\u1eadt k\u00fd v\u00f2ng (Circular Logging)<\/h3>\n<p>V\u1ec1 m\u1eb7t n\u1ed9i b\u1ed9, t\u1ec7p nh\u1eadt k\u00fd giao d\u1ecbch v\u1eadt l\u00fd (LDF) \u0111\u01b0\u1ee3c chia th\u00e0nh c\u00e1c ph\u00e2n \u0111o\u1ea1n logic nh\u1ecf h\u01a1n g\u1ecdi l\u00e0 T\u1ec7p nh\u1eadt k\u00fd \u1ea3o (VLF). Nh\u1eadt k\u00fd giao d\u1ecbch ho\u1ea1t \u0111\u1ed9ng theo v\u00f2ng tr\u00f2n. Khi c\u00e1c b\u1ea3n ghi nh\u1eadt k\u00fd \u0111\u01b0\u1ee3c ghi, ch\u00fang s\u1ebd l\u1ea5p \u0111\u1ea7y m\u1ed9t VLF v\u00e0 chuy\u1ec3n sang VLF ti\u1ebfp theo.<\/p>\n<p>Khi nh\u1eadt k\u00fd \u0111\u1ea1t \u0111\u1ebfn cu\u1ed1i t\u1ec7p v\u1eadt l\u00fd, n\u00f3 s\u1ebd c\u1ed1 g\u1eafng quay l\u1ea1i t\u1eeb \u0111\u1ea7u. Tuy nhi\u00ean, n\u00f3 ch\u1ec9 c\u00f3 th\u1ec3 ghi \u0111\u00e8 l\u00ean m\u1ed9t VLF n\u1ebfu VLF \u0111\u00f3 \u0111\u01b0\u1ee3c \u0111\u00e1nh d\u1ea5u l\u00e0 <strong>kh\u00f4ng ho\u1ea1t \u0111\u1ed9ng (inactive)<\/strong>. N\u1ebfu t\u1ea5t c\u1ea3 c\u00e1c VLF \u0111\u1ec1u \u0111ang ho\u1ea1t \u0111\u1ed9ng (ngh\u0129a l\u00e0 ch\u00fang ch\u1ee9a c\u00e1c b\u1ea3n ghi nh\u1eadt k\u00fd m\u00e0 SQL Server v\u1eabn c\u1ea7n), nh\u1eadt k\u00fd s\u1ebd kh\u00f4ng th\u1ec3 quay v\u00f2ng. N\u1ebfu t\u00ednh n\u0103ng t\u1ef1 \u0111\u1ed9ng m\u1edf r\u1ed9ng (auto-growth) \u0111\u01b0\u1ee3c b\u1eadt v\u00e0 dung l\u01b0\u1ee3ng \u0111\u0129a c\u00f2n tr\u1ed1ng, t\u1ec7p v\u1eadt l\u00fd s\u1ebd t\u0103ng k\u00edch th\u01b0\u1edbc. N\u1ebfu \u0111\u0129a \u0111\u00e3 \u0111\u1ea7y ho\u1eb7c t\u00ednh n\u0103ng t\u1ef1 \u0111\u1ed9ng m\u1edf r\u1ed9ng b\u1ecb h\u1ea1n ch\u1ebf, b\u1ea1n s\u1ebd g\u1eb7p L\u1ed7i 9002.<\/p>\n<h3>C\u1eaft b\u1edbt nh\u1eadt k\u00fd (Log Truncation) so v\u1edbi Thu nh\u1ecf nh\u1eadt k\u00fd (Log Shrinking)<\/h3>\n<p>M\u1ed9t quan ni\u1ec7m sai l\u1ea7m ph\u1ed5 bi\u1ebfn l\u00e0 vi\u1ec7c c\u1eaft b\u1edbt nh\u1eadt k\u00fd s\u1ebd l\u00e0m gi\u1ea3m k\u00edch th\u01b0\u1edbc t\u1ec7p v\u1eadt l\u00fd.<br \/>\n*   <strong>C\u1eaft b\u1edbt nh\u1eadt k\u00fd (Log Truncation):<\/strong> Qu\u00e1 tr\u00ecnh \u0111\u00e1nh d\u1ea5u c\u00e1c VLF \u0111ang ho\u1ea1t \u0111\u1ed9ng th\u00e0nh kh\u00f4ng ho\u1ea1t \u0111\u1ed9ng, gi\u00fap gi\u1ea3i ph\u00f3ng kh\u00f4ng gian \u0111\u1ec3 t\u00e1i s\u1eed d\u1ee5ng. N\u00f3 <em>kh\u00f4ng<\/em> l\u00e0m gi\u1ea3m k\u00edch th\u01b0\u1edbc t\u1ec7p LDF tr\u00ean \u0111\u0129a.<br \/>\n*   <strong>Thu nh\u1ecf nh\u1eadt k\u00fd (Log Shrinking):<\/strong> Qu\u00e1 tr\u00ecnh gi\u1ea3m k\u00edch th\u01b0\u1edbc t\u1ec7p LDF v\u1eadt l\u00fd v\u00e0 tr\u1ea3 l\u1ea1i kh\u00f4ng gian cho h\u1ec7 \u0111i\u1ec1u h\u00e0nh.<\/p>\n<p>Trong m\u00f4 h\u00ecnh ph\u1ee5c h\u1ed3i Full, vi\u1ec7c c\u1eaft b\u1edbt nh\u1eadt k\u00fd <em>ch\u1ec9<\/em> x\u1ea3y ra khi b\u1ea3n sao l\u01b0u nh\u1eadt k\u00fd giao d\u1ecbch \u0111\u01b0\u1ee3c ho\u00e0n t\u1ea5t th\u00e0nh c\u00f4ng (gi\u1ea3 s\u1eed kh\u00f4ng c\u00f3 ti\u1ebfn tr\u00ecnh n\u00e0o kh\u00e1c \u0111ang gi\u1eef nh\u1eadt k\u00fd \u1edf tr\u1ea1ng th\u00e1i ho\u1ea1t \u0111\u1ed9ng).<\/p>\n<h2>Ch\u1ea9n \u0111o\u00e1n l\u1ed7i &#8220;Transaction Log Full&#8221; (L\u1ed7i 9002)<\/h2>\n<p>Khi nh\u1eadt k\u00fd \u0111\u1ea7y, b\u01b0\u1edbc \u0111\u1ea7u ti\u00ean c\u1ee7a b\u1ea1n kh\u00f4ng ph\u1ea3i l\u00e0 m\u00f9 qu\u00e1ng th\u00eam dung l\u01b0\u1ee3ng \u0111\u0129a ho\u1eb7c thu nh\u1ecf t\u1ec7p. B\u1ea1n ph\u1ea3i x\u00e1c \u0111\u1ecbnh <em>t\u1ea1i sao<\/em> nh\u1eadt k\u00fd kh\u00f4ng th\u1ec3 c\u1eaft b\u1edbt. SQL Server cung c\u1ea5p m\u1ed9t c\u01a1 ch\u1ebf t\u00edch h\u1ee3p \u0111\u1ec3 cho b\u1ea1n bi\u1ebft ch\u00ednh x\u00e1c \u0111i\u1ec1u g\u00ec \u0111ang ng\u0103n c\u1ea3n vi\u1ec7c t\u00e1i s\u1eed d\u1ee5ng nh\u1eadt k\u00fd th\u00f4ng qua view danh m\u1ee5c <code>sys.databases<\/code>.<\/p>\n<p>Ch\u1ea1y l\u1ec7nh T-SQL sau \u0111\u1ec3 x\u00e1c \u0111\u1ecbnh \u0111i\u1ec3m ngh\u1ebdn:<\/p>\n<pre><code class=\"language-sql\">SELECT \n    name AS DatabaseName, \n    recovery_model_desc AS RecoveryModel, \n    log_reuse_wait_desc AS LogReuseWaitReason\nFROM sys.databases\nWHERE name = 'YourDatabaseName';\n<\/code><\/pre>\n<p>B\u1ea1n c\u0169ng c\u00f3 th\u1ec3 ki\u1ec3m tra m\u1ee9c s\u1eed d\u1ee5ng dung l\u01b0\u1ee3ng hi\u1ec7n t\u1ea1i c\u1ee7a c\u00e1c nh\u1eadt k\u00fd giao d\u1ecbch b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng:<\/p>\n<pre><code class=\"language-sql\">DBCC SQLPERF(LOGSPACE);\n<\/code><\/pre>\n<h3>C\u00e1c tr\u1ea1ng th\u00e1i <code>log_reuse_wait_desc<\/code> ph\u1ed5 bi\u1ebfn<\/h3>\n<ol>\n<li><strong>LOG_BACKUP:<\/strong> C\u01a1 s\u1edf d\u1eef li\u1ec7u \u0111ang \u1edf m\u00f4 h\u00ecnh ph\u1ee5c h\u1ed3i Full ho\u1eb7c Bulk-Logged, v\u00e0 b\u1ea3n sao l\u01b0u nh\u1eadt k\u00fd giao d\u1ecbch ch\u01b0a \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n g\u1ea7n \u0111\u00e2y. \u0110\u00e2y l\u00e0 nguy\u00ean nh\u00e2n ph\u1ed5 bi\u1ebfn nh\u1ea5t.<\/li>\n<li><strong>ACTIVE_TRANSACTION:<\/strong> M\u1ed9t giao d\u1ecbch ch\u1ea1y d\u00e0i (v\u00ed d\u1ee5: x\u00e2y d\u1ef1ng l\u1ea1i ch\u1ec9 m\u1ee5c l\u1edbn ho\u1eb7c m\u1ed9t giao d\u1ecbch ch\u01b0a \u0111\u01b0\u1ee3c cam k\u1ebft b\u1ecb b\u1ecf qu\u00ean) \u0111ang gi\u1eef cho nh\u1eadt k\u00fd \u1edf tr\u1ea1ng th\u00e1i ho\u1ea1t \u0111\u1ed9ng.<\/li>\n<li><strong>REPLICATION \/ CDC:<\/strong> Transactional Replication ho\u1eb7c Change Data Capture (CDC) \u0111ang \u0111\u01b0\u1ee3c b\u1eadt, v\u00e0 Log Reader Agent ch\u01b0a x\u1eed l\u00fd c\u00e1c giao d\u1ecbch \u0111\u00f3.<\/li>\n<li><strong>AVAILABILITY_REPLICA:<\/strong> Trong nh\u00f3m AlwaysOn Availability Group, m\u1ed9t b\u1ea3n sao ph\u1ee5 (secondary replica) b\u1ecb ng\u1eaft k\u1ebft n\u1ed1i ho\u1eb7c \u0111\u1ed3ng b\u1ed9 h\u00f3a qu\u00e1 ch\u1eadm, bu\u1ed9c b\u1ea3n sao ch\u00ednh (primary replica) ph\u1ea3i gi\u1eef l\u1ea1i c\u00e1c b\u1ea3n ghi nh\u1eadt k\u00fd cho \u0111\u1ebfn khi ch\u00fang \u0111\u01b0\u1ee3c ghi c\u1ee9ng tr\u00ean b\u1ea3n sao ph\u1ee5.<\/li>\n<\/ol>\n<h2>Chi\u1ebfn l\u01b0\u1ee3c kh\u00f4i ph\u1ee5c nhanh: Gi\u1ea3i quy\u1ebft s\u1ef1 c\u1ed1 trong m\u00f4i tr\u01b0\u1eddng s\u1ea3n xu\u1ea5t<\/h2>\n<p>T\u00f9y thu\u1ed9c v\u00e0o <code>log_reuse_wait_desc<\/code> \u0111\u01b0\u1ee3c tr\u1ea3 v\u1ec1, ph\u1ea3n \u1ee9ng kh\u1ea9n c\u1ea5p c\u1ee7a b\u1ea1n s\u1ebd kh\u00e1c nhau. D\u01b0\u1edbi \u0111\u00e2y l\u00e0 c\u00e1c chi\u1ebfn l\u01b0\u1ee3c kh\u00f4i ph\u1ee5c nhanh cho c\u00e1c t\u00ecnh hu\u1ed1ng ph\u1ed5 bi\u1ebfn nh\u1ea5t.<\/p>\n<h3>T\u00ecnh hu\u1ed1ng 1: Thi\u1ebfu ho\u1eb7c l\u1ed7i sao l\u01b0u nh\u1eadt k\u00fd (<code>LOG_BACKUP<\/code>)<\/h3>\n<p>N\u1ebfu lo\u1ea1i ch\u1edd l\u00e0 <code>LOG_BACKUP<\/code>, gi\u1ea3i ph\u00e1p r\u1ea5t \u0111\u01a1n gi\u1ea3n: b\u1ea1n ph\u1ea3i sao l\u01b0u nh\u1eadt k\u00fd giao d\u1ecbch.<\/p>\n<pre><code class=\"language-sql\">BACKUP LOG [YourDatabaseName] \nTO DISK = 'N:BackupsYourDatabaseName_EmergencyLog.trn' \nWITH COMPRESSION, STATS = 10;\n<\/code><\/pre>\n<p>Sau khi sao l\u01b0u ho\u00e0n t\u1ea5t, c\u00e1c VLF kh\u00f4ng ho\u1ea1t \u0111\u1ed9ng s\u1ebd \u0111\u01b0\u1ee3c c\u1eaft b\u1edbt v\u00e0 SQL Server s\u1ebd ti\u1ebfp t\u1ee5c ho\u1ea1t \u0111\u1ed9ng b\u00ecnh th\u01b0\u1eddng. N\u1ebfu \u1ed5 \u0111\u0129a sao l\u01b0u c\u1ee7a b\u1ea1n \u0111\u00e3 \u0111\u1ea7y, b\u1ea1n c\u00f3 th\u1ec3 c\u1ea7n sao l\u01b0u v\u00e0o m\u1ed9t th\u01b0 m\u1ee5c chia s\u1ebb m\u1ea1ng t\u1ea1m th\u1eddi ho\u1eb7c thi\u1ebft b\u1ecb null (r\u1ea5t kh\u00f4ng khuy\u1ebfn kh\u00edch tr\u1eeb khi c\u01a1 s\u1edf d\u1eef li\u1ec7u d\u1ec5 d\u00e0ng t\u00e1i t\u1ea1o, v\u00ec n\u00f3 l\u00e0m \u0111\u1ee9t chu\u1ed7i nh\u1eadt k\u00fd):<\/p>\n<pre><code class=\"language-sql\">-- C\u1ea2NH B\u00c1O: \u0110i\u1ec1u n\u00e0y l\u00e0m \u0111\u1ee9t chu\u1ed7i nh\u1eadt k\u00fd v\u00e0 \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn vi\u1ec7c kh\u00f4i ph\u1ee5c t\u1ea1i th\u1eddi \u0111i\u1ec3m c\u1ee5 th\u1ec3 (point-in-time recovery).\n-- Ch\u1ec9 s\u1eed d\u1ee5ng n\u1ebfu th\u1ef1c s\u1ef1 c\u1ea7n thi\u1ebft v\u00e0 th\u1ef1c hi\u1ec7n ngay sau \u0111\u00f3 b\u1eb1ng m\u1ed9t b\u1ea3n sao l\u01b0u FULL.\nBACKUP LOG [YourDatabaseName] TO DISK = 'NUL';\n<\/code><\/pre>\n<h3>T\u00ecnh hu\u1ed1ng 2: Giao d\u1ecbch ho\u1ea1t \u0111\u1ed9ng ch\u1ea1y d\u00e0i (<code>ACTIVE_TRANSACTION<\/code>)<\/h3>\n<p>N\u1ebfu m\u1ed9t giao d\u1ecbch duy nh\u1ea5t \u0111\u00e3 ch\u1ea1y trong nhi\u1ec1u gi\u1edd, n\u00f3 s\u1ebd ng\u0103n c\u1ea3n vi\u1ec7c c\u1eaft b\u1edbt nh\u1eadt k\u00fd trong su\u1ed1t th\u1eddi gian \u0111\u00f3. Tr\u01b0\u1edbc ti\u00ean, h\u00e3y x\u00e1c \u0111\u1ecbnh giao d\u1ecbch g\u00e2y ra v\u1ea5n \u0111\u1ec1:<\/p>\n<pre><code class=\"language-sql\">DBCC OPENTRAN('YourDatabaseName');\n<\/code><\/pre>\n<p>L\u1ec7nh n\u00e0y tr\u1ea3 v\u1ec1 giao d\u1ecbch ho\u1ea1t \u0111\u1ed9ng l\u00e2u nh\u1ea5t v\u00e0 ID ti\u1ebfn tr\u00ecnh m\u00e1y ch\u1ee7 (SPID) c\u1ee7a n\u00f3. B\u1ea1n c\u00f3 th\u1ec3 thu th\u1eadp th\u00eam chi ti\u1ebft v\u1ec1 nh\u1eefng g\u00ec SPID \u0111ang th\u1ef1c hi\u1ec7n b\u1eb1ng c\u00e1ch truy v\u1ea5n c\u00e1c view qu\u1ea3n l\u00fd \u0111\u1ed9ng (DMV):<\/p>\n<pre><code class=\"language-sql\">SELECT \n    s.session_id,\n    s.login_name,\n    s.host_name,\n    r.start_time,\n    r.status,\n    r.command,\n    t.text AS QueryText\nFROM sys.dm_exec_sessions s\nJOIN sys.dm_exec_requests r ON s.session_id = r.session_id\nCROSS APPLY sys.dm_exec_sql_text(r.sql_handle) t\nWHERE s.session_id = &lt;SPID_FROM_DBCC_OPENTRAN&gt;;\n<\/code><\/pre>\n<p>N\u1ebfu giao d\u1ecbch l\u00e0 m\u1ed9t truy v\u1ea5n b\u1ea5t th\u01b0\u1eddng ho\u1eb7c m\u1ed9t ti\u1ebfn tr\u00ecnh b\u1ecb treo, b\u1ea1n c\u00f3 th\u1ec3 c\u1ea7n ch\u1ea5m d\u1ee9t n\u00f3 \u0111\u1ec3 gi\u1ea3i ph\u00f3ng nh\u1eadt k\u00fd.<\/p>\n<pre><code class=\"language-sql\">KILL &lt;SPID&gt;;\n<\/code><\/pre>\n<p><em>L\u01b0u \u00fd: Vi\u1ec7c gi\u1ebft m\u1ed9t giao d\u1ecbch l\u1edbn s\u1ebd k\u00edch ho\u1ea1t qu\u00e1 tr\u00ecnh ho\u00e0n t\u00e1c (rollback), c\u00f3 th\u1ec3 m\u1ea5t m\u1ed9t kho\u1ea3ng th\u1eddi gian \u0111\u00e1ng k\u1ec3 v\u00e0 s\u1ebd t\u1ea1m th\u1eddi t\u1ea1o th\u00eam ho\u1ea1t \u0111\u1ed9ng nh\u1eadt k\u00fd. Kh\u00f4ng kh\u1edfi \u0111\u1ed9ng l\u1ea1i d\u1ecbch v\u1ee5 SQL Server trong khi \u0111ang ho\u00e0n t\u00e1c, n\u1ebfu kh\u00f4ng c\u01a1 s\u1edf d\u1eef li\u1ec7u s\u1ebd chuy\u1ec3n sang ch\u1ebf \u0111\u1ed9 kh\u00f4i ph\u1ee5c khi kh\u1edfi \u0111\u1ed9ng l\u1ea1i.<\/em><\/p>\n<h3>T\u00ecnh hu\u1ed1ng 3: C\u1ea5p ph\u00e1t kh\u00f4ng gian kh\u1ea9n c\u1ea5p (\u0110\u0129a \u0111\u1ea7y 100%)<\/h3>\n<p>N\u1ebfu t\u1ec7p LDF \u0111\u00e3 chi\u1ebfm to\u00e0n b\u1ed9 \u1ed5 \u0111\u0129a, b\u1ea1n th\u1eadm ch\u00ed kh\u00f4ng th\u1ec3 ch\u1ea1y sao l\u01b0u v\u00ec SQL Server y\u00eau c\u1ea7u m\u1ed9t l\u01b0\u1ee3ng nh\u1ecf kh\u00f4ng gian nh\u1eadt k\u00fd \u0111\u1ec3 ghi l\u1ea1i ch\u00ednh s\u1ef1 ki\u1ec7n sao l\u01b0u \u0111\u00f3. Trong t\u00ecnh hu\u1ed1ng n\u00e0y, b\u1ea1n ph\u1ea3i th\u00eam m\u1ed9t t\u1ec7p nh\u1eadt k\u00fd ph\u1ee5 tr\u00ean m\u1ed9t \u1ed5 \u0111\u0129a kh\u00e1c c\u00f2n dung l\u01b0\u1ee3ng tr\u1ed1ng.<\/p>\n<pre><code class=\"language-sql\">ALTER DATABASE [YourDatabaseName]\nADD LOG FILE \n(\n    NAME = N'YourDatabaseName_Log2',\n    FILENAME = N'E:TempLogsYourDatabaseName_Log2.ldf',\n    SIZE = 5GB,\n    MAXSIZE = 50GB,\n    FILEGROWTH = 1GB\n);\n<\/code><\/pre>\n<p>\u0110i\u1ec1u n\u00e0y ngay l\u1eadp t\u1ee9c cung c\u1ea5p cho SQL Server kh\u00f4ng gian \u0111\u1ec3 ho\u1ea1t \u0111\u1ed9ng. Sau khi c\u01a1 s\u1edf d\u1eef li\u1ec7u tr\u1ef1c tuy\u1ebfn, h\u00e3y th\u1ef1c hi\u1ec7n sao l\u01b0u nh\u1eadt k\u00fd giao d\u1ecbch, l\u00e0m tr\u1ed1ng t\u1ec7p nh\u1eadt k\u00fd ph\u1ee5 v\u00e0 x\u00f3a n\u00f3:<\/p>\n<pre><code class=\"language-sql\">-- 1. Th\u1ef1c hi\u1ec7n sao l\u01b0u nh\u1eadt k\u00fd \u0111\u1ec3 c\u1eaft b\u1edbt nh\u1eadt k\u00fd\nBACKUP LOG [YourDatabaseName] TO DISK = '...';\n\n-- 2. L\u00e0m tr\u1ed1ng t\u1ec7p nh\u1eadt k\u00fd t\u1ea1m th\u1eddi\nDBCC SHRINKFILE (N'YourDatabaseName_Log2', EMPTYFILE);\n\n-- 3. X\u00f3a t\u1ec7p nh\u1eadt k\u00fd t\u1ea1m th\u1eddi\nALTER DATABASE [YourDatabaseName] REMOVE FILE [YourDatabaseName_Log2];\n<\/code><\/pre>\n<h2>C\u00e1c ph\u01b0\u01a1ng ph\u00e1p th\u1ef1c h\u00e0nh t\u1ed1t nh\u1ea5t \u0111\u1ec3 ng\u0103n ch\u1eb7n v\u00e0 qu\u1ea3n l\u00fd Nh\u1eadt k\u00fd Giao d\u1ecbch<\/h2>\n<p>Kh\u1eafc ph\u1ee5c s\u1ef1 c\u1ed1 ph\u1ea3n \u1ee9ng r\u1ea5t c\u0103ng th\u1eb3ng v\u00e0 \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn SLA. Vi\u1ec7c tri\u1ec3n khai c\u00e1c ph\u01b0\u01a1ng ph\u00e1p th\u1ef1c h\u00e0nh t\u1ed1t nh\u1ea5t v\u1ec1 ki\u1ebfn tr\u00fac v\u00e0 v\u1eadn h\u00e0nh ch\u1ee7 \u0111\u1ed9ng l\u00e0 \u0111i\u1ec1u c\u1ea7n thi\u1ebft cho s\u1ef1 \u1ed5n \u0111\u1ecbnh c\u1ee7a c\u01a1 s\u1edf d\u1eef li\u1ec7u doanh nghi\u1ec7p.<\/p>\n<h3>1. Tri\u1ec3n khai chi\u1ebfn l\u01b0\u1ee3c sao l\u01b0u t\u1ef1 \u0111\u1ed9ng, m\u1ea1nh m\u1ebd<\/h3>\n<p>N\u1ebfu c\u01a1 s\u1edf d\u1eef li\u1ec7u \u0111ang \u1edf m\u00f4 h\u00ecnh ph\u1ee5c h\u1ed3i Full, vi\u1ec7c sao l\u01b0u nh\u1eadt k\u00fd giao d\u1ecbch th\u01b0\u1eddng xuy\u00ean l\u00e0 b\u1eaft bu\u1ed9c. T\u00f9y thu\u1ed9c v\u00e0o M\u1ee5c ti\u00eau \u0110i\u1ec3m Ph\u1ee5c h\u1ed3i (RPO) v\u00e0 kh\u1ed1i l\u01b0\u1ee3ng giao d\u1ecbch c\u1ee7a b\u1ea1n, c\u00e1c b\u1ea3n sao l\u01b0u nh\u1eadt k\u00fd n\u00ean di\u1ec5n ra t\u1eeb 5 \u0111\u1ebfn 15 ph\u00fat m\u1ed9t l\u1ea7n.<\/p>\n<p>C\u00e1c gi\u1ea3i ph\u00e1p sao l\u01b0u doanh nghi\u1ec7p nh\u01b0 CloudSave \u0111\u01a1n gi\u1ea3n h\u00f3a \u0111\u00e1ng k\u1ec3 quy tr\u00ecnh n\u00e0y. B\u1eb1ng c\u00e1ch t\u00edch h\u1ee3p tr\u1ef1c ti\u1ebfp v\u1edbi SQL Server th\u00f4ng qua VDI (Virtual Device Interface), CloudSave cho ph\u00e9p c\u00e1c DBA c\u1ea5u h\u00ecnh c\u00e1c b\u1ea3n sao l\u01b0u nh\u1eadt k\u00fd giao d\u1ecbch t\u1ea7n su\u1ea5t cao, d\u1ef1a tr\u00ean ch\u00ednh s\u00e1ch. \u0110i\u1ec1u n\u00e0y \u0111\u1ea3m b\u1ea3o nh\u1eadt k\u00fd \u0111\u01b0\u1ee3c c\u1eaft b\u1edbt li\u00ean t\u1ee5c, m\u00e3 h\u00f3a an to\u00e0n v\u00e0 l\u01b0u tr\u1eef ngo\u00e0i trang web ho\u1eb7c trong b\u1ed9 l\u01b0u tr\u1eef \u0111\u00e1m m\u00e2y b\u1ea5t bi\u1ebfn, ng\u0103n ch\u1eb7n tr\u1ea1ng th\u00e1i ch\u1edd <code>LOG_BACKUP<\/code> m\u00e0 kh\u00f4ng c\u1ea7n c\u00e1c c\u00f4ng vi\u1ec7c SQL Agent t\u00f9y ch\u1ec9nh ph\u1ee9c t\u1ea1p.<\/p>\n<h3>2. \u0110\u1ecbnh c\u1ee1 \u0111\u00fang Nh\u1eadt k\u00fd Giao d\u1ecbch v\u00e0 qu\u1ea3n l\u00fd VLF<\/h3>\n<p>D\u1ef1a v\u00e0o t\u00ednh n\u0103ng t\u1ef1 \u0111\u1ed9ng m\u1edf r\u1ed9ng \u0111\u1ec3 qu\u1ea3n l\u00fd k\u00edch th\u01b0\u1edbc nh\u1eadt k\u00fd giao d\u1ecbch l\u00e0 m\u1ed9t ki\u1ec3u ch\u1ed1ng m\u1eabu (anti-pattern) nguy hi\u1ec3m. C\u00e1c thao t\u00e1c t\u1ef1 \u0111\u1ed9ng m\u1edf r\u1ed9ng r\u1ea5t t\u1ed1n k\u00e9m v\u00e0 t\u1ea1m d\u1eebng x\u1eed l\u00fd giao d\u1ecbch trong khi \u0111\u0129a \u0111\u01b0\u1ee3c kh\u1edfi t\u1ea1o b\u1eb1ng 0 (tr\u1eeb khi Instant File Initialization \u0111\u01b0\u1ee3c b\u1eadt, \u0111i\u1ec1u n\u00e0y <em>kh\u00f4ng<\/em> \u00e1p d\u1ee5ng cho c\u00e1c t\u1ec7p nh\u1eadt k\u00fd).<\/p>\n<p>H\u01a1n n\u1eefa, vi\u1ec7c t\u1ef1 \u0111\u1ed9ng m\u1edf r\u1ed9ng th\u01b0\u1eddng xuy\u00ean, nh\u1ecf l\u1ebb (v\u00ed d\u1ee5: t\u0103ng 10% ho\u1eb7c 50MB m\u1ed7i l\u1ea7n) d\u1eabn \u0111\u1ebfn <strong>ph\u00e2n m\u1ea3nh VLF<\/strong>. M\u1ed9t nh\u1eadt k\u00fd giao d\u1ecbch v\u1edbi h\u00e0ng ng\u00e0n VLF nh\u1ecf s\u1ebd l\u00e0m gi\u1ea3m nghi\u00eam tr\u1ecdng th\u1eddi gian kh\u1edfi \u0111\u1ed9ng c\u01a1 s\u1edf d\u1eef li\u1ec7u, hi\u1ec7u su\u1ea5t sao l\u01b0u v\u00e0 \u0111\u1ed9 tr\u1ec5 sao ch\u00e9p.<\/p>\n<ul>\n<li><strong>\u0110\u1ecbnh c\u1ee1 tr\u01b0\u1edbc nh\u1eadt k\u00fd:<\/strong> Ph\u00e2n t\u00edch c\u00e1c thao t\u00e1c b\u1ea3o tr\u00ec l\u1edbn nh\u1ea5t c\u1ee7a b\u1ea1n (nh\u01b0 x\u00e2y d\u1ef1ng l\u1ea1i ch\u1ec9 m\u1ee5c) v\u00e0 \u0111\u1ecbnh c\u1ee1 tr\u01b0\u1edbc t\u1ec7p LDF \u0111\u1ec3 \u0111\u00e1p \u1ee9ng ch\u00fang m\u00e0 kh\u00f4ng c\u1ea7n m\u1edf r\u1ed9ng.<\/li>\n<li><strong>\u0110\u1eb7t m\u1ee9c t\u1ef1 \u0111\u1ed9ng m\u1edf r\u1ed9ng c\u1ed1 \u0111\u1ecbnh:<\/strong> Thay \u0111\u1ed5i t\u1ef1 \u0111\u1ed9ng m\u1edf r\u1ed9ng t\u1eeb t\u1ef7 l\u1ec7 ph\u1ea7n tr\u0103m sang k\u00edch th\u01b0\u1edbc c\u1ed1 \u0111\u1ecbnh (v\u00ed d\u1ee5: 1GB ho\u1eb7c 5GB) \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o c\u00e1c VLF \u0111\u01b0\u1ee3c t\u1ea1o \u1edf k\u00edch th\u01b0\u1edbc h\u1ee3p l\u00fd.<\/li>\n<\/ul>\n<p>B\u1ea1n c\u00f3 th\u1ec3 ki\u1ec3m tra s\u1ed1 l\u01b0\u1ee3ng VLF c\u1ee7a m\u00ecnh b\u1eb1ng truy v\u1ea5n sau (cho SQL Server 2017 tr\u1edf l\u00ean):<\/p>\n<pre><code class=\"language-sql\">SELECT \n    db_name(database_id) AS DatabaseName,\n    COUNT(vlf_sequence_number) AS VLF_Count\nFROM sys.dm_db_log_info(DB_ID('YourDatabaseName'));\n<\/code><\/pre>\n<p>N\u1ebfu s\u1ed1 l\u01b0\u1ee3ng VLF c\u1ee7a b\u1ea1n tr\u00ean 500, h\u00e3y c\u00e2n nh\u1eafc \u0111\u1ee3i th\u1eddi \u0111i\u1ec3m \u00edt ho\u1ea1t \u0111\u1ed9ng, thu nh\u1ecf nh\u1eadt k\u00fd v\u1ec1 k\u00edch th\u01b0\u1edbc t\u1ed1i thi\u1ec3u v\u00e0 th\u1ee7 c\u00f4ng m\u1edf r\u1ed9ng n\u00f3 tr\u1edf l\u1ea1i k\u00edch th\u01b0\u1edbc y\u00eau c\u1ea7u theo c\u00e1c kh\u1ed1i l\u1edbn.<\/p>\n<h3>3. T\u1ed1i \u01b0u h\u00f3a c\u00e1c thao t\u00e1c b\u1ea3o tr\u00ec ch\u1ec9 m\u1ee5c<\/h3>\n<p>X\u00e2y d\u1ef1ng l\u1ea1i ch\u1ec9 m\u1ee5c l\u00e0 c\u00e1c thao t\u00e1c \u0111\u01b0\u1ee3c ghi nh\u1eadt k\u00fd \u0111\u1ea7y \u0111\u1ee7, ngay c\u1ea3 trong m\u00f4 h\u00ecnh ph\u1ee5c h\u1ed3i Bulk-Logged (t\u00f9y thu\u1ed9c v\u00e0o lo\u1ea1i ch\u1ec9 m\u1ee5c). Vi\u1ec7c x\u00e2y d\u1ef1ng l\u1ea1i m\u1ed9t ch\u1ec9 m\u1ee5c 500GB s\u1ebd t\u1ea1o ra \u00edt nh\u1ea5t 500GB b\u1ea3n ghi nh\u1eadt k\u00fd giao d\u1ecbch.<\/p>\n<p>\u0110\u1ec3 gi\u1ea3m thi\u1ec3u t\u00ecnh tr\u1ea1ng ph\u00ecnh to nh\u1eadt k\u00fd trong qu\u00e1 tr\u00ecnh b\u1ea3o tr\u00ec:<br \/>\n*   S\u1eed d\u1ee5ng <code>SORT_IN_TEMPDB = ON<\/code> khi x\u00e2y d\u1ef1ng l\u1ea1i ch\u1ec9 m\u1ee5c. \u0110i\u1ec1u n\u00e0y chuy\u1ec3n giai \u0111o\u1ea1n s\u1eafp x\u1ebfp sang TempDB, gi\u1ea3m b\u1edbt g\u00e1nh n\u1eb7ng cho nh\u1eadt k\u00fd giao d\u1ecbch c\u1ee7a c\u01a1 s\u1edf d\u1eef li\u1ec7u ng\u01b0\u1eddi d\u00f9ng.<br \/>\n*   Chuy\u1ec3n t\u1eeb <em>x\u00e2y d\u1ef1ng l\u1ea1i (rebuild)<\/em> ch\u1ec9 m\u1ee5c sang <em>t\u1ed5 ch\u1ee9c l\u1ea1i (reorganize)<\/em> ch\u1ec9 m\u1ee5c \u1edf nh\u1eefng n\u01a1i c\u00f3 th\u1ec3, v\u00ec vi\u1ec7c t\u1ed5 ch\u1ee9c l\u1ea1i hi\u1ec7u qu\u1ea3 h\u01a1n v\u1ec1 nh\u1eadt k\u00fd v\u00e0 c\u00f3 th\u1ec3 b\u1ecb gi\u00e1n \u0111o\u1ea1n m\u00e0 kh\u00f4ng c\u1ea7n ho\u00e0n t\u00e1c to\u00e0n b\u1ed9 thao t\u00e1c.<br \/>\n*   G\u1ed9p c\u00e1c thao t\u00e1c <code>DELETE<\/code> ho\u1eb7c <code>UPDATE<\/code> l\u1edbn. Thay v\u00ec x\u00f3a 10 tri\u1ec7u h\u00e0ng trong m\u1ed9t giao d\u1ecbch, h\u00e3y x\u00f3a ch\u00fang theo t\u1eebng kh\u1ed1i 50.000 h\u00e0ng, cam k\u1ebft v\u00e0 cho ph\u00e9p sao l\u01b0u nh\u1eadt k\u00fd c\u1eaft b\u1edbt nh\u1eadt k\u00fd gi\u1eefa c\u00e1c \u0111\u1ee3t.<\/p>\n<h3>4. Gi\u00e1m s\u00e1t t\u00ednh s\u1eb5n s\u00e0ng cao v\u00e0 c\u00e1c c\u1ea5u tr\u00fac sao ch\u00e9p<\/h3>\n<p>Trong c\u00e1c nh\u00f3m AlwaysOn Availability Groups, b\u1ea3n sao ch\u00ednh kh\u00f4ng th\u1ec3 c\u1eaft b\u1edbt nh\u1eadt k\u00fd c\u1ee7a n\u00f3 cho \u0111\u1ebfn khi c\u00e1c b\u1ea3n ghi nh\u1eadt k\u00fd \u0111\u00e3 \u0111\u01b0\u1ee3c ghi c\u1ee9ng tr\u00ean t\u1ea5t c\u1ea3 c\u00e1c b\u1ea3n sao ph\u1ee5 \u0111\u1ed3ng b\u1ed9 v\u00e0 kh\u00f4ng \u0111\u1ed3ng b\u1ed9.<\/p>\n<p>N\u1ebfu m\u1ed9t b\u1ea3n sao ph\u1ee5 ngo\u1ea1i tuy\u1ebfn, ho\u1eb7c n\u1ebfu b\u0103ng th\u00f4ng m\u1ea1ng kh\u00f4ng th\u1ec3 theo k\u1ecbp t\u1ed1c \u0111\u1ed9 t\u1ea1o giao d\u1ecbch c\u1ee7a b\u1ea3n sao ch\u00ednh, h\u00e0ng \u0111\u1ee3i g\u1eedi c\u1ee7a b\u1ea3n sao ch\u00ednh s\u1ebd t\u0103ng l\u00ean v\u00e0 nh\u1eadt k\u00fd s\u1ebd \u0111\u1ea7y (lo\u1ea1i ch\u1edd <code>AVAILABILITY_REPLICA<\/code>).<\/p>\n<p>Tri\u1ec3n khai gi\u00e1m s\u00e1t m\u1ea1nh m\u1ebd cho b\u1ed9 \u0111\u1ebfm hi\u1ec7u su\u1ea5t <code>SQLServer:Replica &gt; Log Send Queue<\/code>. N\u1ebfu m\u1ed9t b\u1ea3n sao ph\u1ee5 b\u1ecb m\u1ea5t v\u0129nh vi\u1ec5n, b\u1ea1n ph\u1ea3i x\u00f3a n\u00f3 kh\u1ecfi Availability Group ho\u1eb7c t\u1ea1m d\u1eebng di chuy\u1ec3n d\u1eef li\u1ec7u \u0111\u1ec3 cho ph\u00e9p nh\u1eadt k\u00fd ch\u00ednh c\u1eaft b\u1edbt.<\/p>\n<h2>K\u1ebft lu\u1eadn<\/h2>\n<p>Vi\u1ec7c g\u1eb7p ph\u1ea3i nh\u1eadt k\u00fd giao d\u1ecbch \u0111\u1ea7y l\u00e0 m\u1ed9t th\u1eed th\u00e1ch \u0111\u1ed1i v\u1edbi c\u00e1c qu\u1ea3n tr\u1ecb vi\u00ean c\u01a1 s\u1edf d\u1eef li\u1ec7u, nh\u01b0ng n\u00f3 kh\u00f4ng nh\u1ea5t thi\u1ebft ph\u1ea3i d\u1eabn \u0111\u1ebfn th\u1eddi gian ng\u1eebng ho\u1ea1t \u0111\u1ed9ng k\u00e9o d\u00e0i. B\u1eb1ng c\u00e1ch hi\u1ec3u c\u01a1 ch\u1ebf c\u1ee7a Ghi nh\u1eadt k\u00fd tr\u01b0\u1edbc v\u00e0 VLF, b\u1ea1n c\u00f3 th\u1ec3 nhanh ch\u00f3ng ch\u1ea9n \u0111o\u00e1n nguy\u00ean nh\u00e2n g\u1ed1c r\u1ec5 b\u1eb1ng <code>sys.databases<\/code> v\u00e0 \u00e1p d\u1ee5ng chi\u1ebfn l\u01b0\u1ee3c kh\u00f4i ph\u1ee5c nhanh ch\u00ednh x\u00e1c.<\/p>\n<p>S\u1ef1 \u1ed5n \u0111\u1ecbnh l\u00e2u d\u00e0i d\u1ef1a v\u00e0o vi\u1ec7c chuy\u1ec3n d\u1ecbch kh\u1ecfi c\u00e1c b\u1ea3n s\u1eeda l\u1ed7i ph\u1ea3n \u1ee9ng. Vi\u1ec7c \u0111\u1ecbnh c\u1ee1 tr\u01b0\u1edbc c\u00e1c t\u1ec7p nh\u1eadt k\u00fd, t\u1ed1i \u01b0u h\u00f3a c\u00e1c quy tr\u00ecnh b\u1ea3o tr\u00ec v\u00e0 s\u1eed d\u1ee5ng c\u00e1c n\u1ec1n t\u1ea3ng sao l\u01b0u c\u1ea5p doanh nghi\u1ec7p nh\u01b0 CloudSave \u0111\u1ec3 th\u1ef1c thi c\u00e1c l\u1ecbch tr\u00ecnh sao l\u01b0u nh\u1eadt k\u00fd t\u1ef1 \u0111\u1ed9ng, nghi\u00eam ng\u1eb7t s\u1ebd \u0111\u1ea3m b\u1ea3o nh\u1eadt k\u00fd giao d\u1ecbch c\u1ee7a b\u1ea1n lu\u00f4n kh\u1ecfe m\u1ea1nh, \u0111\u01b0\u1ee3c c\u1eaft b\u1edbt v\u00e0 s\u1eb5n s\u00e0ng h\u1ed7 tr\u1ee3 c\u00e1c kh\u1ed1i l\u01b0\u1ee3ng c\u00f4ng vi\u1ec7c s\u1ea3n xu\u1ea5t c\u00f3 l\u01b0u l\u01b0\u1ee3ng cao.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>** Discover expert strategies for preventing and resolving MSSQL transaction log full errors (Error 9002). Learn rapid recovery techniques, VLF management, and architectural best practices for DBAs.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"MSSQL Transaction Log Full: Prevention & Recovery","rank_math_description":"** Discover expert strategies for preventing and resolving MSSQL transaction log full errors (Error 9002). Learn rapid recovery techniques, VLF management, and architectural best practices for DBAs.","rank_math_focus_keyword":"MSSQL transaction log full","footnotes":""},"categories":[767],"tags":[1228,4286,4287,4288,4289,4290,4291],"class_list":["post-5938","post","type-post","status-publish","format-standard","hentry","category-database-backup","tag-database-administration","tag-error-9002","tag-log-backup","tag-mssql","tag-sql-recovery","tag-sql-server","tag-transaction-log"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.7 (Yoast SEO v27.7) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>MSSQL Transaction Log Full: Prevention &amp; Recovery<\/title>\n<meta name=\"description\" content=\"** Discover expert strategies for preventing and resolving MSSQL transaction log full errors (Error 9002). Learn rapid recovery techniques, VLF management, and architectural best practices for DBAs.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cloudsave.app\/vi\/knowledge-base\/nh%e1%ba%adt-k%c3%bd-giao-d%e1%bb%8bch-mssql-b%e1%bb%8b-%c4%91%e1%ba%a7y-c%c3%a1c-chi%e1%ba%bfn-l%c6%b0%e1%bb%a3c-ph%c3%b2ng-ng%e1%bb%aba-v%c3%a0-ph%e1%bb%a5c-h%e1%bb%93i-nhanh-ch%c3%b3ng\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Nh\u1eadt k\u00fd giao d\u1ecbch MSSQL b\u1ecb \u0111\u1ea7y: C\u00e1c chi\u1ebfn l\u01b0\u1ee3c ph\u00f2ng ng\u1eeba v\u00e0 ph\u1ee5c h\u1ed3i nhanh ch\u00f3ng\" \/>\n<meta property=\"og:description\" content=\"** Discover expert strategies for preventing and resolving MSSQL transaction log full errors (Error 9002). Learn rapid recovery techniques, VLF management, and architectural best practices for DBAs.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudsave.app\/vi\/knowledge-base\/nh%e1%ba%adt-k%c3%bd-giao-d%e1%bb%8bch-mssql-b%e1%bb%8b-%c4%91%e1%ba%a7y-c%c3%a1c-chi%e1%ba%bfn-l%c6%b0%e1%bb%a3c-ph%c3%b2ng-ng%e1%bb%aba-v%c3%a0-ph%e1%bb%a5c-h%e1%bb%93i-nhanh-ch%c3%b3ng\/\" \/>\n<meta property=\"og:site_name\" content=\"CloudSave\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-16T16:15:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-16T17:16:27+00:00\" \/>\n<meta name=\"author\" content=\"shervinrv\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi\" \/>\n\t<meta name=\"twitter:data1\" content=\"shervinrv\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data2\" content=\"20 ph\u00fat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/cloudsave.app\\\/vi\\\/knowledge-base\\\/nh%e1%ba%adt-k%c3%bd-giao-d%e1%bb%8bch-mssql-b%e1%bb%8b-%c4%91%e1%ba%a7y-c%c3%a1c-chi%e1%ba%bfn-l%c6%b0%e1%bb%a3c-ph%c3%b2ng-ng%e1%bb%aba-v%c3%a0-ph%e1%bb%a5c-h%e1%bb%93i-nhanh-ch%c3%b3ng\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cloudsave.app\\\/vi\\\/knowledge-base\\\/nh%e1%ba%adt-k%c3%bd-giao-d%e1%bb%8bch-mssql-b%e1%bb%8b-%c4%91%e1%ba%a7y-c%c3%a1c-chi%e1%ba%bfn-l%c6%b0%e1%bb%a3c-ph%c3%b2ng-ng%e1%bb%aba-v%c3%a0-ph%e1%bb%a5c-h%e1%bb%93i-nhanh-ch%c3%b3ng\\\/\"},\"author\":{\"name\":\"shervinrv\",\"@id\":\"https:\\\/\\\/cloudsave.app\\\/vi\\\/#\\\/schema\\\/person\\\/286beefe68281d868e87f46603a7ae4d\"},\"headline\":\"Nh\u1eadt k\u00fd giao d\u1ecbch MSSQL b\u1ecb \u0111\u1ea7y: C\u00e1c chi\u1ebfn l\u01b0\u1ee3c ph\u00f2ng ng\u1eeba v\u00e0 ph\u1ee5c h\u1ed3i nhanh ch\u00f3ng\",\"datePublished\":\"2026-06-16T16:15:28+00:00\",\"dateModified\":\"2026-06-16T17:16:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/cloudsave.app\\\/vi\\\/knowledge-base\\\/nh%e1%ba%adt-k%c3%bd-giao-d%e1%bb%8bch-mssql-b%e1%bb%8b-%c4%91%e1%ba%a7y-c%c3%a1c-chi%e1%ba%bfn-l%c6%b0%e1%bb%a3c-ph%c3%b2ng-ng%e1%bb%aba-v%c3%a0-ph%e1%bb%a5c-h%e1%bb%93i-nhanh-ch%c3%b3ng\\\/\"},\"wordCount\":3619,\"publisher\":{\"@id\":\"https:\\\/\\\/cloudsave.app\\\/vi\\\/#\\\/schema\\\/person\\\/286beefe68281d868e87f46603a7ae4d\"},\"keywords\":[\"Database Administration\",\"Error 9002\",\"Log Backup\",\"MSSQL\",\"SQL Recovery\",\"SQL Server\",\"Transaction Log\"],\"articleSection\":[\"Database Backup\"],\"inLanguage\":\"vi\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/cloudsave.app\\\/vi\\\/knowledge-base\\\/nh%e1%ba%adt-k%c3%bd-giao-d%e1%bb%8bch-mssql-b%e1%bb%8b-%c4%91%e1%ba%a7y-c%c3%a1c-chi%e1%ba%bfn-l%c6%b0%e1%bb%a3c-ph%c3%b2ng-ng%e1%bb%aba-v%c3%a0-ph%e1%bb%a5c-h%e1%bb%93i-nhanh-ch%c3%b3ng\\\/\",\"url\":\"https:\\\/\\\/cloudsave.app\\\/vi\\\/knowledge-base\\\/nh%e1%ba%adt-k%c3%bd-giao-d%e1%bb%8bch-mssql-b%e1%bb%8b-%c4%91%e1%ba%a7y-c%c3%a1c-chi%e1%ba%bfn-l%c6%b0%e1%bb%a3c-ph%c3%b2ng-ng%e1%bb%aba-v%c3%a0-ph%e1%bb%a5c-h%e1%bb%93i-nhanh-ch%c3%b3ng\\\/\",\"name\":\"MSSQL Transaction Log Full: Prevention & Recovery\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cloudsave.app\\\/vi\\\/#website\"},\"datePublished\":\"2026-06-16T16:15:28+00:00\",\"dateModified\":\"2026-06-16T17:16:27+00:00\",\"description\":\"** Discover expert strategies for preventing and resolving MSSQL transaction log full errors (Error 9002). Learn rapid recovery techniques, VLF management, and architectural best practices for DBAs.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/cloudsave.app\\\/vi\\\/knowledge-base\\\/nh%e1%ba%adt-k%c3%bd-giao-d%e1%bb%8bch-mssql-b%e1%bb%8b-%c4%91%e1%ba%a7y-c%c3%a1c-chi%e1%ba%bfn-l%c6%b0%e1%bb%a3c-ph%c3%b2ng-ng%e1%bb%aba-v%c3%a0-ph%e1%bb%a5c-h%e1%bb%93i-nhanh-ch%c3%b3ng\\\/#breadcrumb\"},\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/cloudsave.app\\\/vi\\\/knowledge-base\\\/nh%e1%ba%adt-k%c3%bd-giao-d%e1%bb%8bch-mssql-b%e1%bb%8b-%c4%91%e1%ba%a7y-c%c3%a1c-chi%e1%ba%bfn-l%c6%b0%e1%bb%a3c-ph%c3%b2ng-ng%e1%bb%aba-v%c3%a0-ph%e1%bb%a5c-h%e1%bb%93i-nhanh-ch%c3%b3ng\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/cloudsave.app\\\/vi\\\/knowledge-base\\\/nh%e1%ba%adt-k%c3%bd-giao-d%e1%bb%8bch-mssql-b%e1%bb%8b-%c4%91%e1%ba%a7y-c%c3%a1c-chi%e1%ba%bfn-l%c6%b0%e1%bb%a3c-ph%c3%b2ng-ng%e1%bb%aba-v%c3%a0-ph%e1%bb%a5c-h%e1%bb%93i-nhanh-ch%c3%b3ng\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/cloudsave.app\\\/vi\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Nh\u1eadt k\u00fd giao d\u1ecbch MSSQL b\u1ecb \u0111\u1ea7y: C\u00e1c chi\u1ebfn l\u01b0\u1ee3c ph\u00f2ng ng\u1eeba v\u00e0 ph\u1ee5c h\u1ed3i nhanh ch\u00f3ng\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/cloudsave.app\\\/vi\\\/#website\",\"url\":\"https:\\\/\\\/cloudsave.app\\\/vi\\\/\",\"name\":\"CloudSave\",\"description\":\"CloudSave\",\"publisher\":{\"@id\":\"https:\\\/\\\/cloudsave.app\\\/vi\\\/#\\\/schema\\\/person\\\/286beefe68281d868e87f46603a7ae4d\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/cloudsave.app\\\/vi\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"vi\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/cloudsave.app\\\/vi\\\/#\\\/schema\\\/person\\\/286beefe68281d868e87f46603a7ae4d\",\"name\":\"shervinrv\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\\\/\\\/cloudsave.app\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/Logo_Name-2.png\",\"url\":\"https:\\\/\\\/cloudsave.app\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/Logo_Name-2.png\",\"contentUrl\":\"https:\\\/\\\/cloudsave.app\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/Logo_Name-2.png\",\"width\":859,\"height\":150,\"caption\":\"shervinrv\"},\"logo\":{\"@id\":\"https:\\\/\\\/cloudsave.app\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/Logo_Name-2.png\"},\"sameAs\":[\"http:\\\/\\\/cloudsave.app\"],\"url\":\"https:\\\/\\\/cloudsave.app\\\/vi\\\/knowledge-base\\\/author\\\/shervinrv\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"MSSQL Transaction Log Full: Prevention & Recovery","description":"** Discover expert strategies for preventing and resolving MSSQL transaction log full errors (Error 9002). Learn rapid recovery techniques, VLF management, and architectural best practices for DBAs.","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:\/\/cloudsave.app\/vi\/knowledge-base\/nh%e1%ba%adt-k%c3%bd-giao-d%e1%bb%8bch-mssql-b%e1%bb%8b-%c4%91%e1%ba%a7y-c%c3%a1c-chi%e1%ba%bfn-l%c6%b0%e1%bb%a3c-ph%c3%b2ng-ng%e1%bb%aba-v%c3%a0-ph%e1%bb%a5c-h%e1%bb%93i-nhanh-ch%c3%b3ng\/","og_locale":"vi_VN","og_type":"article","og_title":"Nh\u1eadt k\u00fd giao d\u1ecbch MSSQL b\u1ecb \u0111\u1ea7y: C\u00e1c chi\u1ebfn l\u01b0\u1ee3c ph\u00f2ng ng\u1eeba v\u00e0 ph\u1ee5c h\u1ed3i nhanh ch\u00f3ng","og_description":"** Discover expert strategies for preventing and resolving MSSQL transaction log full errors (Error 9002). Learn rapid recovery techniques, VLF management, and architectural best practices for DBAs.","og_url":"https:\/\/cloudsave.app\/vi\/knowledge-base\/nh%e1%ba%adt-k%c3%bd-giao-d%e1%bb%8bch-mssql-b%e1%bb%8b-%c4%91%e1%ba%a7y-c%c3%a1c-chi%e1%ba%bfn-l%c6%b0%e1%bb%a3c-ph%c3%b2ng-ng%e1%bb%aba-v%c3%a0-ph%e1%bb%a5c-h%e1%bb%93i-nhanh-ch%c3%b3ng\/","og_site_name":"CloudSave","article_published_time":"2026-06-16T16:15:28+00:00","article_modified_time":"2026-06-16T17:16:27+00:00","author":"shervinrv","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"shervinrv","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"20 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/cloudsave.app\/vi\/knowledge-base\/nh%e1%ba%adt-k%c3%bd-giao-d%e1%bb%8bch-mssql-b%e1%bb%8b-%c4%91%e1%ba%a7y-c%c3%a1c-chi%e1%ba%bfn-l%c6%b0%e1%bb%a3c-ph%c3%b2ng-ng%e1%bb%aba-v%c3%a0-ph%e1%bb%a5c-h%e1%bb%93i-nhanh-ch%c3%b3ng\/#article","isPartOf":{"@id":"https:\/\/cloudsave.app\/vi\/knowledge-base\/nh%e1%ba%adt-k%c3%bd-giao-d%e1%bb%8bch-mssql-b%e1%bb%8b-%c4%91%e1%ba%a7y-c%c3%a1c-chi%e1%ba%bfn-l%c6%b0%e1%bb%a3c-ph%c3%b2ng-ng%e1%bb%aba-v%c3%a0-ph%e1%bb%a5c-h%e1%bb%93i-nhanh-ch%c3%b3ng\/"},"author":{"name":"shervinrv","@id":"https:\/\/cloudsave.app\/vi\/#\/schema\/person\/286beefe68281d868e87f46603a7ae4d"},"headline":"Nh\u1eadt k\u00fd giao d\u1ecbch MSSQL b\u1ecb \u0111\u1ea7y: C\u00e1c chi\u1ebfn l\u01b0\u1ee3c ph\u00f2ng ng\u1eeba v\u00e0 ph\u1ee5c h\u1ed3i nhanh ch\u00f3ng","datePublished":"2026-06-16T16:15:28+00:00","dateModified":"2026-06-16T17:16:27+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudsave.app\/vi\/knowledge-base\/nh%e1%ba%adt-k%c3%bd-giao-d%e1%bb%8bch-mssql-b%e1%bb%8b-%c4%91%e1%ba%a7y-c%c3%a1c-chi%e1%ba%bfn-l%c6%b0%e1%bb%a3c-ph%c3%b2ng-ng%e1%bb%aba-v%c3%a0-ph%e1%bb%a5c-h%e1%bb%93i-nhanh-ch%c3%b3ng\/"},"wordCount":3619,"publisher":{"@id":"https:\/\/cloudsave.app\/vi\/#\/schema\/person\/286beefe68281d868e87f46603a7ae4d"},"keywords":["Database Administration","Error 9002","Log Backup","MSSQL","SQL Recovery","SQL Server","Transaction Log"],"articleSection":["Database Backup"],"inLanguage":"vi"},{"@type":"WebPage","@id":"https:\/\/cloudsave.app\/vi\/knowledge-base\/nh%e1%ba%adt-k%c3%bd-giao-d%e1%bb%8bch-mssql-b%e1%bb%8b-%c4%91%e1%ba%a7y-c%c3%a1c-chi%e1%ba%bfn-l%c6%b0%e1%bb%a3c-ph%c3%b2ng-ng%e1%bb%aba-v%c3%a0-ph%e1%bb%a5c-h%e1%bb%93i-nhanh-ch%c3%b3ng\/","url":"https:\/\/cloudsave.app\/vi\/knowledge-base\/nh%e1%ba%adt-k%c3%bd-giao-d%e1%bb%8bch-mssql-b%e1%bb%8b-%c4%91%e1%ba%a7y-c%c3%a1c-chi%e1%ba%bfn-l%c6%b0%e1%bb%a3c-ph%c3%b2ng-ng%e1%bb%aba-v%c3%a0-ph%e1%bb%a5c-h%e1%bb%93i-nhanh-ch%c3%b3ng\/","name":"MSSQL Transaction Log Full: Prevention & Recovery","isPartOf":{"@id":"https:\/\/cloudsave.app\/vi\/#website"},"datePublished":"2026-06-16T16:15:28+00:00","dateModified":"2026-06-16T17:16:27+00:00","description":"** Discover expert strategies for preventing and resolving MSSQL transaction log full errors (Error 9002). Learn rapid recovery techniques, VLF management, and architectural best practices for DBAs.","breadcrumb":{"@id":"https:\/\/cloudsave.app\/vi\/knowledge-base\/nh%e1%ba%adt-k%c3%bd-giao-d%e1%bb%8bch-mssql-b%e1%bb%8b-%c4%91%e1%ba%a7y-c%c3%a1c-chi%e1%ba%bfn-l%c6%b0%e1%bb%a3c-ph%c3%b2ng-ng%e1%bb%aba-v%c3%a0-ph%e1%bb%a5c-h%e1%bb%93i-nhanh-ch%c3%b3ng\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudsave.app\/vi\/knowledge-base\/nh%e1%ba%adt-k%c3%bd-giao-d%e1%bb%8bch-mssql-b%e1%bb%8b-%c4%91%e1%ba%a7y-c%c3%a1c-chi%e1%ba%bfn-l%c6%b0%e1%bb%a3c-ph%c3%b2ng-ng%e1%bb%aba-v%c3%a0-ph%e1%bb%a5c-h%e1%bb%93i-nhanh-ch%c3%b3ng\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/cloudsave.app\/vi\/knowledge-base\/nh%e1%ba%adt-k%c3%bd-giao-d%e1%bb%8bch-mssql-b%e1%bb%8b-%c4%91%e1%ba%a7y-c%c3%a1c-chi%e1%ba%bfn-l%c6%b0%e1%bb%a3c-ph%c3%b2ng-ng%e1%bb%aba-v%c3%a0-ph%e1%bb%a5c-h%e1%bb%93i-nhanh-ch%c3%b3ng\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudsave.app\/vi\/"},{"@type":"ListItem","position":2,"name":"Nh\u1eadt k\u00fd giao d\u1ecbch MSSQL b\u1ecb \u0111\u1ea7y: C\u00e1c chi\u1ebfn l\u01b0\u1ee3c ph\u00f2ng ng\u1eeba v\u00e0 ph\u1ee5c h\u1ed3i nhanh ch\u00f3ng"}]},{"@type":"WebSite","@id":"https:\/\/cloudsave.app\/vi\/#website","url":"https:\/\/cloudsave.app\/vi\/","name":"CloudSave","description":"CloudSave","publisher":{"@id":"https:\/\/cloudsave.app\/vi\/#\/schema\/person\/286beefe68281d868e87f46603a7ae4d"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cloudsave.app\/vi\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":["Person","Organization"],"@id":"https:\/\/cloudsave.app\/vi\/#\/schema\/person\/286beefe68281d868e87f46603a7ae4d","name":"shervinrv","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/cloudsave.app\/wp-content\/uploads\/2026\/02\/Logo_Name-2.png","url":"https:\/\/cloudsave.app\/wp-content\/uploads\/2026\/02\/Logo_Name-2.png","contentUrl":"https:\/\/cloudsave.app\/wp-content\/uploads\/2026\/02\/Logo_Name-2.png","width":859,"height":150,"caption":"shervinrv"},"logo":{"@id":"https:\/\/cloudsave.app\/wp-content\/uploads\/2026\/02\/Logo_Name-2.png"},"sameAs":["http:\/\/cloudsave.app"],"url":"https:\/\/cloudsave.app\/vi\/knowledge-base\/author\/shervinrv\/"}]}},"_links":{"self":[{"href":"https:\/\/cloudsave.app\/vi\/wp-json\/wp\/v2\/posts\/5938","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudsave.app\/vi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudsave.app\/vi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudsave.app\/vi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudsave.app\/vi\/wp-json\/wp\/v2\/comments?post=5938"}],"version-history":[{"count":1,"href":"https:\/\/cloudsave.app\/vi\/wp-json\/wp\/v2\/posts\/5938\/revisions"}],"predecessor-version":[{"id":6003,"href":"https:\/\/cloudsave.app\/vi\/wp-json\/wp\/v2\/posts\/5938\/revisions\/6003"}],"wp:attachment":[{"href":"https:\/\/cloudsave.app\/vi\/wp-json\/wp\/v2\/media?parent=5938"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudsave.app\/vi\/wp-json\/wp\/v2\/categories?post=5938"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudsave.app\/vi\/wp-json\/wp\/v2\/tags?post=5938"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}