2009年3月12日 星期四

WINS 資料庫

WINS 資料庫

The WINS database

WINS 資料庫存放及複寫網路上 NetBIOS 名稱對應到 IP 位址對應資訊。在 Windows Server 2003 系列中,WINS 資料庫會使用 Extensible Storage Engine (ESE)。

Compacting the database

沒有內建限制 WINS 伺服器複寫或存放的記錄數。資料庫的大小視網路上的 WINS 用戶端數目而定。WINS 資料庫變更超時用作用戶端登入及登出網路。

不過,WINS 資料庫的大小不是與使用中用戶端資料項目的數目直接成比例的。隨著時間推移,有些 WINS 用戶端資料項目變成老舊及已刪除時,不斷增大的 WINS 資料庫會超過目前使用中的實際空間。這是因為一旦存放老舊記錄的磁碟空間已不再存有資料時,伺服器不會自動收回空間。

壓縮 WINS 資料庫來收回未使用空間。在資料庫更新之後的閒置時間,WINS 伺服器會自動背景處理動態資料庫壓縮。壓縮也可以手動離線完成。WWindows NT Server 4.0、Windows 2000 及 Windows Server 2003 系列支援動態及手動壓縮。Windows NT Server 3.51 (或更早版本) 只支援 WINS 伺服器資料庫的手動壓縮。

儘管動態壓縮大幅降低了離線壓縮的需要,因離線壓縮能夠較完整地收回空間所以應該每隔一段時間做一次。應該多久做手動壓縮 WINS 資料庫一次視您的網路而定。對於大型的,有 1,000 個或以上的 WINS 用戶端的網路而言,您每月都應該做離線壓縮。較小的網路通常不需要經常手動壓縮。

因為動態資料庫壓縮都是進行於資料庫使用時,所以在處理期間不需要停止 WINS 伺服器。不過,對於手動壓縮,您必須停止 WINS 伺服器及離線。

Backing up the WINS database

WINS 主控台提供維護、檢視、備份及還原 WINS 伺服器資料庫時所需要的工具。當您在 WINS 伺服器上備份其他檔案時,應該備份此資料庫。

WINS database files

WINS 使用 Jet 資料庫格式存放其資料。Jet 會產生 J<n>.log 以及其他在 systemroot\System32\Wins 資料夾的檔案,來增加資料存放的速度及效率。

下列表格討論每台 WINS 伺服器中,由 Jet 資料庫建立及使用的檔案。

 

檔案描述

J50.log 與 J50#####.log

運用 WINS 資料庫的所有異動記錄檔。必要時,WINS 會使用此檔案以回復資料。

為了增加資料存放的速度及效率,Jet 資料庫將目前的異動寫入記錄檔,而不是直接寫入資料庫。因此,最新的資料檢視既包含資料庫又包含記錄檔的任何異動。如果 WINS 服務突然或意外地停止,這二個檔案都會用來修復它。如果服務以意外的方式停止,會自動使用記錄檔來重新建立 WINS 資料庫的正確狀態。

記錄檔維持指定的大小;不過,在 WINS 伺服器忙線時它們的大小可能會快速增長。WINS 無法避免將過多的異動寫入記錄檔可容納的數量。填入記錄檔時,系統重新命名此記錄檔,指出它是未使用中的較舊的記錄檔。建立以 J<n>.log 為檔名的新增異動記錄,其中 <n> 是十進位數字,如 J50.log。前述記錄檔的命名格式是 JetXXXXX.log,其中每個 X 表示從 0 到 F 的十六進位數字。前述記錄檔與目前記錄檔維護在同一資料夾中。

這些記錄檔會每 3 小時進行處理 (所有項目會寫入到資料庫) 及刪除。在成功的 WINS 資料庫備份或是當 WINS 伺服器適當地關機時,也會執行處理及刪除。如果累積許多 J<n>.log 檔案,則您應該排定經常性備份以維護這些記錄。

處理資料項目後,您可以手動刪除記錄檔;不過,如果需要修復,這會妨礙資料庫成功的修復。因為此重要理由,不要手動從系統刪除或移除記錄檔,除非已執行備份。

J50.chk

檢查點檔案指出上次成功地將資訊從異動記錄寫入資料庫的位置。在資料修復情況中,檢查點檔案指出修復或重播資料應該從何處開始。此檢查點檔案在每次將資料寫入資料庫檔案 (Wins.mdb) 時都會更新。

Wins.mdb

WINS 伺服器資料庫檔案包含二個表格:從 IP 位址到「擁有者」識別碼對應表格及從名稱到 IP 位址對應表格。

Winstmp.mdb

在 WINS 伺服器的服務中留下的暫存檔。此檔案在索引維護操作時作為交換檔案及可以在系統不正常結束後還留在systemroot\System32\Wins 目錄中。

Res#.log

這些是保留的記錄檔,它在伺服器用完磁碟空間時的緊急狀況下起作用。如果伺服器嘗試建立其他異動記錄檔,但是磁碟空間不足時,則伺服器會將任何正在處理的異動清除到這些保留記錄檔中。服務關閉及將事件記錄到 [事件檢視器]。

重要事項

  • 不應該移除或變更 J50.log、J50#####.log、Wins.mdb、Winstmp.mdb 及 Res#.log 記錄檔。

2009年3月10日 星期二

DNS 與 WINS 的整合

DNS 與 WINS 的整合

DNS的Clinet向DNS查詢時,DNS找不到相關的資料就去問WINS,讓Client端以為DNS知道該名稱的位址。

另外有可能遇到Client的電腦不會去DNS註冊資料,則有兩種情況需要做整合:

  1. 舊版Windows(95、98)是不會跑去DNS登記的,不也不能支援DNS的動態更新
  2. Stand Alone的電腦無法向DNS註冊,原因是DNS可能有設定安全性驗證,只能接受加入網域的電腦

因此WINS需要幫忙回答這些Client端的電腦所在的位址。

2009年3月8日 星期日

處理「該記憶體不能為read或written」辦法

常常在使用者新增或移除不完全某些軟體,又或是操作上及系統上的錯誤

會造成這種情況,再來使用該軟體時常常會出現一個警告視窗

告訴你,「該記憶體不能為read或written」然後只有個確定可以點選

點選確定後發生錯誤的軟體就消失啦。

在此提供一個小方法可以請大家嘗試看看

開始 \ 執行 \ 輸入 cmd \ 確定

命令提示字元出來的時候

將以下參數貼上並執行 ( Enter給它按下去 )


for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1


軟體安裝的時候會將它所屬的DLL註冊到電腦

讓電腦知道這個軟體在執行的時候需要去讀(Call)哪一些DLL檔案

當系統發生錯誤或是使用者不當操作時,往往會造成軟體毀損

這個參數應該可以解決掉不少問題。


What is DLL ?

DLL

動態連結程式庫 (DLL) 是具有函式的共用程式庫功能的可執行檔。動態連結提供一種方法,讓處理序 (Process) 呼叫不是可執行程式碼部分的函式。函式的可執行程式碼位於 DLL 裡,它包含一或多個已編譯、連結的函式,並且儲存在與使用它們的處理序不同的地方。DLL 也有助於共用資料和資源。多個應用程式可以同時存取記憶體中 DLL 單一複本的內容。

動態連結與靜態連結的不同處在於,前者允許可執行模組 (.DLL 或 .EXE 檔) 只包含在執行階段時用來找出 DLL 函式可執行程式碼的所需資訊。在靜態連結中,連結器 (Linker) 會從靜態連結程式庫取得所有參考函式,並且將它與您的程式碼一起放入可執行檔。

不使用靜態連結而改用動態連結可提供許多優點。DLL 節省記憶體、降低交換、節省磁碟空間、較容易升級、提供售後支援、提供擴充 MFC 程式庫類別機制、支援多種語言程式和簡化國際版本的建立。

※以上文字來自微軟MSDN※