本文說明的問題是 Windows Server 2008 R2 Service Pack 1 (SP1)-根據含有 Active Directory 整合區域的 DNS 伺服器無法載入 DNS 區域。更新是可用來修正這個問題。您安裝此更新程式之前,請參閱必要條件」 一節。
狀況
您有安全性更新 3100465或正在執行 Windows Server 2008 R2 的伺服器上安裝hotfix 3022780之後,就會發生這個問題。
如何取得此更新程式
重要如果安裝此更新後安裝了語言套件,就必須重新安裝此更新。因此,我們建議在您安裝此更新程式之前,請您先行安裝想要的語言套件。如需詳細資訊,請參閱新增Windows 語言套件。
方法 1:Windows Update
提供此更新為建議的更新,Windows update。如需有關如何執行 Windows 更新的詳細資訊,請參閱如何取得透過 Windows Update 更新。
方法 2: Microsoft Update 類別目錄
若要取得此更新程式中的獨立套件,請移至 Microsoft Update Catalog 網站。
已知的問題 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 區域名稱
詳細的更新資訊
先決條件
若要安裝此更新程式,安裝Windows Server 2008 R2 的 Service Pack 1。
登錄資訊
若要套用此更新程式,您不需要對登錄進行任何變更。
重新啟動需求
套用此更新之後,可能需要重新啟動電腦。
更新取代資訊
此更新不會取代先前發行的更新。
狀態
Microsoft 已確認這是<套用>一節所列出的 Microsoft 產品的問題。
參考
深入了解 Microsoft 用來描述軟體更新的術語。
檔案資訊
此軟體更新的英文 (美國) 版本安裝的檔案具有下列表格中所列的屬性。
注意事項
-
藉由檢查下列表格中所顯示的檔案版本號碼,可識別特定產品、里程碑 (RTM,SPn) 及服務分支 (LDR、GDR) 所套用的檔案︰
版本
產品
里程碑
服務分支
6.1.760 1.23 xxx
Windows Server 2008 R2
SP1
LDR
-
GDR 服務分支只包含能解決普遍及嚴重問題之廣泛發行的修正程式。LDR 服務分支包含廣為發佈和其他的修正程式。
-
為每個環境所安裝的 MANIFEST 檔案 (.manifest) 及 MUM 檔案 (.mum) 都分別列在「其他檔案資訊」一節。若要維護更新元件的狀態,MUM、資訊清單,以及相關的安全性類別目錄 (.cat) 檔案是不可或缺的。安全性類別目錄檔案 (將不會為其列出屬性) 是使用 Microsoft 數位簽章簽署的。
x64 Windows Server 2008 R2
檔案名稱 |
檔案版本 |
檔案大小 |
日期 |
時間 |
平台 |
---|---|---|---|---|---|
Cache.dns |
不適用 |
3,198 |
03-Jun-2015 |
20:15 |
不適用 |
Dns.exe |
6.1.7601.23375 |
700,416 |
09-Mar-2016 |
17:58 |
x64 |
Dnsserver.events.xml |
不適用 |
609 |
03-Jun-2015 |
20:15 |
不適用 |
x64 Windows Server 2008 R2
檔案屬性 |
值 |
---|---|
檔案名稱 |
Amd64_07b49916ed76e55ab4e7ff188a15ff4e_31bf3856ad364e35_6.1.7601.23375_none_996a024c287e6f39.manifest |
檔案版本 |
不適用 |
檔案大小 |
710 |
日期 (UTC) |
10-Mar-2016 |
時間 (UTC) |
19:50 |
平台 |
不適用 |
檔案名稱 |
Amd64_microsoft-windows-dns-server-service_31bf3856ad364e35_6.1.7601.23375_none_ac7575300681bfe0.manifest |
檔案版本 |
不適用 |
檔案大小 |
157,939 |
日期 (UTC) |
09-Mar-2016 |
時間 (UTC) |
20:04 |
平台 |
不適用 |
檔案名稱 |
Update.mum |
檔案版本 |
不適用 |
檔案大小 |
1,671 |
日期 (UTC) |
10-Mar-2016 |
時間 (UTC) |
19:50 |
平台 |
不適用 |