From 991adc1380c0d34b79314e657ba69e1b1c4a135c Mon Sep 17 00:00:00 2001 From: Leonardo Albuquerque <58045333+LeonardoAlbuquerque77@users.noreply.github.com> Date: Sun, 22 Feb 2026 17:14:09 -0300 Subject: [PATCH 1/5] Update alter-fulltext-catalog-transact-sql.md Additional information about REBUILD and REORGANIZE operations when using ALTER FULLTEXT CATALOG --- .../alter-fulltext-catalog-transact-sql.md | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/docs/t-sql/statements/alter-fulltext-catalog-transact-sql.md b/docs/t-sql/statements/alter-fulltext-catalog-transact-sql.md index 8c39fce469a..5ab79609d71 100644 --- a/docs/t-sql/statements/alter-fulltext-catalog-transact-sql.md +++ b/docs/t-sql/statements/alter-fulltext-catalog-transact-sql.md @@ -82,6 +82,36 @@ SELECT FULLTEXTCATALOGPROPERTY('ftCatalog', 'accentsensitivity'); GO --Returned 0, which means the catalog is not accent sensitive. ``` + +## Comments + The full-text catalog REBUILD operation is paused when a session starts executing one or more open DML commands in a transaction involving the index tables present in the catalog to be reconstructed. Until the concurrent transaction finishes executing, the full catalog population will not proceed. It is recommended that the administrator monitor this behavior using the DMVs sys.dm_exec_requests and sys.dm_exec_sessions. Locks may be observed between the concurrent session and the background sessions performing the catalog reconstruction, with the wait type LCK_M_IS. + + A similar scenario occurs with the REORGANIZE operation; however, you will see the wait type "FT_MASTER_MERGE" in the session where the command is being executed. It is recommended to monitor whether there are one or more sessions running DML commands with long-running open transactions involving the index tables present in the catalog to be reorganized. If this is happening, when using DMVs, you may see one or more background sessions logging an LCK_M_IX wait and the "FT MASTER MERGE" command. The REORGANIZE will not finish until the lock is released. + +```sql +--View blocked background sessions +SELECT + r1.session_id, + r1.blocking_session_id, + r1.wait_type, + r1.wait_resource, + r1.last_wait_type, + r1.command AS BlockedSessionCommand, + r2.command AS BlockingSessionCommand, + s1.login_name AS BlockedSessionLogin, + s2.login_name AS BlockingSessionLogin, + s1.host_name AS BlockedSessionHost, + s2.host_name AS BlockingSessionHost, + r1.status AS BlockedSessionStats, + r2.status AS BlockingSessionStats +FROM sys.dm_exec_requests r1 +INNER JOIN sys.dm_exec_sessions s1 ON r1.session_id = s1.session_id +INNER JOIN sys.dm_exec_sessions s2 ON r1.blocking_session_id = s2.session_id +LEFT JOIN sys.dm_exec_requests r2 ON s2.session_id = r2.session_id +WHERE r1.blocking_session_id <> 0 +AND r1.status = 'background' +ORDER BY r1.wait_time DESC; +``` ## See Also [sys.fulltext_catalogs (Transact-SQL)](../../relational-databases/system-catalog-views/sys-fulltext-catalogs-transact-sql.md) From 773899dc3d71750b44f079385334feaabc7c369b Mon Sep 17 00:00:00 2001 From: Leonardo Albuquerque <58045333+LeonardoAlbuquerque77@users.noreply.github.com> Date: Fri, 27 Feb 2026 21:52:28 -0300 Subject: [PATCH 2/5] Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- docs/t-sql/statements/alter-fulltext-catalog-transact-sql.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/t-sql/statements/alter-fulltext-catalog-transact-sql.md b/docs/t-sql/statements/alter-fulltext-catalog-transact-sql.md index 5ab79609d71..f940bffeacc 100644 --- a/docs/t-sql/statements/alter-fulltext-catalog-transact-sql.md +++ b/docs/t-sql/statements/alter-fulltext-catalog-transact-sql.md @@ -102,8 +102,8 @@ SELECT s2.login_name AS BlockingSessionLogin, s1.host_name AS BlockedSessionHost, s2.host_name AS BlockingSessionHost, - r1.status AS BlockedSessionStats, - r2.status AS BlockingSessionStats + r1.status AS BlockedSessionStatus, + r2.status AS BlockingSessionStatus FROM sys.dm_exec_requests r1 INNER JOIN sys.dm_exec_sessions s1 ON r1.session_id = s1.session_id INNER JOIN sys.dm_exec_sessions s2 ON r1.blocking_session_id = s2.session_id From aa3059cb2512c111de6431e5561476a616957141 Mon Sep 17 00:00:00 2001 From: Leonardo Albuquerque <58045333+LeonardoAlbuquerque77@users.noreply.github.com> Date: Fri, 27 Feb 2026 21:53:04 -0300 Subject: [PATCH 3/5] Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- docs/t-sql/statements/alter-fulltext-catalog-transact-sql.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/t-sql/statements/alter-fulltext-catalog-transact-sql.md b/docs/t-sql/statements/alter-fulltext-catalog-transact-sql.md index f940bffeacc..082b03b67e4 100644 --- a/docs/t-sql/statements/alter-fulltext-catalog-transact-sql.md +++ b/docs/t-sql/statements/alter-fulltext-catalog-transact-sql.md @@ -86,7 +86,7 @@ GO ## Comments The full-text catalog REBUILD operation is paused when a session starts executing one or more open DML commands in a transaction involving the index tables present in the catalog to be reconstructed. Until the concurrent transaction finishes executing, the full catalog population will not proceed. It is recommended that the administrator monitor this behavior using the DMVs sys.dm_exec_requests and sys.dm_exec_sessions. Locks may be observed between the concurrent session and the background sessions performing the catalog reconstruction, with the wait type LCK_M_IS. - A similar scenario occurs with the REORGANIZE operation; however, you will see the wait type "FT_MASTER_MERGE" in the session where the command is being executed. It is recommended to monitor whether there are one or more sessions running DML commands with long-running open transactions involving the index tables present in the catalog to be reorganized. If this is happening, when using DMVs, you may see one or more background sessions logging an LCK_M_IX wait and the "FT MASTER MERGE" command. The REORGANIZE will not finish until the lock is released. + A similar scenario occurs with the REORGANIZE operation; however, you will see the wait type "FT_MASTER_MERGE" in the session where the command is being executed. It is recommended to monitor whether there are one or more sessions running DML commands with long-running open transactions involving the index tables present in the catalog to be reorganized. If this is happening, when using DMVs, you may see one or more background sessions with an LCK_M_IX wait type and the "FT MASTER MERGE" command. The REORGANIZE will not finish until the lock is released. ```sql --View blocked background sessions From 6b6116b5bc9a54cb4bb5426c4744be73f177a960 Mon Sep 17 00:00:00 2001 From: Leonardo Albuquerque <58045333+LeonardoAlbuquerque77@users.noreply.github.com> Date: Fri, 27 Feb 2026 21:53:48 -0300 Subject: [PATCH 4/5] Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- docs/t-sql/statements/alter-fulltext-catalog-transact-sql.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/t-sql/statements/alter-fulltext-catalog-transact-sql.md b/docs/t-sql/statements/alter-fulltext-catalog-transact-sql.md index 082b03b67e4..0d0cf99235f 100644 --- a/docs/t-sql/statements/alter-fulltext-catalog-transact-sql.md +++ b/docs/t-sql/statements/alter-fulltext-catalog-transact-sql.md @@ -83,7 +83,7 @@ GO --Returned 0, which means the catalog is not accent sensitive. ``` -## Comments +## Remarks The full-text catalog REBUILD operation is paused when a session starts executing one or more open DML commands in a transaction involving the index tables present in the catalog to be reconstructed. Until the concurrent transaction finishes executing, the full catalog population will not proceed. It is recommended that the administrator monitor this behavior using the DMVs sys.dm_exec_requests and sys.dm_exec_sessions. Locks may be observed between the concurrent session and the background sessions performing the catalog reconstruction, with the wait type LCK_M_IS. A similar scenario occurs with the REORGANIZE operation; however, you will see the wait type "FT_MASTER_MERGE" in the session where the command is being executed. It is recommended to monitor whether there are one or more sessions running DML commands with long-running open transactions involving the index tables present in the catalog to be reorganized. If this is happening, when using DMVs, you may see one or more background sessions with an LCK_M_IX wait type and the "FT MASTER MERGE" command. The REORGANIZE will not finish until the lock is released. From 747c872e2b3013ebaa8a8bec6039c68acea27abb Mon Sep 17 00:00:00 2001 From: Leonardo Albuquerque <58045333+LeonardoAlbuquerque77@users.noreply.github.com> Date: Fri, 27 Feb 2026 21:54:31 -0300 Subject: [PATCH 5/5] Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- docs/t-sql/statements/alter-fulltext-catalog-transact-sql.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/t-sql/statements/alter-fulltext-catalog-transact-sql.md b/docs/t-sql/statements/alter-fulltext-catalog-transact-sql.md index 0d0cf99235f..0fb98ec6266 100644 --- a/docs/t-sql/statements/alter-fulltext-catalog-transact-sql.md +++ b/docs/t-sql/statements/alter-fulltext-catalog-transact-sql.md @@ -84,7 +84,7 @@ GO ``` ## Remarks - The full-text catalog REBUILD operation is paused when a session starts executing one or more open DML commands in a transaction involving the index tables present in the catalog to be reconstructed. Until the concurrent transaction finishes executing, the full catalog population will not proceed. It is recommended that the administrator monitor this behavior using the DMVs sys.dm_exec_requests and sys.dm_exec_sessions. Locks may be observed between the concurrent session and the background sessions performing the catalog reconstruction, with the wait type LCK_M_IS. + The full-text catalog REBUILD operation is paused when a session starts executing one or more open DML commands in a transaction involving the index tables present in the catalog to be reconstructed. Until the concurrent transaction completes (commits or rolls back), the full catalog population will not proceed. It is recommended that the administrator monitor this behavior using the DMVs sys.dm_exec_requests and sys.dm_exec_sessions. Locks may be observed between the concurrent session and the background sessions performing the catalog reconstruction, with the wait type LCK_M_IS. A similar scenario occurs with the REORGANIZE operation; however, you will see the wait type "FT_MASTER_MERGE" in the session where the command is being executed. It is recommended to monitor whether there are one or more sessions running DML commands with long-running open transactions involving the index tables present in the catalog to be reorganized. If this is happening, when using DMVs, you may see one or more background sessions with an LCK_M_IX wait type and the "FT MASTER MERGE" command. The REORGANIZE will not finish until the lock is released.