Reclaim space in SQL Server 2005 database when dro

2020-02-07 07:04发布

问题:

I'm dropping out massive numbers of tables out of a SQL Server 2005 database. How do I shrink the database - assuming I'm not replacing the data or the tables? I'm archiving stuff to another db.

回答1:

DBCC Shrinkdatabase(0) --  Currently selected database

or

DBCC Shrinkdatabase(<databasename>) --  Named database

However, shrinking files will likely fragment your tables, particularly larger onces, as contents of tables get moved about within the file, so once shrunk it's a good idea to defragment your tables. This, of course, will make your files grow again, but probably not so large as they were before you dropped your old tables. (Err, that assumes that the dropped tables contained large quantities of data...)



回答2:

You can use the DBCC SHRINKDATABASE command, or you can right-click the database, Tasks, Shrink, Database.