Heim >Datenbank >MySQL-Tutorial >SQLSERVER页面错误的解决方案记录

SQLSERVER页面错误的解决方案记录

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 15:45:041796Durchsuche

SQLSERVER页面错误的解决方案记录 前天帮人解决一个问题,他的SQLSERVER出现了页面错误,使用dbcc checkdb修复没有报错,但是收缩数据库的时候报错说有页面错误 今天记录一下我帮他解决的方法 先声明一下我是使用自己的数据库来做演示的,本人自己的数据库没

SQLSERVER页面错误的解决方案记录

前天帮人解决一个问题,他的SQLSERVER出现了页面错误,使用dbcc checkdb修复没有报错,但是收缩数据库的时候报错说“有页面错误”

今天记录一下我帮他解决的方法

先声明一下我是使用自己的数据库来做演示的,本人自己的数据库没有任务数据库错误,我只是拿自己的数据库作为例子

朋友的SQLSERVER出现如下错误:


消息 824,级别 24,状态 2,第 1 行
SQL Server 检测到基于一致性的逻辑 I/O 错误 pageid 不正确(应为 9:912,但实际为 0:0)。在文件 'I:\data\PIMRpt_DB12_f.ndf' 中、偏移量为 0x00000000720000 的位置对数据库 ID 5 中的页 (9:912) 执行 读取 期间,发生了该错误。SQL Server 错误日志或系统事件日志中的其他消息可能提供了更详细信息。这是一个威胁数据库完整性的严重错误条件,必须立即纠正。请执行完整的数据库一致性检查(DBCC CHECKDB)。此错误可以由许多因素导致;有关详细信息,请参阅 SQL Server 联机丛书。

824错误是典型错误

 上面的错误信息表示页面号912有错误页 (9:912)

说明一下:我自己本机演示的数据库使用我自己本机上的pratice数据库,稍后我会使用DBCC PAGE显示出索引页跟数据页的不同

下面说一下解决步骤:

步骤一:找出页所属objectid 和页面信息

使用”DBCC PAGE(dbid,fileid,pageid,formatid) --formatid一般为3“  (formatid的可选值为1,2,3 一般3是比较友好的其余两种显示格式比较深奥)

语句来找出错的那个页面的信息

<span>1</span> <span>EXEC</span> sys.sp_helpdb <span>@dbname</span> <span>=</span> pratice   <span>--</span><span>找出数据库ID</span>
<span>2</span> 
<span>3</span> <span>USE</span><span> pratice 
</span><span>4</span> 
<span>5</span> <span>EXEC</span> sys.sp_helpfile  <span>--</span><span>找出数据文件ID</span>

 

然后就可以运行下面语句了:

下面这两句要一起运行

<span>1</span> <span>DBCC</span> TRACEON(<span>3604</span>,<span>-</span><span>1</span><span>)
</span><span>2</span> 
<span>3</span>  <span>DBCC</span> PAGE(<span>13</span>,<span>1</span>,<span>10</span>,<span>3</span>)   <span>--</span><span>指定错误页面号10</span>

 

--下面我是分别查看了10号页面和912号页面  10号页面是索引页面,912号页面是数据页面

 再说明一下indexid的值

IndexId=0 堆 数据页
IndexId=1 聚集索引  索引页
IndexId>1 非聚集索引  索引页

由于时间关系我直接输出了,里面有解析

<span> 1</span> <span>--</span><span>------------------------页面号10--------------------------------------------------------------------</span>
<span> 2</span> <span>--</span><span>输出结果 页面号为10的</span>
<span> 3</span> <span>--</span><span>根据显示结果中的IndexId=1表示这个页面存储的是索引</span>
<span> 4</span> <span>--</span><span>Metadata: IndexId = 1</span>
<span> 5</span> <span>--</span><span>Metadata: ObjectId = 44  </span>
<span> 6</span> <span>--</span><span>m_pageId = (1:10)  </span>
<span> 7</span> <span>--</span><span>Metadata: PartitionId = 281474979594240 </span>
<span> 8</span> 
<span> 9</span> 
<span>10</span> <span>--</span><span>DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。</span>
<span>11</span>    
<span>12</span> <span>--</span><span>PAGE: (1:10)</span>
<span>13</span> <span>--
</span><span>14</span> <span>--
</span><span>15</span> <span>--</span><span>BUFFER:</span>
<span>16</span> <span>--
</span><span>17</span> <span>--
</span><span>18</span> <span>--</span><span>BUF @0x03EDB51C</span>
<span>19</span> <span>--
</span><span>20</span> <span>--</span><span>bpage = 0x074C6000                   bhash = 0x00000000                   bpageno = (1:10)</span>
<span>21</span> <span>--</span><span>bdbid = 13                           breferences = 0                      bUse1 = 35725</span>
<span>22</span> <span>--</span><span>bstat = 0x2c00009                    blog = 0x32159                       bnext = 0x00000000</span>
<span>23</span> <span>--
</span><span>24</span> <span>--</span><span>PAGE HEADER:</span>
<span>25</span> <span>--
</span><span>26</span> <span>--
</span><span>27</span> <span>--</span><span>Page @0x074C6000</span>
<span>28</span> <span>--
</span><span>29</span> <span>--</span><span>m_pageId = (1:10)                    m_headerVersion = 1                  m_type = 10</span>
<span>30</span> <span>--</span><span>m_typeFlagBits = 0x0                 m_level = 0                          m_flagBits = 0x200</span>
<span>31</span> <span>--</span><span>m_objId (AllocUnitId.idObj) = 44     m_indexId (AllocUnitId.idInd) = 1    Metadata: AllocUnitId = 281474979594240</span>
<span>32</span> <span>--</span><span>Metadata: PartitionId = 281474979594240                                   Metadata: IndexId = 1</span>
<span>33</span> <span>--</span><span>Metadata: ObjectId = 44              m_prevPage = (0:0)                   m_nextPage = (0:0)</span>
<span>34</span> <span>--</span><span>pminlen = 90                         m_slotCnt = 2                        m_freeCnt = 6</span>
<span>35</span> <span>--</span><span>m_freeData = 8182                    m_reservedCnt = 0                    m_lsn = (12:176:14)</span>
<span>36</span> <span>--</span><span>m_xactReserved = 0                   m_xdesId = (0:0)                     m_ghostRecCnt = 0</span>
<span>37</span> <span>--</span><span>m_tornBits = -1951658170             </span>
<span>38</span> <span>--
</span><span>39</span> <span>--</span><span>Allocation Status</span>
<span>40</span> <span>--
</span><span>41</span> <span>--</span><span>GAM (1:2) = ALLOCATED                SGAM (1:3) = NOT ALLOCATED           </span>
<span>42</span> <span>--</span><span>PFS (1:1) = 0x70 IAM_PG MIXED_EXT ALLOCATED   0_PCT_FULL                  DIFF (1:6) = CHANGED</span>
<span>43</span> <span>--</span><span>ML (1:7) = NOT MIN_LOGGED            </span>
<span>44</span> <span>--
</span><span>45</span> <span>--</span><span>IAM: Header @0x5E7FC064 Slot 0, Offset 96</span>
<span>46</span> <span>--
</span><span>47</span> <span>--</span><span>sequenceNumber = 0                   status = 0x0                         objectId = 0</span>
<span>48</span> <span>--</span><span>indexId = 0                          page_count = 0                       start_pg = (1:0)</span>
<span>49</span> <span>--
</span><span>50</span> <span>--
</span><span>51</span> <span>--</span><span>IAM: Single Page Allocations @0x5E7FC08E</span>
<span>52</span> <span>--
</span><span>53</span> <span>--</span><span>Slot 0 = (0:0)                       Slot 1 = (1:50)                      Slot 2 = (0:0)</span>
<span>54</span> <span>--</span><span>Slot 3 = (0:0)                       Slot 4 = (0:0)                       Slot 5 = (0:0)</span>
<span>55</span> <span>--</span><span>Slot 6 = (0:0)                       Slot 7 = (0:0)                       </span>
<span>56</span> <span>--
</span><span>57</span> <span>--
</span><span>58</span> <span>--</span><span>IAM: Extent Alloc Status Slot 1 @0x5E7FC0C2</span>
<span>59</span> <span>--
</span><span>60</span> <span>--</span><span>(1:0)        - (1:43256)    = NOT ALLOCATED                               </span>
<span>61</span> <span>--
</span><span>62</span> <span>--
</span><span>63</span> <span>--</span><span>DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。</span>

 

<span>  1</span> <span>--</span><span>-----------------------------------页面号912---------------------------------------------------------------------</span>
<span>  2</span> <span>--</span><span>因为SQLSERVER输出有4000多行,所以我只摘录了一部分</span>
<span>  3</span> 
<span>  4</span> <span>--</span><span>输出结果 页面号为912的</span>
<span>  5</span> <span>--</span><span>根据显示结果中的IndexId=0表示这个页面是数据页</span>
<span>  6</span> <span>--</span><span>d = 超级坏   是表里面的数据</span>
<span>  7</span> <span>--</span><span>Metadata: IndexId = 0</span>
<span>  8</span> <span>--</span><span>Metadata: ObjectId = 197575742</span>
<span>  9</span> <span>--</span><span>Metadata: PartitionId = 72057594039500800   --页面所属分区</span>
<span> 10</span> <span>--</span><span>m_pageId = (1:912) </span>
<span> 11</span> 
<span> 12</span> 
<span> 13</span> <span>--</span><span>DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。</span>
<span> 14</span> <span>--
</span><span> 15</span> <span>--</span><span>PAGE: (1:912)</span>
<span> 16</span> <span>--
</span><span> 17</span> <span>--
</span><span> 18</span> <span>--</span><span>BUFFER:</span>
<span> 19</span> <span>--
</span><span> 20</span> <span>--
</span><span> 21</span> <span>--</span><span>BUF @0x03F3E79C</span>
<span> 22</span> <span>--
</span><span> 23</span> <span>--</span><span>bpage = 0x0A20A000                   bhash = 0x00000000                   bpageno = (1:912)</span>
<span> 24</span> <span>--</span><span>bdbid = 13                           breferences = 3                      bUse1 = 35858</span>
<span> 25</span> <span>--</span><span>bstat = 0xc00009                     blog = 0x21212159                    bnext = 0x00000000</span>
<span> 26</span> <span>--
</span><span> 27</span> <span>--</span><span>PAGE HEADER:</span>
<span> 28</span> <span>--
</span><span> 29</span> <span>--
</span><span> 30</span> <span>--</span><span>Page @0x0A20A000</span>
<span> 31</span> <span>--
</span><span> 32</span> <span>--</span><span>m_pageId = (1:912)                   m_headerVersion = 1                  m_type = 1</span>
<span> 33</span> <span>--</span><span>m_typeFlagBits = 0x4                 m_level = 0                          m_flagBits = 0x200</span>
<span> 34</span> <span>--</span><span>m_objId (AllocUnitId.idObj) = 89     m_indexId (AllocUnitId.idInd) = 256  </span>
<span> 35</span> <span>--</span><span>Metadata: AllocUnitId = 72057594043760640                                 </span>
<span> 36</span> <span>--</span><span>Metadata: PartitionId = 72057594039500800                                 Metadata: IndexId = 0</span>
<span> 37</span> <span>--</span><span>Metadata: ObjectId = 197575742       m_prevPage = (1:911)                 m_nextPage = (1:913)</span>
<span> 38</span> <span>--</span><span>pminlen = 25                         m_slotCnt = 155                      m_freeCnt = 7</span>
<span> 39</span> <span>--</span><span>m_freeData = 7875                    m_reservedCnt = 7                    m_lsn = (2252:12136:46)</span>
<span> 40</span> <span>--</span><span>m_xactReserved = 7                   m_xdesId = (0:2442865)               m_ghostRecCnt = 0</span>
<span> 41</span> <span>--</span><span>m_tornBits = 437279274               </span>
<span> 42</span> <span>--
</span><span> 43</span> <span>--</span><span>Allocation Status</span>
<span> 44</span> <span>--
</span><span> 45</span> <span>--</span><span>GAM (1:2) = ALLOCATED                SGAM (1:3) = NOT ALLOCATED           PFS (1:1) = 0x44 ALLOCATED 100_PCT_FULL</span>
<span> 46</span> <span>--</span><span>DIFF (1:6) = CHANGED                 ML (1:7) = NOT MIN_LOGGED            </span>
<span> 47</span> <span>--
</span><span> 48</span> <span>--</span><span>Slot 0 Offset 0x60 Length 65</span>
<span> 49</span> <span>--
</span><span> 50</span> <span>--</span><span>Record Type = PRIMARY_RECORD         Record Attributes =  NULL_BITMAP VARIABLE_COLUMNS</span>
<span> 51</span> <span>--
</span><span> 52</span> <span>--</span><span>Memory Dump @0x5F49C060</span>
<span> 53</span> <span>--
</span><span> 54</span> <span>--</span><span>00000000:   30002200 50d65f01 339f0000 64b90100 †0.".P._.3...d...         </span>
<span> 55</span> <span>--</span><span>00000010:   016cb901 00000000 004f57ba 4e00042d †.l.......OW.N..-         </span>
<span> 56</span> <span>--</span><span>00000020:   00000800 40040033 0039003d 00410063 †....@..3.9.=.A.c         </span>
<span> 57</span> <span>--</span><span>00000030:   b9010085 8da77e4f 57bbb5c8 cb4f57ba †......~OW....OW.         </span>
<span> 58</span> <span>--</span><span>00000040:   4e†††††††††††††††††††††††††††††††††††N                        </span>
<span> 59</span> <span>--
</span><span> 60</span> <span>--</span><span>Slot 0 Column 0 Offset 0x2f Length 4</span>
<span> 61</span> <span>--
</span><span> 62</span> <span>--</span><span>DROPPED = 112995                     </span>
<span> 63</span> <span>--
</span><span> 64</span> <span>--</span><span>Slot 0 Column 1 Offset 0x4 Length 8</span>
<span> 65</span> <span>--
</span><span> 66</span> <span>--</span><span>c = 08  2 2011  9:21PM               </span>
<span> 67</span> <span>--
</span><span> 68</span> <span>--</span><span>Slot 0 Column 2 Offset 0x33 Length 6</span>
<span> 69</span> <span>--
</span><span> 70</span> <span>--</span><span>d = 超级坏                           </span>
<span> 71</span> <span>--
</span><span> 72</span> <span>--</span><span>Slot 0 Column 3 Offset 0xc Length 4</span>
<span> 73</span> <span>--
</span><span> 74</span> <span>--</span><span>a = 112996                           </span>
<span> 75</span> <span>--
</span><span> 76</span> <span>--</span><span>Slot 0 Column 4 Offset 0x39 Length 4</span>
<span> 77</span> <span>--
</span><span> 78</span> <span>--</span><span>DROPPED = 坏人                       </span>
<span> 79</span> <span>--
</span><span> 80</span> <span>--</span><span>Slot 0 Column 5 Offset 0x10 Length 9</span>
<span> 81</span> <span>--
</span><span> 82</span> <span>--</span><span>e = 113004                           </span>
<span> 83</span> <span>--</span><span>salary = [NULL]                      </span>
<span> 84</span> <span>--
</span><span> 85</span> <span>--</span><span>Slot 0 Column 7 Offset 0x3d Length 4</span>
<span> 86</span> <span>--
</span><span> 87</span> <span>--</span><span>b = 坏人                             </span>
<span> 88</span> <span>--
</span><span> 89</span> <span>--</span><span>Slot 1 Offset 0xa1 Length 65</span>
<span> 90</span> <span>--
</span><span> 91</span> <span>--</span><span>Record Type = PRIMARY_RECORD         Record Attributes =  NULL_BITMAP VARIABLE_COLUMNS</span>
<span> 92</span> <span>--
</span><span> 93</span> <span>--</span><span>Memory Dump @0x5F49C0A1</span>
<span> 94</span> <span>--
</span><span> 95</span> <span>--</span><span>00000000:   30002200 50d65f01 339f0000 65b90100 †0.".P._.3...e...         </span>
<span> 96</span> <span>--</span><span>00000010:   016db901 00000000 004f57ba 4e00042d †.m.......OW.N..-         </span>
<span> 97</span> <span>--</span><span>00000020:   00000800 40040033 0039003d 00410064 †....@..3.9.=.A.d         </span>
<span> 98</span> <span>--</span><span>00000030:   b9010085 8da77e4f 57bbb5c8 cb4f57ba †......~OW....OW.         </span>
<span> 99</span> <span>--</span><span>00000040:   4e†††††††††††††††††††††††††††††††††††N                        </span>
<span>100</span> <span>--
</span><span>101</span> <span>--</span><span>Slot 1 Column 0 Offset 0x2f Length 4</span>
<span>102</span> <span>--
</span><span>103</span> <span>--</span><span>DROPPED = 112996                     </span>
<span>104</span> <span>--
</span><span>105</span> <span>--</span><span>Slot 1 Column 1 Offset 0x4 Length 8</span>
<span>106</span> <span>--
</span><span>107</span> <span>--</span><span>c = 08  2 2011  9:21PM               </span>
<span>108</span> <span>--
</span><span>109</span> <span>--</span><span>Slot 1 Column 2 Offset 0x33 Length 6</span>
<span>110</span> <span>--
</span><span>111</span> <span>--</span><span>d = 超级坏                           </span>
<span>112</span> <span>--
</span><span>113</span> <span>--</span><span>Slot 1 Column 3 Offset 0xc Length 4</span>
<span>114</span> <span>--
</span><span>115</span> <span>--</span><span>a = 112997                           </span>
<span>116</span> <span>--
</span><span>117</span> <span>--</span><span>Slot 1 Column 4 Offset 0x39 Length 4</span>
<span>118</span> <span>--
</span><span>119</span> <span>--</span><span>DROPPED = 坏人                       </span>
<span>120</span> <span>--
</span><span>121</span> <span>--</span><span>Slot 1 Column 5 Offset 0x10 Length 9</span>
<span>122</span> <span>--
</span><span>123</span> <span>--</span><span>e = 113005                           </span>
<span>124</span> <span>--</span><span>salary = [NULL]                      </span>
<span>125</span> <span>--
</span><span>126</span> <span>--</span><span>Slot 1 Column 7 Offset 0x3d Length 4</span>
<span>127</span> <span>--
</span><span>128</span> <span>--</span><span>b = 坏人                             </span>
<span>129</span> <span>--
</span><span>130</span> <span>--</span><span>Slot 2 Offset 0xe2 Length 9</span>
<span>131</span> <span>--
</span><span>132</span> <span>--</span><span>Record Type = FORWARDING_STUB        Record Attributes =                  </span>
<span>133</span> <span>--</span><span>Memory Dump @0x5F49C0E2</span>
<span>134</span> <span>--
</span><span>135</span> <span>--</span><span>00000000:   04f12100 0001003f 00†††††††††††††††††..!....?.                </span>
<span>136</span> <span>--</span><span>Forwarding to  =  file 1 page 8689 slot 63                                </span>
<span>137</span> <span>--
</span><span>138</span> <span>--</span><span>Slot 3 Offset 0xeb Length 65</span>
<span>139</span> <span>--
</span><span>140</span> <span>--</span><span>Record Type = PRIMARY_RECORD         Record Attributes =  NULL_BITMAP VARIABLE_COLUMNS</span>
<span>141</span> <span>--
</span><span>142</span> <span>--</span><span>Memory Dump @0x5F49C0EB</span>
<span>143</span> <span>--
</span><span>144</span> <span>--</span><span>00000000:   30002200 50d65f01 339f0000 67b90100 †0.".P._.3...g...         </span>
<span>145</span> <span>--</span><span>00000010:   016fb901 00000000 004f57ba 4e00042d †.o.......OW.N..-         </span>
<span>146</span> <span>--</span><span>00000020:   00000800 40040033 0039003d 00410066 †....@..3.9.=.A.f         </span>
<span>147</span> <span>--</span><span>00000030:   b9010085 8da77e4f 57bbb5c8 cb4f57ba †......~OW....OW.         </span>
<span>148</span> <span>--</span><span>00000040:   4e†††††††††††††††††††††††††††††††††††N                        </span>
<span>149</span> <span>--
</span><span>150</span> <span>--</span><span>Slot 3 Column 0 Offset 0x2f Length 4</span>
<span>151</span> <span>--
</span><span>152</span> <span>--</span><span>DROPPED = 112998                     </span>
<span>153</span> <span>--
</span><span>154</span> <span>--</span><span>Slot 3 Column 1 Offset 0x4 Length 8</span>
<span>155</span> <span>--
</span><span>156</span> <span>--</span><span>c = 08  2 2011  9:21PM               </span>
<span>157</span> <span>--
</span><span>158</span> <span>--</span><span>Slot 3 Column 2 Offset 0x33 Length 6</span>
<span>159</span> <span>--
</span><span>160</span> <span>--</span><span>d = 超级坏                           </span>
<span>161</span> <span>--
</span><span>162</span> <span>--</span><span>Slot 3 Column 3 Offset 0xc Length 4</span>
<span>163</span> <span>--
</span><span>164</span> <span>--</span><span>a = 112999                           </span>
<span>165</span> <span>--
</span><span>166</span> <span>--</span><span>Slot 3 Column 4 Offset 0x39 Length 4</span>
<span>167</span> <span>--
</span><span>168</span> <span>--</span><span>DROPPED = 坏人                       </span>
<span>169</span> <span>--
</span><span>170</span> <span>--</span><span>Slot 3 Column 5 Offset 0x10 Length 9</span>
<span>171</span> <span>--
</span><span>172</span> <span>--</span><span>e = 113007                           </span>
<span>173</span> <span>--</span><span>salary = [NULL]                      </span>
<span>174</span> <span>--
</span><span>175</span> <span>--</span><span>Slot 3 Column 7 Offset 0x3d Length 4</span>
<span>176</span> <span>--
</span><span>177</span> <span>--</span><span>b = 坏人                             </span>
<span>178</span> <span>--
</span><span>179</span> <span>--</span><span>Slot 4 Offset 0x12c Length 65</span>
<span>180</span> <span>--
</span><span>181</span> <span>--</span><span>Record Type = PRIMARY_RECORD         Record Attributes =  NULL_BITMAP VARIABLE_COLUMNS</span>
<span>182</span> <span>--
</span><span>183</span> <span>--</span><span>Memory Dump @0x5F49C12C</span>
<span>184</span> <span>--
</span><span>185</span> <span>--</span><span>DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。</span>

 步骤二:运行TSQL语句查询页面信息

再次说明一下:我的数据库只是作为例子,本人自己的数据库没有任务数据库错误,我只是拿自己的数据库作为例子,所以下面的相应参数要替换为你自己的根据上面

DBCC PAGE的输出

根据objectid运行下面语句看看页面属于哪个对象

<span>1</span> <span>SELECT</span> 
<span>2</span> s.name <span>AS</span> N<span>'</span><span>架构名</span><span>'</span><span>,
</span><span>3</span> o.name <span>AS</span> N<span>'</span><span>表名</span><span>'</span>
<span>4</span> <span>FROM</span> sys.sysobjects o <span>INNER</span> <span>JOIN</span> sys.schemas s <span>ON</span> o.uid<span>=</span><span>s.schema_id
</span><span>5</span> <span>WHERE</span> o.id<span>=</span><span>44</span>

 

如果页是索引页的话运行下面这句,不是索引页不用运行

<span>1</span> <span>SELECT</span> 
<span>2</span> id <span>AS</span><span> objectid,
</span><span>3</span> indid <span>AS</span> N<span>'</span><span>索引id</span><span>'</span><span>,
</span><span>4</span> name <span>AS</span> N<span>'</span><span>索引名</span><span>'</span>
<span>5</span>  <span>FROM</span> sys.sysindexes <span>WHERE</span> id<span>=</span><span>44</span> <span>AND</span> indid<span>=</span><span>1</span>

如果页是索引页的话运行下面这句,不是索引页不用运行  clst是我自己数据库里的索引

<span>1</span> <span>EXEC</span> sys.sp_helpindex <span>@objname</span> <span>=</span> N<span>'</span><span>clst</span><span>'</span> <span>--</span><span> nvarchar(776)</span>

步骤三:当你运行以上TSQL语句查询出页面信息之后就可以选择解决方案了

-----------------------------------------------解决方案------------------------------------------------------------
根据页类型是索引页还是数据页

(1)索引页:可以先Drop索引,然后再创建就修复了,没有任何数据损失.

(2)数据页:数据页根据以下三种解决方案
1、还原完全备份
如果上一次的FULL BACKUP也存在这种一致性错误而你又没有及时发现,只能找上上一次的BACKUP了.
所以你的维护计划里一定要有DBCC CHECKDB检查.


2、导出数据  前提:你要知道损坏的数据页属于哪个表你才知道要导出哪个表的数据
1、新建文件组和数据文件,不用新建数据库,只需要在原来的数据库下新建文件组和数据文件
2、在新文件组里重建损坏的表,意思是说新建一个表,这个表属于新建的文件组,而且表结构要跟损坏的表一样,例如表A(id int,name varchar(50))

那么新建的表B的字段要跟原表A一样
CREATE TABLE B(id INT,NAME VARCHAR(50)) ON 新建的文件组
3、将原始表数据导入到新表中  即把表A的数据导入到表B
4、清空原始表

3、dbcc checkdb  选择dbcc checkdb的参数要慎重
 REPAIR_ALLOW_DATA_LOSS参数:如果是金融公司的数据库就很危险了

我朋友的情况:他查询出页面的信息里是这样的:

--Metadata: IndexId = -1
--Metadata: ObjectId = 265898
--m_pageId = (1:25632) 
--Metadata: PartitionId = 0

由于该页面没有了所属分区,索引信息也查不到,这个页面属于无主孤云,这个时候他dbcc checkdb的时候没有报错

那他只能选择两种解决方案:(1)还原完全备份  (2)导出数据

但是,除非你的完全备份没有数据库错误,不然无论你选择哪种方案都意味着部分数据丢失,至于丢失哪部分数据,谁也不知道,只有在下次查询到

丢失的数据的时候报错才知道!!!

最后,因为他没有完全备份,所以他最终选择了导出数据

总结:一句话“大家以后一定要做好数据库的备份工作”

 继续干活了,祝大家新的一个星期愉快!!o(∩_∩)o 哈哈

 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn