在 Windows Server 2008 R2 為基礎的 DNS 伺服器上載入 DNS 區域失敗

本文說明的問題是 Windows Server 2008 R2 Service Pack 1 (SP1)-根據含有 Active Directory 整合區域的 DNS 伺服器無法載入 DNS 區域。更新是可用來修正這個問題。您安裝此更新程式之前,請參閱必要條件」 一節。

狀況

您有或正在執行 Windows Server 2008 R2 的伺服器上安裝之後,就會發生這個問題。

如何取得此更新程式

重要如果安裝此更新後安裝了語言套件,就必須重新安裝此更新。因此,我們建議在您安裝此更新程式之前,請您先行安裝想要的語言套件。如需詳細資訊,請參閱。

方法 1:Windows Update

提供此更新為建議的更新,Windows update。如需有關如何執行 Windows 更新的詳細資訊,請參閱。

方法 2: Microsoft Update 類別目錄

若要取得此更新程式中的獨立套件,請移至 網站。

已知的問題 1

您安裝更新 KB3145126 之後,您可能會遇到損毀的 DNS 服務。在這個案例中,應用程式記錄檔會記錄類似下列的事件︰

Log Name: <Application> Source: <Application Error>
Event ID: 1000
Task Category: (100)
Level: Error
Keywords: Classic
User: N/A
Description:
Faulting application name: dns.exe, version: 6.1.7601.23375
Faulting module name: dns.exe, version: 6.1.7601.23375
Exception code: 0xc0000005
Faulting application path: C:\Windows\system32\dns.exe
Faulting module path: C:\Windows\system32\dns.exe

原因

這項 DNS 服務當機,就可能發生的 CNAME 和 SOA 如果已有 DNS 記錄同時存在的"@"記錄。"@"記錄識別根目錄的 DNS 區域。這可以經常用來識別在 [DNS 管理員成一筆記錄的 <相同上層資料夾> 的名稱。這個資料夾中允許的 SOA 和 NS 記錄。RFC 2181 說明 CNAME 記錄的名稱唯一性檢查。根據 RFC 2181 CNAME 可能不存在的 <相同父系名稱> 資料夾中 ("@") 的區域。

解決方案

若要避免這個問題,請找出並移除"@"安裝之前,會造成問題從設定錯誤的區域的 CNAME 記錄更新 KB3145126。

若要協助您識別有問題的區域,執行下列的範例 PowerShell 指令碼。PowerShell 會安裝在 Windows Server 2008 R2 的預設值。

$count = 0$var = get-wmiobject -query "select * from win32_service where name = 'dns'" 
if ($var -ne $null)
{
if ($var.state.tolower() -eq "running")
{
[array] $global:badcnamedomains = $null
$var = get-wmiobject -namespace "root\microsoftdns" -query "select * from microsoftdns_zone"
if ($var -ne $null)
{
foreach ($var2 in $var)
{
$query = "select * from microsoftdns_cnametype where containername = '" + $var2.name + "'"
$var3 = get-wmiobject -namespace "root\microsoftdns" -query $query | where {$_.ownername -eq $var2.name}
if ($var3 -ne $null)
{
$count += 1
$global:badcnamedomains += $var3.domainname
}
}
}
else
{
write-host "No zones returned"
}
}
else
{
Write-Host "DNS Service is not running"
break;
}
}

if ($count -gt 0)
{
write-host "Total number of zones found: $count"
write-host "The zones are:"
write-host $global:badcnamedomains
}
elseif ($count -eq 0)
{
write-host "No zones found with the issue"
}
$count = $null
$global:badcnamedomains = $null

這個指令碼會識別在本機上所儲存的 DNS 區域的 SOA 記錄中的衝突 CNAME 記錄。如果當您執行 PowerShell 指令碼時,您會看到 「 不執行 DNS 服務 」 的訊息,,請確定您執行指令碼之前,會啟動 DNS 服務。您可能必須解除安裝 KB3145126 更新第一次進行 DNS 服務更穩定。

若要刪除的不符合 RFC 2181 會傳回從 PowerShell 指令碼的輸出為基礎的 CNAME 記錄,請在命令提示字元中輸入下列命令,然後按 Enter 鍵︰

@ Cname DNSCMD /recorddelete DNS 區域名稱
 

詳細的更新資訊

先決條件

若要安裝此更新程式,安裝。

登錄資訊

若要套用此更新程式,您不需要對登錄進行任何變更。

重新啟動需求

套用此更新之後,可能需要重新啟動電腦。

更新取代資訊

此更新不會取代先前發行的更新。

狀態

Microsoft 已確認這是<套用>一節所列出的 Microsoft 產品的問題。

參考

深入了解 Microsoft 用來描述軟體更新的。

檔案資訊

此軟體更新的英文 (美國) 版本安裝的檔案具有下列表格中所列的屬性。

注意事項

  • 藉由檢查下列表格中所顯示的檔案版本號碼,可識別特定產品、里程碑 (RTM,SPn) 及服務分支 (LDR、GDR) 所套用的檔案︰

  • GDR 服務分支只包含能解決普遍及嚴重問題之廣泛發行的修正程式。LDR 服務分支包含廣為發佈和其他的修正程式。

  • 為每個環境所安裝的 MANIFEST 檔案 (.manifest) 及 MUM 檔案 (.mum) 都分別列在「其他檔案資訊」一節。若要維護更新元件的狀態,MUM、資訊清單,以及相關的安全性類別目錄 (.cat) 檔案是不可或缺的。安全性類別目錄檔案 (將不會為其列出屬性) 是使用 Microsoft 數位簽章簽署的。

x64 Windows Server 2008 R2

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

Thank you for your feedback!

Thank you for your feedback! It sounds like it might be helpful to connect you to one of our Office support agents.

×