Database.Shrink(Int32, ShrinkMethod) Database.Shrink(Int32, ShrinkMethod) Method

Definition

Shrinks the database.

public:
 void Shrink(int percentFreeSpace, Microsoft::SqlServer::Management::Smo::ShrinkMethod shrinkMethod);
public void Shrink (int percentFreeSpace, Microsoft.SqlServer.Management.Smo.ShrinkMethod shrinkMethod);
Parameters
percentFreeSpace
Int32 Int32

An Int32 value that specifies how much to reduce the database in percent.

shrinkMethod
ShrinkMethod ShrinkMethod

A ShrinkMethod object value that specifies the method that is used to shrink the database.

Examples

VB

'Connect to the local, default instance of SQL Server.  
Dim srv As Server  
srv = New Server  

'Reference the AdventureWorks2012 database.  
Dim db As Database  
db = srv.Databases("AdventureWorks2012")  

'Shrink the database without truncating the log.  
db.Shrink(20, ShrinkMethod.NoTruncate)  

'Truncate the log.  
db.TruncateLog()  

PowerShell

$srv = new-Object Microsoft.SqlServer.Management.Smo.Server("(local)")  
$db = New-Object Microsoft.SqlServer.Management.Smo.Database  
$db = $srv.Databases.Item("AdventureWorks2012")  

$db.Shrink(20, [Microsoft.SqlServer.Management.Smo.ShrinkMethod]'NoTruncate')  

$db.TruncateLog()  

Remarks

You can use the Shrink method to reduce the size of the files that make up the database manually. The data is stored more densely and unused pages are removed. Alternatively, you can shrink the database automatically at intervals by setting the AutoShrink option.

Applies to