Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Shrink Database problem!!!

516 views
Skip to first unread message

Dom

unread,
Apr 7, 2011, 3:23:49 PM4/7/11
to
At 8:00 am Wed, we started a Shrink Database command (though the SSMS
GUI) on a very large and very active database. The activity monitor
usually show the process is "suspended" (what does that mean?)
although sometimes when I click "Refresh" it says "runnable".

It is now 3:30 pm Thurs, and the Shrink Database is still going on.
Should I be worried about this? As I said, it is a large database,
with a fair amount of activity, and we recently added a good amount of
data, and deleted some unnecessary tables.

Gene Wirchenko

unread,
Apr 7, 2011, 5:07:19 PM4/7/11
to
On Thu, 7 Apr 2011 12:23:49 -0700 (PDT), Dom <doliv...@gmail.com>
wrote:

>At 8:00 am Wed, we started a Shrink Database command (though the SSMS
>GUI) on a very large and very active database. The activity monitor
>usually show the process is "suspended" (what does that mean?)
>although sometimes when I click "Refresh" it says "runnable".

The standard meanings are

suspended: The process is not running but has not been terminated.
runnable: The process is eligible to run. (If a process were waiting
on I/O, it would not be runnable until the I/O completed.)

>It is now 3:30 pm Thurs, and the Shrink Database is still going on.
>Should I be worried about this? As I said, it is a large database,
>with a fair amount of activity, and we recently added a good amount of
>data, and deleted some unnecessary tables.

Based on your first paragraph, it is not doing anything.

I hope someone else who knows details can advise you on what to
do at this point.

My best guess is that the process has been suspended by
someone/something and that you should unsuspend it.

Sincerely,

Gene Wirchenko

Erland Sommarskog

unread,
Apr 7, 2011, 5:32:20 PM4/7/11
to

Yes, you should be worried. By the mere fact that you started Shrink
Database. It is a command you use be very restrictive with. And I
definitely advice against running it during office hours.

I would recommend that you cancel the operation, and that you schedule
reindexing of the database for the coming weekend, as shrinking introduces
fragmentation.

See also http://www.karaszi.com/SQLServer/info_dont_shrink.asp

--
Erland Sommarskog, SQL Server MVP, esq...@sommarskog.se

Links for SQL Server Books Online:
SQL 2008: http://msdn.microsoft.com/en-us/sqlserver/cc514207.aspx
SQL 2005: http://msdn.microsoft.com/en-us/sqlserver/bb895970.aspx

ravi p

unread,
Apr 8, 2011, 2:44:04 AM4/8/11
to
If the state is in suspended, you need to identify on what is the spid or session waiting on. You can do that by running the dmv

select * from sys.dm_os_wait_stats
order by wait_time_ms desc.

select * from sys.dm_os_waiting_tasks where session_id ='user session no'

Once have the information you can compare the session waits with server waits.

To check how much of shrink of database is complete, you can use the query

Select percent_complete from sys.dm_exec_requests where session_id= 'your session id'

The shrinking of database causes fragemtation , you need to update the statistics of the database once the shrink is complete.

the following command calls sp_updatestats to update all statistics for the database.

EXEC sp_updatestats


for table or index

UPDATE STATISTICS table_or_indexed_view_name
[
{
{ index_or_statistics__name }
| ( { index_or_statistics_name } [ ,...n ] )
}
]
[ WITH
[
[ FULLSCAN ]
| SAMPLE number { PERCENT | ROWS } ]
| RESAMPLE
| <update_stats_stream_option> [ ,...n ]
]
[ [ , ] [ ALL | COLUMNS | INDEX ]
[ [ , ] NORECOMPUTE ]


Dom

unread,
Apr 8, 2011, 10:26:26 AM4/8/11
to

Thanks for everything. According to what Ravi sent me, the job is 77%
finished. And it should finish in just 14 more hours. So I'll just
let it go over the weekend. And thanks, Erland, for the article.

Dom

0 new messages