That's the code for SQL Server 2022. In SQL 2025 it seems to be more difficult to be generated, but I have a table in SQL 2025 with the same problem. Is it enough?
drop table [dbo].[table]
CREATE TABLE [dbo].[table](
[Id] [bigint] IDENTITY(1,1) NOT NULL,
[server_name] [nvarchar](128) NOT NULL,
[collected_date] [datetimeoffset](7) NOT NULL,
[database_name] [nvarchar](128) NULL,
[table_name] [nvarchar](128) NULL,
[equality_columns] [nvarchar](4000) NULL,
[inequality_columns] [nvarchar](4000) NULL,
[included_columns] [nvarchar](4000) NULL,
[impact] [bigint] NULL,
[user_seeks] [bigint] NULL,
[query_hash] [nvarchar](64) NULL,
[query_plan_hash] [nvarchar](64) NULL,
[first_seen_date] [datetimeoffset](7) NULL,
[last_seen_date] [datetimeoffset](7) NULL,
[appearance_count] [int] NULL
) ON [PRIMARY]
GO
/****** Object: Index [CCI_db_missing_indexes_stats] Script Date: 05/10/2026 13:31:01 ******/
CREATE CLUSTERED COLUMNSTORE INDEX [CCI] ON [dbo].[table] WITH (DROP_EXISTING = OFF, COMPRESSION_DELAY = 0, DATA_COMPRESSION = COLUMNSTORE) ON [PRIMARY]
GO
SET NOCOUNT ON
DECLARE @NumRegistros INT = 1000; -- Cantidad de registros a insertar
DECLARE @i INT = 0;
WHILE @i < @NumRegistros
BEGIN
DECLARE @CollectedDate DATETIMEOFFSET(7) =
DATEADD(DAY, -(ABS(CONVERT(BIGINT, CHECKSUM(NEWID()))) % 365), SYSDATETIMEOFFSET());
DECLARE @FirstSeenDate DATETIMEOFFSET(7) =
DATEADD(DAY, -(ABS(CONVERT(BIGINT, CHECKSUM(NEWID()))) % 90), @CollectedDate);
DECLARE @LastSeenDate DATETIMEOFFSET(7) =
DATEADD(DAY,
ABS(CONVERT(BIGINT, CHECKSUM(NEWID()))) %
(DATEDIFF(DAY, @FirstSeenDate, @CollectedDate) + 1),
@FirstSeenDate);
INSERT INTO [dbo].[table]
(
[server_name],
[collected_date],
[database_name],
[table_name],
[equality_columns],
[inequality_columns],
[included_columns],
[impact],
[user_seeks],
[query_hash],
[query_plan_hash],
[first_seen_date],
[last_seen_date],
[appearance_count]
)
VALUES
(
N'SQLSERVER-' + CAST(ABS(CHECKSUM(NEWID()) % 10) + 1 AS NVARCHAR(10)),
@CollectedDate,
N'Database_' + CAST(ABS(CHECKSUM(NEWID()) % 20) + 1 AS NVARCHAR(10)),
N'Table_' + CAST(ABS(CHECKSUM(NEWID()) % 100) + 1 AS NVARCHAR(10)),
-- Columnas de igualdad
N'[Column_' + CAST(ABS(CHECKSUM(NEWID()) % 20) + 1 AS NVARCHAR(10)) + N']',
-- Columnas de desigualdad
N'[Column_' + CAST(ABS(CHECKSUM(NEWID()) % 20) + 1 AS NVARCHAR(10)) + N']',
-- Columnas incluidas
N'[Column_' + CAST(ABS(CHECKSUM(NEWID()) % 20) + 1 AS NVARCHAR(10)) +
N'], [Column_' + CAST(ABS(CHECKSUM(NEWID()) % 20) + 1 AS NVARCHAR(10)) + N']',
-- Impacto entre 1 y 100
ABS(CHECKSUM(NEWID()) % 100) + 1,
-- User seeks entre 1 y 100000
ABS(CHECKSUM(NEWID()) % 100000) + 1,
-- Hash de consulta
CONVERT(NVARCHAR(64), NEWID()),
-- Hash del plan
CONVERT(NVARCHAR(64), NEWID()),
@FirstSeenDate,
@LastSeenDate,
-- Número de apariciones entre 1 y 500
ABS(CHECKSUM(NEWID()) % 500) + 1
);
SET @i += 1;
END;
PRINT CONCAT('Registros insertados: ', @NumRegistros);
CREATE CLUSTERED INDEX [CCI]
ON [dbo].[table] ([Id])
WITH (DROP_EXISTING = ON, DATA_COMPRESSION = PAGE, SORT_IN_TEMPDB = ON)
ON [PRIMARY];
GO
select @@version