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



我们使用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 中的任何其他选项。

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

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

先决条件:

  1. 一个有效的 SQL Server 备份文件。这可以从 SQL 创建 服务器管理工作室或 dbatools.io
  2. 一个 SQL 服务器
  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:Tempfilename.bak -WithReplace -useDestinationDefaultDirectories -ReplaceDbNameInFile

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

最新更新