は次のPowerShellスクリプトが正常にMicrosoft.SqlServer.SMOを使用して変更ストアドプロシージャのSQLスクリプトを作成しますか?
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.SMO") | out-null
$srv = new-object Microsoft.SqlServer.Management.Smo.Server("<SERVER>")
$db = $srv.Databases.Item("<Database>")
$proc = $db.StoredProcedures.Item("<StoredProcedure>")
$proc.Script() > testScript.sql
は、同様のアプローチ、すなわちスクリプト作成オプションを変更することを利用して「アルター」を作成するために、とにかくあり、「作成」ストアドプロシージャのスクリプトを生成しているようですか? SQL Server 2005環境を参照しています。
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.SMO") | out-null
$srv = new-object Microsoft.SqlServer.Management.Smo.Server("<SERVER>")
$db = $srv.Databases.Item("<DATABASE>")
$proc = $db.StoredProcedures | ?{ $_.Name -eq "<STORED PROC>"}
$retval = $proc.ScriptHeader($true) + $proc.TextBody
$retval > testScript.sql
注:
[SMO(サーバー管理オブジェクト)を使用してCREATEスクリプトの代わりにALTERスクリプトを作成する方法] http://stackoverflow.com/questions/3159901/how-to-create-alter-scripts-instead-of-create-scripts-using-smo-server-manageme) – msarchet
質問を複写するのに同意します。私は、Red Gate SQLCompareのようなサードパーティのツールを追加して、コマンドラインインターフェイスを持っています。 –