sql server上的重复实例

时间:2017-06-21 07:38:56

标签: sql sql-server sql-server-2016

如何在sql server中复制我的实例!?

我希望在同一台服务器上安装一个测试实例,仅用于测试目的,而不是对真实数据应用所有测试。

是否可以创建新实例并复制具有新实例权限的所有相同数据和用户?

或者除了VM之外还有其他任何方式,因为我的数据库正在运行并且正在使用其他用户,但我想在不打扰其他用户的情况下进行测试环境。而所有这些都在同一台服务器上。

4 个答案:

答案 0 :(得分:2)

您可以通过再次启动安装程序来安装新实例,也可以只使用相同的实例并将prod数据库的备份还原到测试数据库。

答案 1 :(得分:1)

  

不会打扰其他用户

仅此要求意味着您必须在另一台计算机或VM上运行您的实例。如果没有影响整个服务器的某些事情,以及在其上运行的任何其他实例,您不能指望在服务器上维护实例。 (例如重新启动以进行修补或故障排除)

没有理由你有资源不只是把它放在另一台虚拟机上,但这完全取决于你想要测试的内容(例如单元,集成或性能测试)。

关于复制服务器,您可以使用dbatoolsStart-SqlMigration将执行工作以完成主要部分。为了使其成为最简单的过程,有助于确保新的SQL Server实例具有相同的驱动器配置。

答案 2 :(得分:0)

是的,你可以做到。只需create new instance,然后恢复你的产品。该实例上的数据库。您可能需要在那里创建用户。

以下内容可能有助于创建用户并将其映射到数据库中的用户。

USE [master]
GO
CREATE LOGIN [myDBUser] WITH PASSWORD=N'myPassword' MUST_CHANGE, DEFAULT_DATABASE=[myDB], CHECK_EXPIRATION=ON, CHECK_POLICY=ON
GO
USE mdb
exec sp_change_users_login @Action = 'Update_One',@UserNamePattern = 'myDBUser', @LoginName = 'myDBUser'

答案 3 :(得分:0)

您可以使用DBATools的Start-SqlMigration powershell命令行开关自动执行此项工作。

然而,我会警告不要同时进行生产和生产。同一物理硬件上的测试实例,因为您将匮乏资源的生产实例。