¤å³¹½s¸¹: 115519 - ¤W¦¸®Õ¾\: 2004¦~9¤ë22¤é - ª©¦¸: 1.0

¸ê°T¡G¦p¦ó±q SQL ¿ù»~°O¿ýÀɩΠDBCC ¿é¥X¤¤±½´y¥X¿ù»~

¨t²Î´£¥Ü¥»¤å¾A¥Î©ó±z¨Ï¥Îªº§@·~¨t²Î¤§¥~ªº§@·~¨t²Î¡C»P±z¤£¬ÛÃöªº¤å³¹¤º®e¤w°±¥Î¡C
¥»¤å´¿µo¦æ©ó CHT115519
¥þ³¡®i¶} | ¥þ³¡ºPÅ|

µ²½×

±z¥²¶·¸g±`Àˬd DBCC ¿é¥X»P SQL Server ¿ù»~°O¿ýÀÉ¥Hµo²{°ÝÃD¡C³o¶µ¤u§@¬J·ÐÂø¤S®e©öµo¥Í¿ù»~¡A¯S§O¬O ¦b¥²¶·Àˬd¦h³¡¦øªA¾¹¡A¦Ó¨C³¡¦øªA¾¹¤S¥i¯à¦³¼Æ­Ó¸ê®Æ®w¤§®É¡CWindows NT ªþ¦³¤@­Ó¥\¯à±j¤jªº®æ¦¡·j´M ¤½¥Îµ{¦¡ Findstr.exe¡A¥i¥H±N³o¶µ¤u§@¤j´T¦Û°Ê¤Æ¡C³o­Ó¤½¥Îµ{¦¡ÁÙ¯à³]©w¦¨¦bµo²{¯S©w¿ù»~¦r¦ê®É¡A§Y°õ ¦æ¬Y­Ó§å¦¸ÀÉ¡C¥»¤å§Y¦b»¡©ú¦p¦ó¨Ï¥Î Findstr¡C

¨ä¥L¬ÛÃö¸ê°T

Findstr ¬O¤@­Ó°ª®Ä¯àªº®æ¦¡·j´M¤½¥Îµ{¦¡¡A¥¦¹B¥Î¤F Win32 «D¦P¨B»PÀÉ®×¹ïÀ³ I/O¡A¥H²£¥Í³Ì¨Î¿é°e¶q¡C³o­Ó¤½¥Îµ{¦¡¤¹³\¨Ï¥Î³W«h¹Bºâ¦¡¡B¥i¦b¾ðª¬¥Ø¿ýµ²ºc¤¤©¹¤U»¼°j·j´M¡A¨Ã¥i±Æ°£¬Y¨Ç®æ¦¡¡A¦]¦¹¥i°õ¦æ NOT ¨ç¼Æ¡C¦p»Ý¸Ô²Ó¸ê°T¡A½Ð°Ñ¾\ Windows NT ¬ÛÃö¤å¥ó¡C

¨Ï¥Î Findstr.exe ¦b SQL Server ¿ù»~°O¿ýÀɩΠDBCC ¿é¥X¤¤´M§ä¿ù»~ªº°ò¥»¤èªk¦³¤G¡G
  • ©ú½T«ü¥X­n§ä¤°»ò¦r¦ê¡C
  • «ü©w¤£·Q§ä¥Xªº¦r¦ê (§Y°£¤F³o¨Ç¦r¦ê¥H¥~³£·|Åã¥Ü)¡C
­Y¨Ï¥Î²Ä¤@ºØ¤è¦¡¡A±z¥²¶·«Ø¥ß¤@­Ó¦r¦ê²M³æ¡A©w¸q Findstr ­n§ä¥X²Å¦Xªº¿ù»~¡C³o­Ó¦r¦ê²M³æ¥i¥H§@¬° Findstr ªº¿é¤JÀÉ¡C

¨Ò¦p¡A°²³]±z·Q§ä¥X¦r¦ê¡u¸ê®Æªí·l·´¡v(¥¦·|¦ñÀH¦hºØÄY­«ªº¸ê®Æ¿ù»~) ¥H¤Î¡u°T®§ 605¡v(¯S©wÃþ«¬ªº¿ù»~)¡C½Ð±N³o¨â­Ó¦r¦ê©ñ¨ìÀɮפ¤¡A¤º®e¦p¤U¡G
¸ê®Æªí·l·´
 (°T®§ 605)
µM«á¨Ï¥Î¤U¦C»yªk¦b DBCC ¿é¥XÀɤW°õ¦æ Findstr.exe¡G
findstr /i /g:search.txt dbcc.* > findstr.out
¨ä¤¤ search.txt ¬O·j´M¦r¦ê©Ò¦bªºÀɮסAdbcc.* ¥Nªí­n·j´Mªº¤@²Õ DBCC ¿é¥XÀÉ¡Afindstr.out ¬°¦s©ñ·j´Mµ²ªGªºÀɮסC

³o­Ó¤èªkªº§xÃø¦b©ó¥²¶·¨Æ¥ýª¾¹D­n·j´M¨º¨Ç¿ù»~¦r¦ê¡C¦ý¬O¨Ã¨S¦³¤@¥÷¸ÔºÉªº SQL Server ¿ù»~¦r¦ê²M³æ²[»\¤F©Ò¦³¥i¯àªº DBCC¡B¦øªA¾¹»P®Ö¤ß¿ù»~¡C¦b 7.0 ¤§«eªºª©¥»¤¤¡A¥u·j´M¤U¦C¦r¦ê§@¬°°_ÂI©Î³\¤w¸g¥i¥H²[»\¤j³¡¥÷ªº»Ý­n¡G"table corrupt"¡B "level 16"-"level 21"¡A¥H¤Î "Severity¡G16"-"Severity¡G 21."

±z¥i¥H¥ý°µ­Ó¤p¹êÅç¡AµM«á¦A¶i¤@¨B­×¥¿·j´M¤º®e¡A³q±`´N¯à±o¨ì¨¬¥H«H¿àªºµ²ªG (·íµM­n¤ñ¦×²´Æ[¹î¨Ó±o¥i«H)¡C

¥t¤@ºØ¤èªk¬O¨Ï¥Î Findstr ªº¡u¤Ï¦V¤Ç°t¡v¯à¤O¡A±N¯S©wªº·j´M¦r¦ê±Æ°£¦b¥~¡C³oºØ¤èªkÀ³¥Î¦b DBCC ¿é¥X­n¤ñ¦b¿ù»~°O¿ýÀÉ¿é¥X¤W®e©ö¡A¦]¬°«eªÌ»Ý­n±Æ°£ªºÃѧO¦r¦ê¤ñ¸û¤Ö¡C­Y¦¹¤èªk¾A¥Î¡A«h¥¦°õ¦æ°_¨Ó·|¤ñ¸û§Ö¡A¦]¬°±z¥u¶·©ú½T«ü¥X¤£­n¤Ç°tªº¦r¦ê¡A¨ä¥L¿ù»~©Î·sªº¿ù»~¹w³]³£·|¦C¥X¡C

¥Ñ©ó§Ú­Ì¹ï 7.0 ª©¿ù»~°T®§¥X²{ÀW²vªº¸gÅ禳­­¡A¦]¦¹¡u¤Ï¦V¤Ç°t¡vªk¥i¯à¬O³o¤@ª©³Ì¾A¦Xªº¤è¦¡¡C

¨Ò¦p¡A°²³]±z·Q±Æ°£ DBCC ¿é¥XÀɤ¤ªº¦r¦ê "The total number"¡B"Table has" ¥H¤Î "Checking"¡C³o¼Ë°µ§Y¥i±Æ°£³\¦h«D¥²­nªº DBCC ª¬ºA°T®§¡A¥B¤£¿òº|¥ô¦ó¿ù»~¡C¦b 7.0, ¥H«eªºª©¥»¤¤¡A½Ð±N³o¨Ç¦r¦ê¸m©óÀɮפº¡G
The total number
Table has
Checking
µM«á¨Ï¥Î¤U¦C»yªk¦b DBCC ¿é¥XÀɤW°õ¦æ Findstr.exe¡G
findstr /v /i /g:search.txt dbcc.* > findstr.out
¨ä¤¤ search.txt ¬O·j´M¦r¦ê©Ò¦bªºÀɮסAdbcc.* ¥Nªí­n·j´Mªº¤@²Õ DBCC ¿é¥XÀÉ¡Afindstr.out ¬°¦s©ñ·j´Mµ²ªGªºÀɮסC/v °Ñ¼Æ¥Nªí¡u¤Ï¦V¤Ç°t¡v¡A§Y³o¨Ç¦r¦ê¥H¥~ªº©Ò¦³¦r¦ê§¡²Å¦X·j´M¼Ð·Ç¡C

7.0 ª©ªº°õ¦æ¤è¦¡Ãþ¦ü¡A¦ý½Ð¨Ï¥Î¤U¦C¦r¦ê¡G
pages for object
DBCC results
DBCC execution completed
¥H¤U¬O¿ù»~°O¿ýÀɪº±Æ°£²M³æ½d¨Ò¡A¥¦·|¹LÂo±¼¤£»Ý­nªº°T®§¡A§ä¥X³Ì­«­nªº¿ù»~¡C³o­Ó²M³æµLªk²[»\¥þ­±¡A¥u¬O§@¬°½d¨Ò¨Ï¥Î¡C½Ð¨Ì±z­Ó¤H»Ý­n§@­×§ï¡C
Copyright
All rights reserved
Logging SQL Server
initconfig: number
SQL Server is start
initializing virtual
Opening Master Data
Loading SQL Server

Recovering Database
Recovery dbid
transactions roll
Activating disk
initializing virtual
server name is
Clearing
Using 'SQLEVENT.DLL
Using 'OPENDSNT.DLL
Using 'NTWDBLIB.DLL
Using 'SSNMPNTW.DLL
rolled forward
default sort
nocase
default character
recovery complete
terminating due
windows nt
(id =
killed by hostname
17824
17825
1608
17832
OS error : 109
OS error : 232
unable to write to
restrictions
contracts
server is unnamed
no_log
working thread
Sybase
network error
united states
unable to read login
duplication
subdivision
clause
number of buffers
using asynchronous disk
pipe name is
number of proc buffers
network information
file descriptors
transactions before ckpt
shutdown by request
¦b¬Y¨Ç±¡ªp¤U¡A±N³o¨âºØ¤è¦¡²V¦X¨Ï¥Î¥i¥H¦P®É±o¨ì¨âªÌªº¦n³B¡A¦Ü¤Ö¥i¥HÁ×§K³æ¥Î¤@ºØ®É©Ò³y¦¨ªº§xÃø¡C

¨Ò¦p¡A°²³]±z·Q¦b¿ù»~°O¿ýÀɤ¤·j´M¦r¦ê "Severity¡G16" ¨ì "Severity¡G21"¡A³o­Ó½d³òÀ³¸Ó¥]§t¤F¤j³¡¥÷ªºÄY­«¿ù»~¡C¦ý·j´M¿é¥X¤¤¥X²{¤F³\¦h³s½u¤è­±ªº¿ù»~¡A¦p 1608 ©M 17832¡A³o¨Ç¨Ã¤£¬OÄY­«ªº°ÝÃD¡C±z¥i¥H±N¤@­Ó Findstr «ü¥O§Q¥ÎºÞ¹D¶Çµ¹¥t¤@­Ó«ü¥O¡A¦]¦¹¥i¥H«O¯d­ì©lªº·j´M±ø¥ó¡A¨Ã±q·j´M¿é¥X¤¤±Æ°£¤£»Ý­nªº¯S©w¿ù»~¡G
findstr /i /g:search.txt errorlog*.* | findstr/v /i /g:exclude.txt > f.out
¨ä¤¤ search.txt ¬O·j´M¦r¦ê©Ò¦bªºÀɮסAerrorlog*.* ¬O­n·j´Mªº SQL Server ¿ù»~°O¿ýÀÉ¡Aexclude.txt ¬O­n±Æ°£ªº·j´M¦r¦ê©Ò¦bªºÀɮסAf.out «h¦s©ñ·j´Mµ²ªG¡C³oºØ¤èªk¥i¥HÅ|©ñ¦n´X¼h¡A¨C¤@¼h³£¥i¥H±Æ°£§ó¦hªº¦r¦ê¡C

±z¤]¥i¥H¼¶¼g¤@­Ó§å¦¸ÀÉ¡Aµø Findstr ¬O§_°»´ú¥X¯S©w¿ù»~¦r¦ê¡A¨M©w¬O§_°õ¦æ¡C³o­Ó§Þ³N¨Ï¥Î¤F Windows NT ªº±ø¥ó¦¡³B²z«ü¥O "&&" ©M "||"¡C­Y±q SQL Server ¿ù»~°O¿ýÀɤ¤§ä¨ì search.txt ùتº¦r¦ê®É¡A«K·|°õ¦æ¤U¦C«ü¥O¡G
findstr /i /g:search.txt errorlog*.* && batch1
Batch1.bat ¥i¥H©I¥sµ{¦¡¡A¬Æ¦Ü°õ¦æ¨Ï¥Î SQL Server xp_sendmail ¯à¤Oªº ISQL ¤u§@¡A¶Ç°eemail¥H³qª¾¾Þ§@¤H­û¦³°ÝÃDµo¥Í¡C

¤W­z¦UºØ§Þ¥©¥i¥H²V¦X¨Ï¥Î¡A¥H°õ¦æ¦UÃþ«¬ªº¤u§@¡C¨Ò¦p­Y§ä¥X search.txt ¤¤ªº¥ô¦ó SQL ¿ù»~¦r¦ê¨Ã±Æ°£ exclude.txt ¤¤ªº¦r¦ê®É¡A¥H¤Uªº§å¦¸ÀÉ«K·|«ùÄò°õ¦æ Findstr «ü¥O¡A±ø¥ó¦¡¦a°õ¦æ batch1.bat¡C
echo off
:start
findstr /i /g:search.txt errorlog*.* | findstr/v /i /g:exclude.txt && (echo WARNING & batch1)
goto start
±z¥i¥H°µ­Ó¤p¹êÅç¡A´Nª¾¹D³o¨Ç§Þ¥©¥i¥H¤j´T´î¤Ö·j´M SQL Server ¿ù»~°O¿ýÀÉ»P DBCC ¿é¥XÀɩҪá¶Oªº¤u¤Ò¡C¦P¼Ëªº§Þ¥©¤]¥i¥Î¦b¤@¯ëªº¤å¦r·j´M§@·~¡A¤£¥u¬O SQL Server ¬ÛÃöªº¤u§@¡C

¦b¬Y¨Ç±¡ªp¤U¡AFindstr ¥i¯à¾D¹J¤º³¡­­¨î¡A¥H­PµLªk§¹¦¨·j´M¤u§@¡C¦b³oºØ±¡ªp¤U¡A¿é¥XÀÉ·|¥X²{¤U¦C°T®§¡G
FINDSTR:Write error.
­Yµo¥Í³oºØª¬ªp¡A½Ð´î¤Ö¨Ï¥Îªº¤Ç°t¦r¦ê¡A¹Á¸Õ¥H¥¿¦V¤Ç°t¨ú¥N¤Ï¦V¤Ç°t¡A©ÎªÌ¨Ï¥Î¨ä¥L·j´M¤u¨ã (¦p Perl¡A¸Ô¨£¥H¤U»¡©ú)¡C

¥t¤@­Ó¬ÛÃö¥DÃD¬O¨Ï¥Î Windows NT «ü¥O¦æ¤u¨ã¡C±q Windows NT 4.0 ¶}©l´N¥X²{¤F³\¦h±j¤ÆªºÂX¥R«ü¥O¡C°õ¦æ cmd /x /? §Y¥i¬d¾\³o¨Ç«ü¥Oªº²M³æ¡C¥[±jª©ªº FOR «ü¥O§Y¬°¤@¨Ò¡C°õ¦æ for /? ¥i¬d¾\¨ä»yªk¡C¤U¨ÒÅã¥Ü¤F¦p¦ó¨Ï¥Î FOR ¹ï¸ê®Æ¦C°õ¦æ 5 ¦¸ isql¡A±N¨C¦¸ªº¿é¥X¦s¨ì¤£¦P¦WºÙªºÀɮפº¡G
FOR /L %f IN (1, 1, 5) do isql /Usa /P /itest.sql /otest%f.out
¤U¨ÒÅã¥Ü¤F¦p¦ó±N§t¦³¯S©w¿ù»~¦r¦êªº©Ò¦³Àɮײ¾¦Ü¬Y­Ó³q¥Î¥Ø¿ý¤¤¡C³oºØ¤èªk¥i¥H±q¤@¤j¸s¿ù»~°O¿ýÀɤ¤´z¿ï¥X§t¦³¿ù»~ªÌ¡A±N¨ä¶Çµ¹¬ÛÃö¤H­û§@¶i¤@¨B³B²z¡C¥H¤UÅã¥Ü¤F¦p¦ó¹ï¤º§t¦WºÙ²M³æªºÀɮפ§¨C­ÓÀɮצWºÙ°õ¦æµ{¦¡¡C
findstr /s /i /c:"error.*605" errorlog*.* >  srch.out
FOR /F %f IN (srch.out) do copy %f c:\results
°£¤FÂX¥R«ü¥O¤§¥~¡AWindows NT ¸ê·½®M¥ó¤]ªþ¦³¤@Perlª©¥»¡CPerl ¬O¤@ºØ¸g¹L¸ÑĶ¥BÃþ¦ü C ªº»y¨¥¡A¾A¦X¥Î¨Ó³B²zÀɮשM¦r¦ê¡C§Q¥Î Perl¡A±z¥i¥H«Ü®e©ö¦a°õ¦æ½ÆÂøªº®æ¦¡¤Ç°t©M½s¿è/¨ú¥N§@·~¡C¥¦¥i¥H°t¦X Windows NT «ü¥O¦æ¨Ï¥Î¡A´£¨Ñ±j¤jªº¥\¯à¡C¦b³\¦h®ÑÄy©Mºô¯¸¤¤³£¥i¥H§ä¨ì Perl ªº¸Ô²Ó¤¶²Ð¡C

?¦Ò

¥»¤å¥ó¬O®Ú¾ÚMicrosoft Knowledgebase ¤å¥ó½s¸¹ Q115519 ½Ķªº¡C­Y­n°Ñ¦Ò­ì©l­^¤å¤å¥ó¤º®e¡A½Ð¦Ü¥H¤Uºô§}¡G

http://support.microsoft.com/support/kb/articles/Q115/5/19.asp (http://support.microsoft.com/support/kb/articles/Q115/5/19.asp?LN=EN- US&SD=gn&FR=0)

³o½g¤å³¹¤¤ªº¸ê°T¾A¥Î©ó:
  • Microsoft SQL Server 2000 Standard Edition
ÃöÁä¦r¡G?
kbhowto kbsqlserv600 kbsqlserv700 kbsqlserv650 kbsqlserv2000 kbusage ssrvwinnt ssrverr_log KB115519
Microsoft¤Î(©Î)¨ä¨ÑÀ³°Ó¤£´N¥ô¦ó¦b¥»¦øªA¾¹¤Wµoªíªº¤å¦r¸ê®Æ¤Î¨ä¬ÛÃö¹Ïªí¸ê°Tªº«ê·í©Ê§@¥ô¦ó©Ó¿Õ¡C©Ò¦³¤å¦r¸ê®Æ¤Î¨ä¬ÛÃö¹Ïªí§¡¥H¡u²{ª¬¡v¨ÑÀ³¡A¤£­t¥ô¦ó¾á«O³d¥ô¡CMicrosoft¤Î(©Î)¨ä¨ÑÀ³°ÓÂÔ¦¹Án©ú¡A¤£­t¥ô¦ó¹ï»P¦¹¸ê°T¦³Ãö¤§¾á«O³d¥ô¡A¥]¬AÃö©ó¾A°â©Ê¡B¾A¥Î©ó¬Y¤@¯S©w¥Î³~¡BÅv§Q©Î¤£«IÅvªº©ú¥Ü©ÎÀq¥Ü¾á«O³d¥ô¡CMicrosoft¤Î(©Î)¨ä¨ÑÀ³°ÓµL½×¦p¦ó¤£¹ï¦]©Î»P¨Ï¥Î¥»¦øªA¾¹¤W¸ê°T©Î»P¸ê°Tªº¹ê¦æ¦³Ãö¦Ó¤Þ°_ªº«´¬ù¡B¹L¥¢©Î¨ä¥L«IÅv¦æ¬°¤§¶D³^¤¤ªº¯S§Oªº¡B¶¡±µªº¡B­l¥Í©Êªº·l®`©Î¥ô¦ó¦]¨Ï¥Î¦Ó³à¥¢©Ò¾É­Pªº¤§·l®`¡B¸ê®Æ©Î§Q¼í­t¥ô¦ó³d¥ô¡C