I am a .net developer and not an expert database administrator.
I have an application running on SQL server 2008. Yesterday there was an issue with a certain query getting executed in an infinite loop which caused the database to grow from 500 MB to 380 GB. The log file itself was 300 GB and the mdf file 80 GB.
Today I stopped the query and truncated the log file to 12 MB. Then I figured out which tables had grown and truncated them, but still my database size is 67 GB!
I ran a query to determine the size of all tables https://stackoverflow.com/a/7892349/287100
However, the total size of all tables was less than 100 MB. I want to know why the database size is so big and how I can shrink it back to around 500MB.
Thanks.
-
Did you already attempt to shrink the data file(s)?Jon Seigel– Jon Seigel2012年08月02日 00:59:53 +00:00Commented Aug 2, 2012 at 0:59
1 Answer 1
You can shrink an MDF file using:
USE [Databasename]
GO
DBCC SHRINKDATABASE(N'Databasename' )
GO
and you can shrink an LDF file using:
USE Data base
GO
DBCC SHRINKFILE(databsename_Log, 1)
GO
-
But have a look at this and this firstAndrás Váczi– András Váczi2012年08月01日 12:16:16 +00:00Commented Aug 1, 2012 at 12:16
-
1
DBCC SHRINKDATABASE
andDBCC SHRINKFILE
is redundant. The former data and log files.Thomas Stringer– Thomas Stringer2012年08月01日 12:33:16 +00:00Commented Aug 1, 2012 at 12:33