ข้ามไปที่เนื้อหาหลัก
การสนับสนุน
ลงชื่อเข้าใช้
ลงชื่อเข้าใช้ด้วย Microsoft
ลงชื่อเข้าใช้หรือสร้างบัญชี
สวัสดี
เลือกบัญชีอื่น
คุณมีหลายบัญชี
เลือกบัญชีที่คุณต้องการลงชื่อเข้าใช้

อาการ

Windows SBS คอนโซลของ Windows ขนาดเล็ก Business Server 2008 อาจแสดงอย่างน้อยหนึ่งอาการดังต่อไปนี้

อาการ 1

สถานะไม่พร้อมใช้งานปรากฏในการแจ้งเตือนอื่น ๆภายใต้ส่วนสรุปสิ่งจำเป็นสำหรับเครือข่ายของโฮมเพจ

อาการ 2

ข้อผิดพลาดที่คล้ายกับต่อไปนี้ถูกบันทึกไว้ในแฟ้ม Console.log:

[5164] 090620.094247.9164: Exception: --------------------------------------- An exception of type 'Type: System.Data.SqlClient.SqlException, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' has occurred. Timestamp: 06/20/2009 09:42:47 Message: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. Stack: at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlDataReader.ConsumeMetaData() at System.Data.SqlClient.SqlDataReader.get_MetaData() at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteScalar() at Microsoft.WindowsServerSolutions.SystemHealth.Monitoring.MonitoringSQLDataStore.GetAlertCountPerType(ComputerType type)

อาการ 3

หลังจากเวลานาน สถานะปรากฏสำหรับการรักษาความปลอดภัยและการแจ้งเตือนอื่น ๆภายใต้ส่วนสรุปสิ่งจำเป็นสำหรับเครือข่ายของโฮมเพจ

อาการ 4

หลังจากเวลานาน ค่าปรากฏ ในคอลัมน์สถานะความปลอดภัยและ ในคอลัมน์บนแท็บของหน้าเครือข่ายคอมพิวเตอร์แจ้งเตือนอื่น ๆ

อาการ 5

เมื่อคุณพยายามที่จะสร้างรายงานบนแท็บรายงานด้วยตนเอง คอนโซล SBS Windows ล้มเหลวเมื่อมีเลือกกล่องกาเครื่องหมายความปลอดภัยเพื่อเพิ่มความปลอดภัยเนื้อหาลงในรายงาน

สาเหตุ

ปัญหานี้เกิดขึ้นเนื่องจากการตรวจสอบฐานข้อมูลมีขนาดใหญ่มาก คอนโซล SBS ของ Windows ไม่สามารถสอบถามตรวจสอบฐานข้อมูลได้อย่างรวดเร็ว

การแก้ไข

เมื่อต้องการแก้ไขปัญหานี้ รัน Windows PowerShell สคริปต์ต่อไปนี้ สคริปต์นี้ลดข้อมูลในอดีตในฐานข้อมูลการตรวจสอบโดยการลดข้อมูลในอดีตที่เก็บจาก 90 วันถึง 30 วัน นอกจากนี้ สคริปต์นี้สร้างดัชนีที่สามารถใช้เพื่อเรียกใช้แบบสอบถามได้อย่างรวดเร็ว เมื่อต้องการเรียกใช้สคริปต์นี้ ให้ทำตามขั้นตอนเหล่านี้:

  1. คลิกเริ่มพิมพ์แผ่นจดบันทึกลงในกล่องค้นหาและจากนั้น คลิกNotepadในผลลัพธ์การค้นหา

  2. คัดลอก และวางสคริปต์ต่อไปนี้ใน Notepad:

    cls;############################################################################ SQL Scripts#########################################################################$sqlScript = @"USE [SBSMonitoring]BEGIN TRAN T1UPDATE [SBSMonitoring].[dbo].[Settings] SET [Value] = 30 WHERE [Name] = 'CleanupPeriod'COMMIT TRAN T1SELECT N'Set CleanupPeriod to 30 days'EXECUTE [SBSMonitoring].[dbo].[CleanupDatabase]SELECT N'CleanupDatabase job done.'-- Create IndexesIF EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[WMICollectedData]') AND name = N'_SBS_BLOG_index_WMICollectedData_5_K4_K1_K5_2')DROP INDEX [_SBS_BLOG_index_WMICollectedData_5_K4_K1_K5_2] ON [dbo].[WMICollectedData] WITH ( ONLINE = OFF )CREATE NONCLUSTERED INDEX [_SBS_BLOG_index_WMICollectedData_5_K4_K1_K5_2] ON [dbo].[WMICollectedData] ([WMIPropertyID] ASC,[ID] ASC, [WMIInstanceID] ASC) INCLUDE ( [DateCollected]) WITH (SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF) ON [PRIMARY]SELECT N'Succeeded to create index _SBS_BLOG_index_WMICollectedData_5_K4_K1_K5_2'IF EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[Reports]') AND name = N'_SBS_BLOG_index_Reports_5_K2_K3_1_4')DROP INDEX [_SBS_BLOG_index_Reports_5_K2_K3_1_4] ON [dbo].[Reports] WITH ( ONLINE = OFF )CREATE NONCLUSTERED INDEX [_SBS_BLOG_index_Reports_5_K2_K3_1_4] ON [dbo].[Reports] ([ConfigurationID] ASC, [DateGenerated] ASC) INCLUDE ([ID], [Data]) WITH (SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF) ON [PRIMARY]SELECT N'Succeeded to create index _SBS_BLOG_index_Reports_5_K2_K3_1_4'IF EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[WMICollectedData]') AND name = N'_SBS_BLOG_index_WMICollectedData_5_K2D_K4_K5')DROP INDEX [_SBS_BLOG_index_WMICollectedData_5_K2D_K4_K5] ON [dbo].[WMICollectedData] WITH ( ONLINE = OFF )CREATE NONCLUSTERED INDEX [_SBS_BLOG_index_WMICollectedData_5_K2D_K4_K5] ON [dbo].[WMICollectedData] ([DateCollected] DESC, [WMIPropertyID] ASC, [WMIInstanceID] ASC) WITH (SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF) ON [PRIMARY]SELECT N'Succeeded to create index _SBS_BLOG_index_WMICollectedData_5_K2D_K4_K5'IF EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[Alerts]') AND name = N'_SBS_BLOG_index_Alerts_8_7_')DROP INDEX [_SBS_BLOG_index_Alerts_8_7_] ON [dbo].[Alerts] WITH ( ONLINE = OFF )CREATE INDEX [_SBS_BLOG_index_Alerts_8_7_] ON [SBSMonitoring].[dbo].[Alerts] ([DefinitionID], [ComputerID]) INCLUDE ([DateOccured])SELECT N'Succeeded to create index _SBS_BLOG_index_Alerts_8_7_'-- Create StatisticsIF EXISTS (SELECT * FROM sys.stats WHERE object_id = OBJECT_ID(N'[dbo].[WMICollectedData]') AND name = N'_SBS_BLOG_stat_WMICollectedData_5_1_4')DROP STATISTICS [dbo].[WMICollectedData].[_SBS_BLOG_stat_WMICollectedData_5_1_4]CREATE STATISTICS [_SBS_BLOG_stat_WMICollectedData_5_1_4] ON [dbo].[WMICollectedData]([WMIInstanceID], [ID], [WMIPropertyID])SELECT N'Succeeded to create statistics _SBS_BLOG_stat_WMICollectedData_5_1_4'IF EXISTS (SELECT * FROM sys.stats WHERE object_id = OBJECT_ID(N'[dbo].[WMICollectedData]') AND name = N'_SBS_BLOG_dta_stat_WMICollectedData_4_1_5_2_3')DROP STATISTICS [dbo].[WMICollectedData].[_SBS_BLOG_dta_stat_WMICollectedData_4_1_5_2_3]CREATE STATISTICS [_SBS_BLOG_dta_stat_WMICollectedData_4_1_5_2_3] ON [dbo].[WMICollectedData]([WMIPropertyID], [ID], [WMIInstanceID], [DateCollected], [StatusID])SELECT N'Succeeded to create statistics _SBS_BLOG_dta_stat_WMICollectedData_4_1_5_2_3'IF EXISTS (SELECT * FROM sys.stats WHERE object_id = OBJECT_ID(N'[dbo].[WMICollectedData]') AND name = N'_SBS_BLOG_dta_stat_WMICollectedData_5_1_3_4')DROP STATISTICS [dbo].[WMICollectedData].[_SBS_BLOG_dta_stat_WMICollectedData_5_1_3_4]CREATE STATISTICS [_SBS_BLOG_dta_stat_WMICollectedData_5_1_3_4] ON [dbo].[WMICollectedData]([WMIInstanceID], [ID], [StatusID], [WMIPropertyID])SELECT N'Succeeded to create statistics _SBS_BLOG_dta_stat_WMICollectedData_5_1_3_4'IF EXISTS (SELECT * FROM sys.stats WHERE object_id = OBJECT_ID(N'[dbo].[WMICollectedData]') AND name = N'_SBS_BLOG_dta_stat_WMICollectedData_5_4_2')DROP STATISTICS [dbo].[WMICollectedData].[_SBS_BLOG_dta_stat_WMICollectedData_5_4_2]CREATE STATISTICS [_SBS_BLOG_dta_stat_WMICollectedData_5_4_2] ON [dbo].[WMICollectedData]([WMIInstanceID], [WMIPropertyID], [DateCollected])SELECT N'Succeeded to create statistics _SBS_BLOG_dta_stat_WMICollectedData_5_4_2'IF EXISTS (SELECT * FROM sys.stats WHERE object_id = OBJECT_ID(N'[dbo].[WMICollectedData]') AND name = N'_SBS_BLOG_stat_WMICollectedData_2_1_5')DROP STATISTICS [dbo].[WMICollectedData].[_SBS_BLOG_stat_WMICollectedData_2_1_5]CREATE STATISTICS [_SBS_BLOG_stat_WMICollectedData_2_1_5] ON [dbo].[WMICollectedData]([DateCollected], [ID], [WMIInstanceID])SELECT N'Succeeded to create statistics _SBS_BLOG_stat_WMICollectedData_2_1_5'IF EXISTS (SELECT * FROM sys.stats WHERE object_id = OBJECT_ID(N'[dbo].[WMICollectedData]') AND name = N'_SBS_BLOG_stat_WMICollectedData_1_3_5_2')DROP STATISTICS [dbo].[WMICollectedData].[_SBS_BLOG_stat_WMICollectedData_1_3_5_2]CREATE STATISTICS [_SBS_BLOG_stat_WMICollectedData_1_3_5_2] ON [dbo].[WMICollectedData]([ID], [StatusID], [WMIInstanceID], [DateCollected])SELECT N'Succeeded to create statistics _SBS_BLOG_stat_WMICollectedData_1_3_5_2'"@;$userInput = Read-Host -Prompt @"Before running this script, follow the instructions in the Knowledge Base article 981939 to back up your database files.  If you are ready to run the script, type the letter 'Y' to confirm that you have backed up the database, and then press 'Enter'. "@;if([System.String]::Compare($userInput, "Y", $true) -ne 0){exit;}################################################################################## Save the sql file to temp folder###############################################################################$sqlFile = [System.IO.Path]::Combine($Env:TEMP, "UpdateSBSMonitoring.sql");$sqlScript | Out-File -FilePath "$sqlFile" -Force;################################################################################## Get SBS2008 log folder###############################################################################$regKey = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WSSG";$regVal = "ProductLogDir";$sqlLogPath =[System.Environment]::ExpandEnvironmentVariables([Microsoft.Win32.Registry]::GetValue($regKey, $regVal, $null));if([System.String]::IsNullOrEmpty($sqlLogPath)){$sqlLogPath = $Env:TEMP;}$dateTime = Get-Date;$sqlLogFile = "UpdateSBSMonitoring_{1}_{0:HH}{0:mm}{0:ss}.log" -f $dateTime, $dateTime.ToShortDateString().Replace('/', '_');$sqlLogFile = [System.IO.Path]::Combine($sqlLogPath, $sqlLogFile);################################################################################## Call " SqlCmd " to execute the sql script###############################################################################$cmdPara = " -S $Env:COMPUTERNAME\SBSMonitoring -E -i `"$sqlFile`"";Write-Host ("Sqlcmd" + $cmdPara);$processStartInfo = New-Object System.Diagnostics.ProcessStartInfo("Sqlcmd", $cmdPara);$processStartInfo.UseShellExecute = $false;$processStartInfo.ErrorDialog = $true;$processStartInfo.CreateNoWindow = $true;$processStartInfo.RedirectStandardOutput = $true;$processStartInfo.RedirectStandardError = $true;$process = [System.Diagnostics.Process]::Start($processStartInfo);$startTime = [System.DateTime]::Now;$process.WaitForExit(); $finishTime = [System.DateTime]::Now;$stdOutput = $process.StandardOutput.ReadToEnd();$errOutput = $process.StandardError.ReadToEnd();if($process.ExitCode -eq 0 -and $errOutput.Length -eq 0){Write-Host $stdOutput;Write-Host "The script ran successfully."}else{Write-Host $stdOutput;Write-Host $errOutput;Write-Host "An error occurred while running the script. For details about this error, see the log file at $sqlLogFile.";}[System.String]::Join([System.Environment]::NewLine, `(("Sqlcmd" + $cmdPara), `("Started at: " + $startTime), `("Finished at:" + $finishTime), `"Standard Output: ", $stdOutput, `"Error Output: ", $errOutput))| Out-File $sqlLogFile -Force;
  3. บันทึกแฟ้ม โดยใช้ชื่อแฟ้มต่อไปนี้:

    KB981939.ps1.หมายเหตุ เราขอแนะนำให้ คุณบันทึกแฟ้มไปยังตำแหน่งที่คุณสามารถเข้าถึงได้อย่างง่ายดาย ตัวอย่างเช่น บันทึกแฟ้มไปยังโฟลเดอร์C:\windows\temp

  4. สำรองแฟ้มฐานข้อมูลตรวจสอบ โดยทำตามขั้นตอนต่อไปนี้:

    1. คลิกเริ่มพิมพ์Services.mscในกล่องค้นหาคลิกขวาservices.mscในผลลัพธ์การค้นหา และจากนั้น คลิกเรียกใช้ในฐานะผู้ดูแล

      UAC หากคุณได้รับพร้อมท์ สำหรับรหัสผ่านผู้ดูแลระบบ หรือ เพื่อยืนยัน ให้พิมพ์รหัสผ่าน หรือทำการยืนยัน

    2. ค้นหาการบริการเซิร์ฟเวอร์ SQL (SBSMONITORING)

    3. คลิกขวาบริการSQL Server (SBSMONITORING)และจากนั้น คลิกหยุด

    4. สำรองข้อมูลแฟ้มในโฟลเดอร์ต่อไปนี้:

      การ Server\MSSQL.1\MSSQL\Data SQL \Microsot แฟ้ม (x86) C:\Program

    5. คลิกขวาบริการSQL Server (SBSMONITORING)แล้ว คลิ กเริ่มต้น

  5. คลิกเริ่มพิมพ์PowerShellในกล่องค้นหาคลิกขวาที่โมดูล PowerShell Windowsในผลลัพธ์การค้นหา และจากนั้น คลิกเรียกใช้ในฐานะผู้ดูแล

    UAC หากคุณได้รับพร้อมท์ สำหรับรหัสผ่านผู้ดูแลระบบ หรือ เพื่อยืนยัน ให้พิมพ์รหัสผ่าน หรือทำการยืนยัน

  6. ในหน้าต่างโมดูล PowerShell Windowsเปลี่ยนไดเรกทอรีปัจจุบันไปยังตำแหน่งที่คุณบันทึกแฟ้ม KB981939.ps1

  7. พิมพ์คำสั่งต่อไปนี้เพื่อเรียกใช้สคริปต์ใน Windows PowerShell และจากนั้น กด ENTER:

    .\kb981939.ps1หมายเหตุ คุณต้องตั้งค่าคอนฟิกนโยบายการดำเนินการ Windows PowerShell เพื่ออนุญาตให้สคริปต์เรียกใช้ก่อนที่คุณเรียกใช้คำสั่งนี้ มิฉะนั้น คุณได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้เมื่อคุณเรียกใช้คำสั่ง:

    ไม่สามารถโหลดแฟ้ม C:\KB981939.ps1 ได้เนื่องจากการดำเนินการของสคริปต์ถูกปิดใช้งานบนระบบนี้ โปรดดู "รับวิธีใช้ about_signing" สำหรับรายละเอียดเพิ่มเติม

    สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการตั้งค่าคอนฟิกนโยบายการดำเนินการ Windows PowerShell แวะไปที่เว็บไซต์ของ Microsoft TechNet ดังต่อไปนี้:

    วิธีการตั้งค่าคอนฟิกนโยบายการดำเนินการ Windows PowerShell

  8. พิมพ์Yเมื่อคุณได้รับข้อความต่อไปนี้:

    ก่อนที่จะรันสคริปต์นี้ ทำตามคำแนะนำในบทความ Knowledge base 981939t ที่การสำรองข้อมูลแฟ้มฐานข้อมูลของคุณ

    ถ้าคุณพร้อมที่จะเรียกใช้สคริปต์ พิมพ์ตัวอักษร 'Y' เพื่อยืนยันว่า คุณได้สำรองฐานข้อมูล และจากนั้น กด 'Enter'หมายเหตุ ถ้ามีการตรวจสอบฐานข้อมูลมีขนาดใหญ่มาก สคริปต์อาจทำงาน สำหรับ 10 นาที หรือเป็นเวลานาน ถ้าสคริปต์รันเรียบร้อยแล้ว คุณต้องคืนสภาพสำเนาสำรองของแฟ้มฐานข้อมูลตรวจสอบ

อ้างอิง

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับปัญหานี้ แวะไปที่เว็บไซต์ TechNet ดังต่อไปนี้:

SBS คอนโซล 2008 อาจใช้ยาวเกินไปเพื่อแสดงการแจ้งเตือน และสถานะการรักษาความปลอดภัย แสดงไม่พร้อมใช้งาน หรือเกิดความผิดพลาด

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย

ข้อมูลนี้เป็นประโยชน์หรือไม่

คุณพึงพอใจกับคุณภาพภาษาเพียงใด
สิ่งที่ส่งผลต่อประสบการณ์ใช้งานของคุณ
เมื่อกดส่ง คำติชมของคุณจะถูกใช้เพื่อปรับปรุงผลิตภัณฑ์และบริการของ Microsoft ผู้ดูแลระบบ IT ของคุณจะสามารถรวบรวมข้อมูลนี้ได้ นโยบายความเป็นส่วนตัว

ขอบคุณสำหรับคำติชมของคุณ!

×