要恢复 SQL Server 2008 数据库,我希望能够在 powershell 中执行如下操作:
./restore.ps1 数据库名称.bak
然后,powershell 脚本将按照惯例将其恢复到名为“DatabaseName”的数据库。它将断开与此数据库连接的任何用户,以便可以恢复数据库。它会将 mdf 和 ldf 存储在默认位置。
这主要适用于在我的个人机器上进行开发。这只是一种快速恢复数据库的方法。
有人有这样的脚本吗?
谢谢
答案1
我创建了一个脚本并将其发布在Posh代码这应该可以满足您的要求。该脚本使用查询语言sqlserver 模块。注意,我必须向invoke-sqlrestore函数添加一个仅恢复文件列表选项,因此您需要从源代码部分而不是下载部分获取模块。这将添加到SQLPSX的未来版本中:
模块: http://sqlpsx.codeplex.com/SourceControl/changeset/view/58378#564810
答案2
请参考PowerShell 脚本用于备份数据库并在其他服务器上恢复 http://bi-bigdata.com/2012/12/16/power-shell-script-to-backup-a-database-and-restore-on-other-server/