数据库
首页 > 数据库> > 使用Microsoft.SqlServer.SMO创建一个Alter Stored Procedure sql脚本?

使用Microsoft.SqlServer.SMO创建一个Alter Stored Procedure sql脚本?

作者:互联网

以下Powershell脚本似乎成功生成了“创建”存储过程脚本

[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环境.

我总是可以添加一条语句,将“ CREATE PROC”替换为“ ALTER PROC”,但这似乎不太好…

解决方法:

以下Powershell脚本似乎对我有用:

[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

请注意,将true传递给以下命令将创建一个更改标头:

$proc.ScriptHeader($true) 

标签:powershell,sql-server-2005,c
来源: https://codeday.me/bug/20191201/2084384.html