sqlserver from create checkdb check sql-server tsql sql-server-2000

sql server - from - Cómo capturar la salida de una declaración DBCC en un temptable



sql server repair database (2)

Esto no responde directamente a la pregunta, pero sí responde a la intención de la pregunta: es de suponer que desea una forma sencilla de encontrar el tamaño actual del archivo de registro:

SELECT size*8192.0/1024.0/1024.0 as SizeMegabytes FROM sys.database_files WHERE type_desc = ''LOG'' -- If the log file size is 100 megabytes, returns "100".

La razón por la que multiplicamos por 8192 es que el tamaño de la página en el servidor SQL es de 8192 bytes.

La razón por la que dividimos por 1024, y luego nuevamente por 1024, es para convertir el tamaño de bytes a megabytes.

Probé lo siguiente en SQL-Server:

create table #TmpLOGSPACE( DatabaseName varchar(100) , LOGSIZE_MB decimal(18, 9) , LOGSPACE_USED decimal(18, 9) , LOGSTATUS decimal(18, 9)) insert #TmpLOGSPACE(DatabaseName, LOGSIZE_MB, LOGSPACE_USED, LOGSTATUS) DBCC SQLPERF(LOGSPACE);

... pero esto levanta un error de sintaxis ...

¿Alguna sugerencia?


Ponga la sentencia que se ejecutará dentro de EXEC('''')

insert #TmpLOGSPACE(DatabaseName, LOGSIZE_MB, LOGSPACE_USED, LOGSTATUS) EXEC(''DBCC SQLPERF(LOGSPACE);'')