首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ola Hallengren的维护解决方案脚本不会将事务日志文件转储到目标

Ola Hallengren的维护解决方案脚本不会将事务日志文件转储到目标
EN

Database Administration用户
提问于 2023-04-24 10:58:10
回答 1查看 47关注 0票数 1

在我们的一个客户端站点,我实现了一个高可用性(HA)解决方案。但是,在备份过程中,我遇到了一个与备份环境配置相关的问题。我们使用Ola Hallengren的维护解决方案脚本配置了备份环境。该环境包括一个Windows主机名和@@serverproperty,它们不同,这导致备份过程因此错误而停止。

代码语言:javascript
复制
(Message 50000)  Source: https://sqlhelps.com [SQLSTATE 01000] (Message 50000)       [SQLSTATE 01000] (Message 50000)  The @@SERVERNAME does not match SERVERPROPERTY('ServerName'). See https://docs.microsoft.com/en-us/sql/database-engine/install-windows/rename-a-computer-that-hosts-a-stand-alone-instance-of-sql-server. [SQLSTATE 42000] (Error 50000)      [SQLSTATE 01000] (Message 50000)  Date and time: 2023-04-23 12:46:07 [SQLSTATE 01000] (Message 50000)       [SQLSTATE 01000] (Message 50000).  The step failed.

为了解决这个问题,我注释掉了如下所示的issue脚本:--// Check @@SERVERNAME //-- --IF 'MainServer' <> CAST(SERVERPROPERTY('ServerName') AS nvarchar(max)) AND SERVERPROPERTY('IsHadrEnabled') = 1 --BEGIN -- INSERT INTO @Errors ([Message], Severity, [State]) -- SELECT 'The @@SERVERNAME does not match SERVERPROPERTY(''ServerName''). See ' + CASE WHEN SERVERPROPERTY('IsClustered') = 0 THEN 'https://docs.microsoft.com/en-us/sql/database-engine/install-windows/rename-a-computer-that-hosts-a-stand-alone-instance-of-sql-server' WHEN SERVERPROPERTY('IsClustered') = 1 THEN 'https://docs.microsoft.com/en-us/sql/sql-server/failover-clusters/install/rename-a-sql-server-failover-cluster-instance' END + '.', 16, 1 --END

在注释掉此脚本后,备份过程将恢复正常,并同时进行完整备份和差异备份。但是,当试图在主副本上进行事务日志备份时,事务日志没有被转储到目标。

请注意,所有这些备份都是在主relica上执行的,其备份首选项为“主”

如果你能分享你对如何解决这个问题的想法和想法,我将不胜感激。谢谢。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2023-04-24 11:24:52

凯达。

首先,要解决@@SERVERNAMESERVERPROPERTY对应方之间的差异,请运行以下脚本:

https://github.com/MadeiraData/MadeiraToolbox/blob/master/Utility%20Scripts/Fix_ServerName_至_MachineName.sql

之后需要重新启动Server服务才能应用这些更改。

其次,关于备份首选项,请记住Ola Hallengren的维护解决方案在选择是否执行备份时考虑到AG副本备份首选项。但是,还可以通过指定@OverrideBackupPreference='Y'来使用@OverrideBackupPreference参数来覆盖它。这只适用于只复制备份和常规事务日志备份。然而,我强烈建议不要这样做。相反,您应该正确配置可用性组的备份首选项。

要了解如何配置可用性组的备份首选项,请参考以下内容:

https://learn.microsoft.com/en-us/sql/database-engine/availability-groups/windows/availability-group-properties-new-availability-group-backup-preferences-page

简言之:

使用查看和更改属性的

--可用性组:

  1. 在对象资源管理器中,连接到承载主副本的服务器实例,并展开服务器树。
  2. 展开“始终处于高可用性”节点和“可用性组”节点。
  3. 右键单击要查看其属性的可用性组,并选择properties命令。
  4. 在“可用性组属性”对话框中,使用“备份首选项”页面更改所选可用性组的属性。

应该在哪里进行备份?

偏好二级

指定备份应发生在辅助副本上,除非主副本是唯一的联机副本。在这种情况下,备份应该发生在主副本上。这是默认选项。

二级

指定不应在主副本上执行备份。如果主副本是唯一的联机副本,则不应该进行备份。

初级

指定备份应始终发生在主副本上。如果需要在辅助副本上运行备份时不支持创建差异备份等备份功能,则此选项非常有用。

任何副本

指定您希望备份作业在选择要执行备份的副本时忽略可用性副本的角色。注意,备份作业可能评估其他因素,例如每个可用性副本的备份优先级,以及其操作状态和连接状态。

副本备份优先级

此网格显示承载可用性组副本的每个服务器实例的当前备份优先级。使用此网格更改一个或多个可用副本的备份优先级。

服务器实例

承载可用性副本的Server实例的名称。

备份优先级(Lowest=1,Highest=100)

指定在此副本上相对于同一可用性组中的其他副本执行备份的优先级。该值为0..100范围内的整数。1表示最低优先级,100表示最高优先级。如果备份优先级= 1,则只有在当前没有更高优先级的可用副本时,才会选择可用性副本来执行备份。

不包括副本

如果不希望为执行备份选择此可用性副本,则选中此复选框。例如,对于远程可用性副本(您从不希望备份失败)来说,这很有用。

来源:

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/326343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档