Solved

Defragment a database - how?

Posted on 2014-03-05
3
335 Views
Last Modified: 2014-03-07
The backbone of my database (SQL 2008 Express) is a table that stores photographs in a filestream column. This table accounts for practically all the data in the db, the other tables containing just a few hundred rows of reference data. I created this table and its primary key on a filestream filegroup.

At the outset, I set the database up with a primary filegroup, a secondary one (default for user data) and a filestream filegroup. For a couple of months now I've been repeatedly deleting and repopulating this main table.  Along the way I've encountered quite a bit of unreliability with the filestream technology - sometimes when repopulating the table the db would randomly ignore the filestream group and start saving the data to the secondary filegroup. When this happened the db ran out of space and the process stalled. In this event my solution has always been to drop and recreate the table.

Now my secondary file is over 4GB, its log file is 1.4GB, and I'm out of space unable to run anything.

How do I clean this up?
0
Comment
Question by:TimHudspith
3 Comments
 
LVL 42

Assisted Solution

by:EugeneZ
EugeneZ earned 250 total points
ID: 39908764
try to start from db reindex\update stats \dbcc checkdb

please clarify "db ran out of space "? is trn log going out of free space? if yes - let DB in the Simple Recovery
---
also you said that you are using SQL 2008 Express that has Database Size Limit 4GB

try SQL Server 2008 R2 Express where Database Size Limit Increased to 10GB
or free sql express 2012 http://www.microsoft.com/en-us/sqlserver/editions/2012-editions/express.aspx
0
 
LVL 39

Accepted Solution

by:
lcohan earned 250 total points
ID: 39910850
"Now my secondary file is over 4GB, its log file is 1.4GB, and I'm out of space unable to run anything.

How do I clean this up? "


If is true that you ran everything on SQL 2008 Express then your MAX database size is indeed 4GB therefore

option 1 is to upgrade (maybe even developer edition is good enough for you yet still free)

OR

option 2 you must copy then delete (move) old useless data from the active table. You can create a new for instance call it PhotoArchive database where you put identical table and move old data from active used database table(the big one...).

http://msdn.microsoft.com/en-us/library/cc645993(v=sql.100).ASPX
0
 

Author Comment

by:TimHudspith
ID: 39911877
Thanks for the suggestions but in the end I ran Ola Hallengren's SQL Server Maintenance Solution to clean up my indexes, then ran the shrinkdatabase command, which did the trick.

http://ola.hallengren.com/

DBCC SHRINKDATABASE
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Having an SQL database can be a big investment for a small company. Hardware, setup and of course, the price of software all add up to a big bill that some companies may not be able to absorb.  Luckily, there is a free version SQL Express, but does …
JSON is being used more and more, besides XML, and you surely wanted to parse the data out into SQL instead of doing it in some Javascript. The below function in SQL Server can do the job for you, returning a quick table with the parsed data.
Via a live example combined with referencing Books Online, show some of the information that can be extracted from the Catalog Views in SQL Server.
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question