Shrink 方法
收缩数据库。
命名空间: Microsoft.SqlServer.Management.Smo
程序集: Microsoft.SqlServer.Smo(在 Microsoft.SqlServer.Smo.dll 中)
语法
声明
Public Sub Shrink ( _
percentFreeSpace As Integer, _
shrinkMethod As ShrinkMethod _
)
用法
Dim instance As Database
Dim percentFreeSpace As Integer
Dim shrinkMethod As ShrinkMethod
instance.Shrink(percentFreeSpace, shrinkMethod)
public void Shrink(
int percentFreeSpace,
ShrinkMethod shrinkMethod
)
public:
void Shrink(
int percentFreeSpace,
ShrinkMethod shrinkMethod
)
member Shrink :
percentFreeSpace:int *
shrinkMethod:ShrinkMethod -> unit
public function Shrink(
percentFreeSpace : int,
shrinkMethod : ShrinkMethod
)
参数
- percentFreeSpace
类型:System. . :: . .Int32
一个 Int32 值,该值指定要减小数据库的百分比。
- shrinkMethod
类型:Microsoft.SqlServer.Management.Smo. . :: . .ShrinkMethod
一个 ShrinkMethod 对象值,该值指定用于收缩数据库的方法。
注释
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.
示例
VB
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Reference the AdventureWorks2008R2 database.
Dim db As Database
db = srv.Databases("AdventureWorks2008R2")
'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("AdventureWorks2008R2")
$db.Shrink(20, [Microsoft.SqlServer.Management.Smo.ShrinkMethod]'NoTruncate')
$db.TruncateLog()