1 Estrella2 Estrellas3 Estrellas4 Estrellas5 Estrellas (¡Se el primero en puntuarlo!)
Cargando…

Cómo achicar de verdad y fácil una base de datos SQL Server

Todos los artículos sobre SHRINKDATABASE empiezan diciendo la tontería de que no debes hacerlo y bla, bla, bla.

Si como yo, das soporte a bases de datos SQL Server, cuando el cliente te llama es porque es necesario achivarla y punto. Todo lo demás, no tiene sentido.

Lo más comun es encontrarme con varias bases de datos de SharePoint con LOGS de decenas de GB. Así que desarrollé este Script para hacerlo lo más rápido y eficiente posible. Y con downtime (tiempo fuera de línea). La cruda realidad es que hacerlo sin downtime es casi imposible.

USE WSS_Logging_PROD
go

ALTER DATABASE WSS_Logging_PROD SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO

BACKUP LOG WSS_Logging_PROD TO DISK = N’C:\Program Files\Microsoft SQL Server\MSSQL14.TCSQLCST01SP\MSSQL\Backup\WSS_Logging_PROD.bak’ WITH NOFORMAT, NOINIT, NAME = N’WSS_Logging_PROD-Full Database Backup’, SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO

SELECT TYPE_DESC, NAME, size, max_size, growth, is_percent_growth
FROM sys.database_files;

DBCC SHRINKFILE (1, 10);
GO

DBCC SHRINKFILE (2, 1)
GO

SELECT TYPE_DESC, NAME, size, max_size, growth, is_percent_growth
FROM sys.database_files;

ALTER DATABASE WSS_Logging_PROD SET MULTI_USER
GO


1 Estrella2 Estrellas3 Estrellas4 Estrellas5 Estrellas (¡Se el primero en puntuarlo!)
Cargando…