SQL Powershell创建对象备份

时间:2012-04-16 15:49:38

标签: sql powershell

我想创建一个powershell脚本,我可以运行它来备份对象到文件,然后再更新它们。我的目标是在更改它们之前备份对象以防万一。我想传递参数以运行如下:

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

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

我刚刚开始使用powershell,所以接受我尚未学习的参数。

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

1 个答案:

答案 0 :(得分: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 class

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