powershell 全テーブルの创建表文を作成する(テーブル単位)ref:http://qiita.com/nakaji/items/91aa1986ba68232e6129

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了powershell 全テーブルの创建表文を作成する(テーブル単位)ref:http://qiita.com/nakaji/items/91aa1986ba68232e6129相关的知识,希望对你有一定的参考价值。

[void][reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo")

$serverName = "localhost"
$databaseName = "AdventureWorks"

$scriptDir = "D:\テーブル"

if (Test-Path $scriptDir) {
    #追記するので既にファイルがある場合は出力ファイルを削除する
    Remove-Item "$scriptDir\*"
}else{
    #出力先ディレクトリがない場合は作成
    mkdir $scriptDir
}

$server = New-Object Microsoft.SqlServer.Management.Smo.Server($serverName)
$db = $server.Databases[$databaseName]

$scripter = New-Object Microsoft.SqlServer.Management.Smo.Scripter($server)
#出力するスクリプトの設定
$scripter.Options.Indexes = $true                 #インデックスを含める
$scripter.Options.ClusteredIndexes = $true        #クラスター化インデックスを含める
$scripter.Options.WithDependencies = $false       #依存オブジェクトを含めない
$scripter.Options.DriAll = $true                  #参照整合性の出力を含める
$scripter.Options.ToFileOnly = $true              #コンソール出力しない
$scripter.Options.Triggers = $true                #トリガーを含める
$scripter.Options.AnsiPadding = $true             #
$scripter.Options.AppendToFile = $true            #ファイルに追記する

[Microsoft.SqlServer.Management.Smo.SqlSmoObject[]]$db.Tables | 
%{
    #データベース選択のコマンドを出力
    Add-Content -Path $scriptFile -encoding Unicode -Value "USE [$databaseName]"
    Add-Content -Path $scriptFile -encoding Unicode -Value "GO"

    $datetime = (Get-Date).ToString("MM/dd/yyyy hh:mm:ss.fff")
    $schema = $_.Schema
    $tableName = $_.Name

    $scripter.Options.FileName = "$scriptDir\$tableName.sql"          #出力先ファイル

    #Drop文を出力
    Add-Content -Path $scriptFile -encoding Unicode -Value "/****** Object:  Table [$schema].[$tableName]    Script Date: $datetime ******/"
    $scripter.Options.ScriptDrops = $true
    $scripter.Script($_)

    #Create文を出力
    Add-Content -Path $scriptFile -encoding Unicode -Value "/****** Object:  Table [$schema].[$tableName]    Script Date: $datetime ******/"
    $scripter.Options.ScriptDrops = $false
    $scripter.Script($_)
}

以上是关于powershell 全テーブルの创建表文を作成する(テーブル単位)ref:http://qiita.com/nakaji/items/91aa1986ba68232e6129的主要内容,如果未能解决你的问题,请参考以下文章

html jQueryテーブルの偶数·奇数の行の色を変える

sql Vertica的のテーブル作成&データ登录について

sql 插入时に记录テーブルに同时にデータ登录する

csharp シーン名を管理するEnumを作成するエディター拡张

markdown MySQL的でテーブルがロックされているか确认する

java Overwride.javaで作成したテキストファイルの中身をコマンドライン上に表示する。