共用方式為


複寫記錄讀取器代理程式

「複寫記錄讀取器代理程式」是一個可執行檔,它會監視針對異動複寫所設定之每個資料庫的交易記錄,並將標示要複寫的交易從交易記錄複製到散發資料庫中。

注意

您可以使用任何順序來指定參數。 沒有指定選擇性參數時,系統就會使用以預設代理程式設定檔為基礎的預先定義值。

語法

  
      logread [-?]   
-Publisherserver_name[\instance_name]   
-PublisherDBpublisher_database   
[-Continuous]  
[-DefinitionFiledef_path_and_file_name]  
[-Distributorserver_name[\instance_name]]  
[-DistributorLogindistributor_login]  
[-DistributorPassworddistributor_password]  
[-DistributorSecurityMode [0|1]]  
[-EncryptionLevel [0|1|2]]  
[-ExtendedEventConfigFileconfiguration_path_and_file_name]  
[-HistoryVerboseLevel [0|1|2]]  
[-KeepAliveMessageIntervalkeep_alive_message_interval_seconds]  
[-LoginTimeOutlogin_time_out_seconds]  
[-LogScanThresholdscan_threshold]  
[-MaxCmdsInTrannumber_of_commands]  
[-MessageIntervalmessage_interval]  
[-Outputoutput_path_and_file_name]  
[-OutputVerboseLevel [0|1|2|3|4]]  
[-PacketSizepacket_size]  
[-PollingIntervalpolling_interval]  
[-ProfileNameprofile_name]   
[-PublisherFailoverPartnerserver_name[\instance_name] ]  
[-PublisherSecurityMode [0|1]]  
[-PublisherLoginpublisher_login]  
[-PublisherPasswordpublisher_password]   
[-QueryTimeOutquery_time_out_seconds]  
[-ReadBatchSizenumber_of_transactions]   
[-ReadBatchThresholdread_batch_threshold]  
[-RecoverFromDataErrors]  

引數

-?
顯示使用資訊。

-Publisher server_name[\instance_name]
這是發行者的名稱。 請針對該伺服器上的 Microsoft SQL Server 預設執行個體指定 server_name。 請針對該伺服器上的 SQL Server 具名執行個體指定 server_name\instance_name

-PublisherDB publisher_database
這是發行者資料庫的名稱。

-Continuous
指定代理程式是否會嘗試持續輪詢複寫的交易。 如果您指定了這個參數,代理程式就會以輪詢間隔輪詢來源的複寫交易,即使沒有任何交易暫止也一樣。

-DefinitionFile def_path_and_file_name
這是代理程式定義檔的路徑。 代理程式定義檔包含代理程式的命令列引數。 此檔案的內容會剖析為可執行檔。 請使用雙引號 (") 來指定包含任意字元的引數值。

-Distributor server_name[\instance_name]
這是散發者的名稱。 請針對該伺服器上的 SQL Server 預設執行個體指定 server_name。 請針對該伺服器上的 SQL Server 具名執行個體指定 server_name\instance_name

-DistributorLogin distributor_login
這是散發者登入名稱。

-DistributorPassword distributor_password
這是散發者密碼。

-DistributorSecurityMode [ 0| 1]
指定散發者的安全性模式。 值為 0 表示 SQL Server 驗證模式 (預設),而值為 1 則表示 Microsoft Windows 驗證模式。

-EncryptionLevel [ 0 | 1 | 2 ]
這是建立連線時記錄讀取器代理程式所使用的安全套接字層 (SSL) 加密層級。

EncryptionLevel 值 描述
0 指定不使用 SSL。
1 指定使用 SSL,但代理程式不會驗證 SSL 伺服器證書是由受信任的簽發者所簽署。
2 指定使用 SSL,並驗證憑證。

注意

有效的 SSL 憑證是以 SQL Server 的完整功能變數名稱定義。 為了讓代理程式能在將 -EncryptionLevel 設定為 2 時成功連線,請在本機 SQL Server 上建立別名。 'Alias Name' 參數應為伺服器名稱,且應將 'Server' 參數設為 SQL Server 的完整名稱。

如需詳細資訊,請參閱 SQL Server 複寫 安全性

-ExtendedEventConfigFile configuration_path_and_file_name
指定擴充的事件 XML 組態檔的路徑和檔案名稱。 擴充的事件組態檔可讓您設定工作階段以及啟用事件追蹤。

-HistoryVerboseLevel [ 0| 1| 2]
指定在記錄讀取器作業期間記錄的記錄量。 您可以透過選取 1,盡量減少記錄作業的效能影響。

HistoryVerboseLevel 值 描述
0
1 預設值。 一律更新相同狀態的上一個記錄訊息 (啟動、進度、成功等等)。 如果沒有任何具有相同狀態的上一筆記錄存在,便插入新的記錄。
2 除非記錄用於閒置訊息或長時間執行作業訊息等事件 (在此情況下,更新之前的記錄),否則便插入新的記錄。

-KeepAliveMessageInterval keep_alive_message_interval_seconds
這是記錄執行緒檢查是否有任何現有的連接正在等候伺服器回應之前的秒數。 執行長時間執行的批次時,您可以減少這個值,避免檢查代理程式將記錄讀取器代理程式標示為有疑問。 預設為 300 秒。

-LoginTimeOut login_time_out_seconds
這是登入逾時之前的秒數。預設為 15 秒。

-LogScanThreshold scan_threshold
僅供內部使用。

-MaxCmdsInTran number_of_commands
指定當記錄讀取器將命令寫入散發資料庫時,分組到某交易內的最大陳述式數目。 使用此參數可讓記錄讀取器代理程式和散發代理程式在「訂閱者」端套用命令時,於「發行者」端將大型交易 (由許多命令組成) 分割成幾個較小的交易。 指定此參數可以降低「散發者」的競爭,並減少「發行者」和「訂閱者」之間的延遲。 因為原始交易是以較小的單位來套用,所以「訂閱者」在原始交易結束之前可以存取大量的邏輯「發行者」交易資料列,打破了嚴格的交易不可部份完成性。 預設值為 0,保留「發行者」的交易界限。

注意

非 SQL Server 發行集會忽略此參數。 如需詳細資訊,請參閱< Performance Tuning for Oracle Publishers>中的「設定交易集作業」一節。

-MessageInterval message_interval
這是用於記錄的時間間隔。 在記錄上一個記錄事件之後,如果到達 MessageInterval 值,系統就會記錄記錄事件。

如果來源沒有任何複寫的交易可用,代理程式就會回報無交易訊息給散發者。 這個選項會指定回報另一個無交易訊息之前等候的時間長度。 在先前處理複寫的交易之後,當代理程式偵測到來源沒有任何交易可用時,代理程式一律會回報無交易訊息。 預設值是 60 秒。

-Output output_path_and_file_name
這是代理程式輸出檔的路徑。 如果未提供檔案名稱,輸出將傳送至主控台。 如果指定的檔案名稱存在,輸出就會附加至該檔案。

-OutputVerboseLevel [ 0| 1| 2 | 3 | 4 ]
指定輸出是否應該詳細。

描述
0 僅列印錯誤訊息。
1 列印所有代理程式進度報表訊息。
2 (預設值) 列印所有錯誤訊息和代理程式進度報表訊息。
3 列印每個複寫命令中的前 100 個位元組。
4 列印所有複寫指令。

進行偵錯時,值 2-4 很有用。

-PacketSize packet_size
這是封包大小 (以位元組為單位)。 預設值是 4096 (位元組)。

-PollingInterval polling_interval
這是針對複寫交易查詢記錄的頻率 (以秒為單位)。 預設值是 5 秒。

-ProfileName profile_name
指定要用於代理程式參數的代理程式設定檔。 如果 ProfileName 為 NULL,就會停用代理程式設定檔。 如果沒有指定 ProfileName ,就會使用該代理程式類型的預設設定檔。 如需資訊,請參閱複寫代理程式設定檔

-PublisherFailoverPartner server_name[\instance_name]
指定參與具有發行集資料庫之資料庫鏡像工作階段的 SQL Server 容錯移轉夥伴執行個體。 如需詳細資訊,請參閱資料庫鏡像和複寫 (SQL Server)

-PublisherSecurityMode [ 0| 1]
指定發行者的安全性模式。 值為 0 表示 SQL Server 驗證 (預設),而值為 1 則表示 Windows 驗證模式。

-PublisherLogin publisher_login
這是發行者登入名稱。

-PublisherPassword publisher_password
這是發行者密碼。

-QueryTimeOut query_time_out_seconds
這是查詢逾時之前的秒數。預設值是 1800 秒。

-ReadBatchSize number_of_transactions
這是每個處理週期發行資料庫事務歷史記錄中讀取的最大交易數目,預設值為 500。 代理程式將繼續以批次方式讀取交易,直到從記錄中讀取所有交易為止。 這個參數不支援 Oracle 發行者。

-ReadBatchThreshold number_of_commands
這是要從交易記錄中讀取的複寫命令數目,然後散發代理程式便將這些命令發送至訂閱者。 預設值是 0。 如果沒有指定這個參數,記錄讀取器代理程式將讀取至記錄結尾或 -ReadBatchSize (交易數目) 中指定的數目。

-RecoverFromDataErrors
指定當記錄讀取器代理程式在非 SQL Server 發行者發行的資料行資料中遇到錯誤時,它會繼續執行。 根據預設,這類錯誤會導致記錄讀取器代理程式失敗。 當您使用 -RecoverFromDataErrors時,錯誤的資料行資料就會複寫成 NULL 或適當的非 Null 值,而且系統會在 MSlogreader_history 資料表中記錄警告訊息。 這個參數僅支援 Oracle 發行者。

備註

重要

如果您將 SQL Server Agent 安裝成在本機系統帳戶而非網域使用者帳戶 (預設值) 底下執行,這項服務就只能存取本機電腦。 如果在 SQL Server Agent 底下執行的記錄讀取器代理程式設定為使用 Windows 驗證模式,當它登入 SQL Server 時,記錄讀取器代理程式就會失敗。 預設設定為 SQL Server 驗證。 如需有關變更安全性帳戶的詳細資訊,請參閱< View and Modify Replication Security Settings>。

若要啟動記錄讀取器代理程式,請從命令提示字元執行 logread.exe 。 如需詳細資訊,請參閱複寫代理程式可執行檔概念

變更記錄

更新的內容
已加入 -ExtendedEventConfigFile 參數。

另請參閱

複寫代理程式管理