Skip to main content

Shrink data and log files - MSSQL

Shrink data and log files

To shrink data and log files for the database, use below query.
use <database>;
DECLARE @mdfName varchar(60);
DECLARE @ldfName varchar(60);
SELECT @mdfName = file_name(1) FROM sys.master_files WHERE database_id = db_id() AND type = 1;
SELECT @ldfName = name FROM sys.master_files WHERE database_id = db_id() AND type = 1;
ALTER DATABASE <databaseSET RECOVERY SIMPLE;
    DBCC SHRINKFILE (@mdfName, 0);
    DBCC SHRINKFILE (@ldfName, 0);
    DBCC SHRINKFILE (@mdfName, TRUNCATEONLY);
    DBCC SHRINKFILE (@ldfName, TRUNCATEONLY);

To set database recovery as FULL, use below query.
 ALTER DATABASE <databaseSET RECOVERY FULL;

Comments

Popular posts from this blog

Identify the duplicates in MySQL

To identify the duplicate entries in MySQL, use below query.                      SELECT COUNT(*) as repetitions, group_concat(id, ' (', startTime, ', ', endTime, ') ' SEPARATOR ' | ') as row_data FROM GROUP BY startTime, endTime HAVING repetitions > 1 FYI, id, startTime and endTime columns should be changed based on your table schema. you can change the output format here like alias and the separator.

T-SQL to set Max memory in MSSQL

 To set max memory for Microsoft SQL server, use the below Transact SQL. USE master EXEC sp_configure ''show advanced options'', 1 RECONFIGURE WITH OVERRIDE GO --To set a maximum memory limit, type the following, pressing Enter after each line: USE master EXEC sp_configure ''max server memory (MB)'', <MaxServerMemory> RECONFIGURE WITH OVERRIDE GO --MaxServerMemory is the value of the physical memory in megabytes (MB) that you want to allocate. --To hide the maximum memory setting, type the following, pressing Enter after each line: USE master EXEC sp_configure ''show advanced options'', 0 RECONFIGURE WITH OVERRIDE GO exit