标签: checksum

数据校验和如何与流复制交互?

数据校验和是 9.3 中引入的新功能,并且:

有一个新的 GUC 参数“ignore_checksum_failure”,即使检测到损坏,它也会强制 PostgreSQL 继续处理事务

如果复制主机上的校验和失败,损坏的数据会复制到从服务器还是复制停止。这取决于 的设置ignore_checksum_failure吗?

这个README 有一些有用的相关信息,但没有直接回答问题。

postgresql replication postgresql-9.3 checksum

11
推荐指数
1
解决办法
672
查看次数

CASE 语句中的空值

当我为 70-461 考试而学习时,我正在 SSMS 中玩弄一些东西以学习更多知识,但我遇到了一些问题。我正在尝试创建一个表来使用,因此我不必更改/删除 AdventureWorks 或 TSQL2012 数据库中任何已创建的表。在实际创建要使用的表之前,我创建了一个临时表来测试我的代码,这是我用来将值插入表中的代码:

DECLARE @i INT = 1
 WHILE @i < 10
    BEGIN
    INSERT INTO #TestEmployeeCountry 
    VALUES ( SUBSTRING('ABCDEFGHIJKLMNOP', @i, 1), 
        CASE (SELECT ABS(CHECKSUM(NEWID()))%10 +1)
            WHEN 1 THEN 'USA'
            WHEN 2 THEN 'CANADA'
            WHEN 3 THEN 'MEXICO'
            WHEN 4 THEN 'UK'
            WHEN 5 THEN 'FRANCE'
            WHEN 6 THEN 'SPAIN'
            WHEN 7 THEN 'RUSSIA'
            WHEN 8 THEN 'CHINA'
            WHEN 9 THEN 'JAPAN'
            WHEN 10 THEN 'INDIA'
        END)
    SET @i = @i + 1
    END;
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是我不断收到错误消息“无法将值 …

insert t-sql case checksum

8
推荐指数
1
解决办法
1753
查看次数

将页面验证模式从撕裂页面切换到校验和时,页面如何获取更新的校验和?

有一个较旧但较大的数据库(在 san 上为 6tb),其页面验证选项仍设置为 TORN_PAGE_DETECTION。将页面验证更改为校验和模式时,如何将新的校验和应用于所有现有页面?对页面验证模式进行此更改时是否有任何需要注意的大开销?这是否需要在较长的维护窗口期间完成?

SQL 2014 当前数据库兼容级别 = 120

sql-server corruption sql-server-2014 checksum

6
推荐指数
1
解决办法
196
查看次数

如何解决 BACKUP WITH CHECKSUM 而不是 DBCC CHECKDB 检测到的损坏?

最近,我被要求从生产环境刷新测试服务器上的几个数据库。一直想遵循最佳实践,我使用WITH CHECKSUM选项执行备份,最终得到以下错误:

Msg 3043, Level 16, State 1, Line 32
BACKUP 'DBName' detected an error on page (1:428321) in file 'F:\path\DBName.mdf'.
Msg 3013, Level 16, State 1, Line 32
BACKUP DATABASE is terminating abnormally.
Run Code Online (Sandbox Code Playgroud)

对错误感到惊讶,我运行DBCC CHECKDB以查看发生了什么,但不幸的是(或者幸运的是),它恢复正常。

到目前为止,我发现的所有信息都鼓励使用 DBCC CHECKDB 的发现作为下一步的指南,所以我不确定如何解决这个问题?

一些快速信息:

  1. SQL Server 是 2008 R2。

  2. 我在msdb.dbo.suspect_pages表中发现了错误的确认。它包含事件类型 1 和 3。

  3. 我使用的 DBCC 命令是 DBCC CHECKDB (DBName) WITH NO_INFOMSGS, ALL_ERRORMSGS;

  4. 我不是正式的 DBA,但由于我有一些经验,所以我被允许执行备份和恢复。

  5. 我确实读过类似的帖子DBCC CheckDB 会错过哪些类型的损坏?. 然而,虽然我相信我明白为什么(那篇文章的重点),但我不知道如何解决它。

  6. 通过省略WITH CHECKSUM选项,我能够成功执行备份。

在此先感谢您的指导! …

sql-server-2008-r2 dbcc-checkdb checksum

5
推荐指数
1
解决办法
687
查看次数