0

我想创建一个 powershell 脚本,我可以在更新对象之前运行它来将对象备份到文件中。我的目标是在更改对象之前备份对象,以防出现问题。我想传递参数以运行如下:

backupobjects.ps1 -servername -databasename -schemaname -objectname -outputdirectory

因此,如果我调用此 powershell 脚本并传入参数,该脚本将连接到数据库并找到对象并保存 CREATE 脚本并将对象保存到传入的输出目录中,并将 BEFORE_objectname.sql 作为文件名。

我刚开始使用 powershell,所以接受我还没有学过的参数。

任何指导或建议都会有所帮助。

4

1 回答 1

0

与其为你写,不如给你一些建议:

1)param是你在powershell中传递参数的方式。我喜欢这样做:

param (
   [string] $server = (Read-Host "Enter a server name"),
   [string] $db = (Read-Host "Enter a database name")
)

然后,您稍后在脚本中引用 $server 和 $db,就好像您已明确初始化它们一样。

2) SQL server 中的大多数(如果不是全部)对象都附加了一个 Script() 方法。例如看一下Table 类

3) 您可以使用 ScriptingOptions 类控制对象的脚本编写方式。当您在对象上调用 Script() 方法时,将 ScriptingOptions 对象作为参数传递,脚本行为将受其控制。

于 2012-04-16T16:55:06.273 回答