ScriptDrops プロパティ
スクリプト作成操作で、参照するコンポーネントを削除する Transact-SQL スクリプトを生成するかどうかを示す Boolean プロパティ値を取得します。値の設定も可能です。
名前空間: Microsoft.SqlServer.Management.Smo
アセンブリ: Microsoft.SqlServer.Smo (Microsoft.SqlServer.Smo.dll)
構文
'宣言
Public Property ScriptDrops As Boolean
Get
Set
'使用
Dim instance As ScriptingOptions
Dim value As Boolean
value = instance.ScriptDrops
instance.ScriptDrops = value
public bool ScriptDrops { get; set; }
public:
property bool ScriptDrops {
bool get ();
void set (bool value);
}
member ScriptDrops : bool with get, set
function get ScriptDrops () : boolean
function set ScriptDrops (value : boolean)
プロパティ値
型: System. . :: . .Boolean
オブジェクトを削除する削除句を、生成されるスクリプトに含めるかどうかを示す Boolean 値です。
True の場合、参照するコンポーネントを削除する Transact-SQL スクリプトが、スクリプト作成操作で生成されます。
False (既定値) の場合、参照するコンポーネントを作成する Transact-SQL スクリプトが、スクリプト作成操作で生成されます。
説明
このオプションを True に設定した場合は、オブジェクトを削除する前にその存在が確認されます。
この表には、ScriptSchema、ScriptData、および ScriptDrops のプロパティ値の組み合わせに基づいたスクリプト作成時の動作が示されています。
プロパティ値 |
スクリプト作成時の動作 |
---|---|
ScriptSchema = True ScriptData = False ScriptDrops = False |
スキーマのみがスクリプト化されます。これが既定の動作です。 |
ScriptSchema = True ScriptData = True ScriptDrops = False |
スキーマとデータの両方がスクリプト化されます。生成されたスクリプトはまずテーブルを作成してからデータを挿入するため、既存のデータに対する DROP ステートメントはスクリプト化されません。最初は、テーブルにデータが存在しません。 |
ScriptSchema = True ScriptData = False ScriptDrops = True |
オブジェクトを削除するステートメントだけがスクリプト化されます。 |
ScriptSchema = True ScriptData = True ScriptDrops = True |
スクリプトには、オブジェクトに対する DROP ステートメントが含まれます。オブジェクトが削除されるときにデータも削除されるため、DELETE ステートメントはスクリプト化されません。 |
ScriptSchema = False ScriptData = False ScriptDrops = 任意の値 |
少なくとも ScriptSchema プロパティと ScriptData プロパティのどちらかを True に設定する必要があることをユーザーに通知するエラーが発生します。 |
ScriptSchema = False ScriptData = True ScriptDrops = False |
データのみがスクリプト化されます。新しいデータを挿入する前に既存のデータを削除するための DELETE ステートメントはスクリプト化されません。 |
ScriptSchema = False ScriptData = True ScriptDrops = True |
データを削除するスクリプトのみが生成されます。この動作は、スキーマの処理方法と同じになります。 |
使用例
次のコード例では、参照されたコンポーネントをスクリプトの実行後に削除するように指定します。
Visual Basic
Dim scOps As New ScriptingOptions()
scOps.ScriptDrops = true
PowerShell
$scOps = New-Object Microsoft.SqlServer.Management.Smo.ScriptingOptions
$scOps.ScriptDrops = $TRUE