次の方法で共有


Database.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 値です。

説明

Shrink メソッドを使用すると、データベースを構成するファイルのサイズを手動で削減できます。 データの保存密度が高くなり、未使用のページを除去できます。 または、AutoShrink オプションを設定することにより、一定の間隔でデータベースを自動的に圧縮できます。

使用例

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()

関連項目

参照

Database クラス

Microsoft.SqlServer.Management.Smo 名前空間

その他の技術情報

データベース オブジェクトでの作業

DBCC SHRINKDATABASE (Transact-SQL)

データベースの圧縮

CREATE DATABASE (Transact-SQL)