我有两个SQL Server,我想在其中一个上执行备份,然后在另一个服务器上恢复它。问题是数据库已存在于我正在恢复的服务器上,并且我希望保持安全设置的方式与我正在恢复的服务器上的方式相同。
另一个问题是我想从PowerShell中完成所有这些操作,因此没有GUI操作。
或者这可能是问题的错误解决方案。是否有其他方法可以在不进行备份/恢复和保持安全设置的情况下移动数据?
答案 0 :(得分:0)
在我的环境中,我们使用Powershell脚本和Red Gate Compare Professional来恢复数据库并保持安全性和数据库对象的差异。这个过程非常简单
此解决方案需要购买SQL版的Professional版本,并在可以从中执行脚本的开发服务器上安装该工具。所有这些都可以轻松地放入SQL Agent作业中。由于我们刚刚执行sqlcompare.exe
,因此使用Powershell非常基本答案 1 :(得分:0)
有an article here解释了如何通过PowerShell通过SMO编写SQL Server权限。然后,您的方案是在恢复备份之前从初始数据库获取脚本权限,然后在备份恢复后执行生成的脚本。