我们是一家小型企业,使用单个 SQL Server 2014 实例作为我们的主要数据平台。
我们现在需要设置第二个实例(2017)来保存额外的数据 - 这是独立的,即不复制或主动链接到主服务器。
免责声明:我是一名开发人员,不是 DBA。聘请经过培训的 DBA 来完成这项任务超出了我们的预算。
我可以愉快地安装软件并尽力正确设置它,但理想情况下,如果有办法将大部分设置从主服务器复制到新服务器,那就太好了。
我们对主 SQL 实例的设置方式很满意,是否可以导出和导入这些设置?是否有一个易于遵循的指南,用于根据现有实例的类似配置创建新的 SQL 实例?
答案1
这dbatools PowerShell模块可以为您完成此操作。该模块具有一长串的命令,它可以将配置、登录名、数据库(本质上是整个实例)从一台机器复制到另一台机器。您可以选择复制所有内容,也可以只复制一部分。
你可能至少想复制配置,DB 邮件配置,可能还有你的部分或全部SQL 代理作业。作业可能是需要复制的重要内容,因为它们可能包含对服务器健康至关重要的备份和其他维护作业。
在 PowerShell 提示符下,您可以执行以下操作 - 请注意,我已经提供了几个用于复制 SQL 代理作业的不同示例:
# Install the module
Install-Module dbatools
# Import the module
Import-Module dbatools
# Copy configurations
Copy-DbaSpConfigure -Source "OldServer" -Destination "NewServer"
# Copy DB Mail
Copy-DbaDbMail -Source "OldServer" -Destination "NewServer"
# Copy All SQL Agent Jobs
Copy-DbaAgentJob -Source "OldServer" -Destination "NewServer"
# Copy a single SQL Agent Job
Copy-DbaAgentJob -Source "OldServer" -Destination "NewServer" -Job "Weekly Backups"
# Copy everything except two SQL Agent Jobs
Copy-DbaAgentJob -Source "OldServer" -Destination "NewServer" -ExcludeJob "Job1", "Job2"
答案2
据我所知,如果没有某些第三方工具,就没有真正的方法可以自动设置实例配置设置,但是,您可以使用此查询,捕获结果,然后在安装后在新实例上进行配置更改,以通过 SSMS 或 T-Sql 手动匹配使用相同的设置。
Select * from sys.configurations order by name;
答案3
没有,没有。其实没有。一开始就没有那么多设置。
问题是,可能永远也不会有任何解决方案,因为任何进行多台计算机安装的人都会完全使用脚本,因此您不会复制设置,而是使用相同的设置通过脚本配置所有计算机。您使用 DRSC/Chocolatey 安装 SQL Server,然后运行脚本来设置设置。