TIP: Auditar y actualizar instancias SQL

Auditar todas las bases de datos de usuario y detectar si utilizan Full-Text Search, por ejemplo para saber que opción elegir al actualizar instancias de SQL Server:

SQL_fulltext_update sobre 2025
SET NOCOUNT ON;

IF OBJECT_ID('tempdb..#FullTextAudit') IS NOT NULL
    DROP TABLE #FullTextAudit;

CREATE TABLE #FullTextAudit
(
    DatabaseName sysname,
    HasFullText bit,
    CatalogCount int,
    IndexCount int
);

DECLARE @db sysname;
DECLARE @sql nvarchar(max);

DECLARE db_cursor CURSOR FAST_FORWARD FOR
SELECT name
FROM sys.databases
WHERE database_id > 4        -- Excluye master, model, msdb, tempdb
AND state = 0;               -- Solo bases ONLINE

OPEN db_cursor;
FETCH NEXT FROM db_cursor INTO @db;

WHILE @@FETCH_STATUS = 0
BEGIN
    SET @sql = '
    USE [' + @db + '];

    INSERT INTO #FullTextAudit (DatabaseName, HasFullText, CatalogCount, IndexCount)
    SELECT
        DB_NAME(),
        CASE WHEN COUNT(DISTINCT c.fulltext_catalog_id) > 0 THEN 1 ELSE 0 END,
        COUNT(DISTINCT c.fulltext_catalog_id),
        COUNT(DISTINCT i.object_id)
    FROM sys.fulltext_catalogs c
    FULL OUTER JOIN sys.fulltext_indexes i
        ON c.fulltext_catalog_id = i.fulltext_catalog_id;
    ';

    EXEC sp_executesql @sql;

    FETCH NEXT FROM db_cursor INTO @db;
END

CLOSE db_cursor;
DEALLOCATE db_cursor;

-- Resultado resumen
SELECT *
FROM #FullTextAudit
ORDER BY HasFullText DESC, DatabaseName;

-- Resumen final
SELECT 
    SUM(CASE WHEN HasFullText = 1 THEN 1 ELSE 0 END) AS DatabasesWithFullText,
    COUNT(*) AS TotalDatabases
FROM #FullTextAudit;

Si no aparece ninguna puedes seleccionar «Importar» no tendrá ningún efecto…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


El periodo de verificación de reCAPTCHA ha caducado. Por favor, recarga la página.