繁体   English   中英

如何使用PowerShell从产品备份中刷新开发数据库

[英]How to use PowerShell to refresh a dev database from backup of prod

我们正在使用DDBoost备份和还原SQL Server数据库。

现在,我们要创建一个脚本或作业,以便开发人员可以启动脚本或作业来刷新其开发数据库,​​而无需询问DBA。

我知道在SQL Server Management Studio中我们无法在Job中接受输入,因此我想使用T-SQL或CLI或Powershell创建脚本来接受SourceDB,TargetDB之类的输入,然后使用参数刷新开发数据库。

我知道如何在PowerShell中进行输入,因此,如果有人可以通过以下方法告诉输入方法:

  • 使用Powershell从DDBoost还原
  • 将值从PowerShell传递到T-SQL或CLI
  • SQL Server Management Studio中的任何其他选项。

请帮助我进行设置。

谢谢和提前问候。

Shoaib

我将忽略有关DDBoost的事实,因为我不知道。

但是我知道dbatools.io ,它是一个非常坚固的powershell模块,可以完全满足您的需求。 它可以用一行Powershell还原整个数据库。 您可以根据需要将其设置为简单或高级。

先决条件:

  1. 一个有效的SQL Server备份文件。 可以从SQL Server Management Studio或dbatools.io创建
  2. SQL Server
  3. 执行用户需要特权来还原数据库。
  4. 安装dbatools

安装

启动PowerShell(以管理员身份运行)

Install-Module dbatools

备份资料库

在这里,我将展示如何使用dbatools备份数据库。

Backup-DbaDatabase -SqlInstance servername -Database databasename -BackupDirectory C:\Temp -CompressBackup

恢复数据库

在这里,我将展示如何使用dbatools还原数据库。

Restore-DbaDatabase -SqlInstance servername -DatabaseName databasename -Path C:\Temp\filename.bak -WithReplace -useDestinationDefaultDirectories -ReplaceDbNameInFile

还原脚本指示SQL Server覆盖任何现有数据库。 它将数据库文件还原到SQL Server配置中配置的文件夹中,并将替换物理文件中的数据库名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM