on development environments, it’s better off to set the recovery model to “simple” instead of leaving it on “full”. This had a noticeable improvement.
https://blogs.msdn.microsoft.com/jjameson/2011/03/19/using-the-simple-recovery-model-for-sharepoint-development-environments/
IF OBJECT_ID('tempdb..#CommandQueue') IS NOT NULL DROP TABLE #CommandQueue
CREATE TABLE #CommandQueue
(
ID INT IDENTITY ( 1, 1 )
, SqlStatement VARCHAR(1000)
)
INSERT INTO #CommandQueue
(
SqlStatement
)
SELECT
'ALTER DATABASE [' + name + '] SET RECOVERY SIMPLE'
FROM
sys.databases
WHERE
name NOT IN ( 'master', 'msdb', 'tempdb' )
DECLARE @id INT
SELECT @id = MIN(ID)
FROM #CommandQueue
WHILE @id IS NOT NULL
BEGIN
DECLARE @sqlStatement VARCHAR(1000)
SELECT
@sqlStatement = SqlStatement
FROM
#CommandQueue
WHERE
ID = @id
PRINT 'Executing ''' + @sqlStatement + '''...'
EXEC (@sqlStatement)
DELETE FROM #CommandQueue
WHERE ID = @id
SELECT @id = MIN(ID)
FROM #CommandQueue
END