次の方法で共有


ScriptSchema プロパティ

ScriptSchema プロパティ値を取得または設定します。

名前空間:  Microsoft.SqlServer.Management.Smo
アセンブリ:  Microsoft.SqlServer.Smo (Microsoft.SqlServer.Smo.dll)

構文

'宣言
Public Property ScriptSchema As Boolean
    Get
    Set
'使用
Dim instance As ScriptingOptions
Dim value As Boolean

value = instance.ScriptSchema

instance.ScriptSchema = value
public bool ScriptSchema { get; set; }
public:
property bool ScriptSchema {
    bool get ();
    void set (bool value);
}
member ScriptSchema : bool with get, set
function get ScriptSchema () : boolean
function set ScriptSchema (value : boolean)

プロパティ値

型: System. . :: . .Boolean
スキーマがスクリプト化されるかどうかを示す Boolean 値です。
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.ScriptData = true
scOps.ScriptDrops = true
scOps.ScriptSchema = false

PowerShell

$scOps = New-Object Microsoft.SqlServer.Management.Smo.ScriptingOptions
$scOps.ScriptData = $TRUE
$scOps.ScriptDrops = $TRUE
$scOps.ScriptSchema = $FALSE