首页 >数据库 >mysql教程 >SQLSERVER页面错误的解决方案记录

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB原创
2016-06-07 15:45:041796浏览

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 哈哈

 

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn