MSDE database deleting data to make space.

Hello Expert-Exchange Members
I have an application that has a MSDE database, this week the database has hit the MSDE limit of 2GB data file.  I have some space that will keep the application going for a couple of weeks.  I need to make more space in the data file.

I have delete data out of the largest tables, but no space has been made in the data part of the database file.  I have never seen this before, I deal with many SQL Database everyday and have been able to delete data from them to make sapce.

I have doubled check to see if the applcation is rebuilding the data in the database but that is not the case.

I think it may have something to do with the fillfactor between the databse table rows as it is set to 0% and I have never seen that before. Is that the case and how would I resove?

Thank you for Reading

Reagrds

GrahamR99

GrahamR99Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

mcmonapCommented:
Hi GrahamR99,

The database files will not shrink in size if you delete data, SQL Server essentially marks that space as usable for any new data, you can see how much of the databse files actually contain data by using sp_spaceused (see below) you can also use your backup size as a rough and ready guide - if your sql backup is 500MB then there is 500MB of data in the database (this is only rough though).  If you really want to reclaim the disk space you can use the DBCC SHRINKFILE command which will shrink the database file.  There is a not a great deal of point to this though unless you need the disk space - details are below.

sp_spaceused:
http://msdn2.microsoft.com/en-us/library/ms188776.aspx

DBCC SHRINKFILE:
http://msdn2.microsoft.com/en-us/library/ms189493.aspx
0
GrahamR99Author Commented:
Hi Mcmonap
You have misunderstood my problem, I am not trying to make the data file smaller on the Disk drive.

The problem I have is that I have deleted two years worth of data out of four tables in the database, these tables are the bulk of the databse, but I have only managed to make a few MB's of space in the file its self.  I am expecting to free up a few 100 MB's in the database as each table is around 500MB in size.

I don't understand how I am deleting rows of data in the tables but only a few MB's is beening freed up.

Regards

GrahamR99
0
mcmonapCommented:
Hi GrahamR99,

You should be able to see where the bulk of your data lies by running the query below.  Enterprise Manager and SQL Server Management Studio both have prettier graphical interfaces for this information if you are using either of these.

DECLARE
      @tblName VARCHAR(1024)

CREATE TABLE #tblSizes (
      [name] VARCHAR(1024)
      , [rows] INT
      , reserved VARCHAR(20)
      , [data] VARCHAR(20)
      , index_size VARCHAR(20)
      , unused VARCHAR(20))

DECLARE ctbl CURSOR FAST_FORWARD
FOR
SELECT
      TABLE_SCHEMA+'.'+TABLE_NAME
FROM
      INFORMATION_SCHEMA.TABLES
OPEN ctbl

FETCH NEXT FROM ctbl INTO @tblName
WHILE @@FETCH_STATUS = 0
BEGIN
      INSERT INTO #tblSizes
      EXEC sp_spaceused @tblName
      FETCH NEXT FROM ctbl INTO @tblName
END
CLOSE ctbl
DEALLOCATE ctbl

SELECT
      *
FROM
      #tblSizes
ORDER BY
      CONVERT(INT, LEFT(data, LEN(data) - 3)) DESC

DROP TABLE  #tblSizes
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft SQL Server

From novice to tech pro — start learning today.