Microsoft SQL Server 可讓您更精細地控制 Web 同步處理安全性的設定。 本主題提供 Web 同步處理元件中可包含之所有元件的完整清單,以及元件之間連線的相關信息。 盡可能使用 Windows 驗證。
下圖顯示所有可能的連線,但特定拓撲中可能不需要某些連線。 例如,只有在使用 FTP 傳遞快照集時,才需要與 FTP 伺服器的連線。
下表描述圖中顯示的元件和連線。
A。 合併代理程式運行的 Windows 使用者
在同步處理期間,合併代理程式 (A) 會在訂閱者端啟動。 合併代理程式可以從 SQL Server Agent 作業步驟或獨立自定義應用程式啟動。 如果合併代理程式是從 SQL Server Agent 作業步驟啟動,合併代理程式會在您指定的 Windows 使用者內容下執行。 如果您未指定 Windows 使用者,合併代理程式會在 SQL Server Agent 的 Windows 服務帳戶內容下執行。
| 帳戶類型 | 指定帳戶的位置 |
|---|---|
| Windows 使用者 | Transact-SQL:sp_addmergepullsubscription_agent的@job_login和@job_password參數。 RMO (複寫管理物件):Login和 Password 的 SynchronizationAgentProcessSecurity屬性。 |
| SQL Server Agent 的 Windows 服務帳戶 | SQL Server 組態管理員 |
| 獨立應用程式 | 合併代理程式會在執行應用程式的 Windows 使用者上下文中執行。 |
B. 連接到訂閱者
合併代理程式會使用 Windows 驗證或 SQL Server 驗證連接到訂閱者。 您指定的 Windows 使用者或 SQL Server 登入必須與作為訂閱資料庫中 dbowner 固定資料庫角色成員的資料庫使用者相關聯。
備註
從 SQL Server Agent 作業啟動合併代理程式時,一律會使用 Windows 驗證。 除非明確指定 SQL Server 驗證,否則在以程式設計方式啟動合併代理程式時,也會使用 Windows 驗證。
| 驗證類型 | 指定驗證的位置 |
|---|---|
| Windows 驗證。 | 合併代理程式會在針對合併代理程式指定之 Windows 使用者的內容下建立連線。 |
| 只有在指定下列條件時,才會使用 SQL Server 驗證: RMO:SubscriberSecurityMode的值為Standard。 合併代理程式命令行:SubscriberSecurityMode 的值為 0。 |
RMO: SubscriberLogin 和 SubscriberPassword。 合併代理程式命令行: -SubscriberLogin 和 -SubscriberLogin。 |
C. 連接至外向代理伺服器
只有在有代理伺服器限制訂閱者內部網路存取的情況下,才限制指定此連線的 Windows 使用者。
| 驗證類型 | 指定驗證的位置 |
|---|---|
| Windows 驗證 | RMO:InternetProxyLogin 和 InternetProxyPassword 使用 InternetProxyServer。 合併代理程式命令行: -InternetProxyLogin 和 -InternetProxyPassword 與 -InternetProxyServer。 |
D. 與 IIS 的連線
連接到訂閱者並從訂閱資料庫擷取任何變更之後,合併代理程式會提出 HTTPS 要求來Microsoft Internet Information Services (IIS),並以 XML 訊息的形式上傳數據變更。 合併代理程式必須具有 IIS 的登入許可權。
| 驗證類型 | 指定驗證的位置 |
|---|---|
| 如果指定下列其中一項,則會使用基本身份驗證: Transact-SQL:對於 @internet_security_mode 參數,sp_addmergepullsubscription_agent 的值為 0。 RMO:InternetSecurityMode的值為Standard。 合併代理程式命令行:-InternetSecurityMode 的值為 0。 |
Transact-SQL:sp_addmergepullsubscription_agent的@internet_login和@internet_password參數。 RMO: InternetLogin 和 InternetPassword。 合併代理程式命令行: -InternetLogin 和 -InternetPassword。 |
| 如果指定下列其中一項,則會使用整合式驗證* : Transact-SQL:sp_addmergepullsubscription_agent 的 @internet_security_mode 參數的值為 1。 RMO:InternetSecurityMode的值為Integrated。 合併代理程式命令行:-InternetSecurityMode 的值為 1。 |
合併代理程式會在針對合併代理程式指定之 Windows 使用者的內容下建立連線。 |
*整合式驗證只有在所有計算機都位於相同網域中,或是位於具有彼此信任關係的多個網域時,才能使用整合式驗證。
備註
如果使用「整合式驗證」,則需要委派。 我們建議您針對從訂閱者到 IIS 的連線使用基本身份驗證和 SSL。
E. 與發行者的連線
SQL Server 複寫接聽程式和合併式複寫協調器元件裝載在執行 IIS 的電腦上。 這些元件會執行下列動作:
請選取節 'D' 中所述的 HTTPS 要求。 與 IIS 的連線。
建立發行集資料庫的 SQL 連接,並將上傳的變更套用至發行集資料庫。
擷取下載的變更,並將 HTTPS 回應傳回合並代理程式。
合併複寫協調器會使用 Windows 驗證或 SQL Server 驗證連線至發行者。 您指定的 Windows 使用者或 SQL Server 登入必須符合下列各項:
位於發行集存取清單 (PAL) 中。 如需詳細資訊,請參閱保護發行者。
與出版資料庫中的使用者相關聯。
| 驗證類型 | 指定驗證的位置 |
|---|---|
| 如果指定下列其中一項,則會使用 Windows 驗證: Transact-SQL:sp_addmergepullsubscription_agent 的 @publisher_security_mode 參數的值為 1。 RMO:PublisherSecurityMode的值為Integrated。 合併代理程式命令列:-PublisherSecurityMode 的值為 1。 |
合併代理程式會以指定給 IIS 連線的 Windows 使用者身份,連接到發行伺服器。 如果發行者和 IIS 位於不同的電腦上,且整合式驗證用於連線 (D),您必須在執行 IIS 的電腦上啟用 Kerberos 委派。 如需詳細資訊,請參閱 Windows 文件集。 |
| 如果指定下列其中一項,就會使用 SQL Server 驗證: Transact-SQL:在 sp_addmergepullsubscription_agent 中,@publisher_security_mode 參數的值為 0。 RMO:PublisherSecurityMode的值為Standard。 合併代理程式命令行:-PublisherSecurityMode 的值為 0。 |
Transact-SQL:sp_addmergepullsubscription_agent的@publisher_login和@publisher_password參數。 RMO: PublisherLogin 和 PublisherPassword。 合併代理程式命令行: -PublisherLogin 和 -PublisherPassword。 |
F. 與分銷商的連線
在執行 IIS 的電腦上託管的合併複寫協調員也會連線到分發者。 合併複寫協調器會使用 Windows 驗證或 SQL Server 驗證連接到發行者。 您指定的 Windows 使用者或 SQL Server 登入必須符合下列各項:
位於出版物存取權 (PAL) 中。 如需詳細資訊,請參閱保護發行者。
在散發資料庫中與資料庫用戶建立關聯。 使用者可以是
Guest使用者。
快照分享通常位於分發端。 如需快照集共用的詳細資訊,請參閱「H」節。 在本主題稍後部分中,提供對快照共享的存取權。
| 驗證類型 | 指定驗證的位置 |
|---|---|
| 如果指定下列其中一項,則會使用 Windows 驗證: Transact-SQL:參數 @distributor_security_mode 的值為 1,用於 sp_addmergepullsubscription_agent。 RMO:DistributorSecurityMode的值為Integrated。 合併代理程式命令行:-DistributorSecurityMode 的值為 1。 |
合併代理人會以指定給 IIS 連線的 Windows 使用者的身分,連接到散發者。 如果散發者和 IIS 位於不同的電腦上,且整合式驗證用於連線 (D),您必須在執行 IIS 的電腦上啟用 Kerberos 委派。 如需詳細資訊,請參閱 Windows 文件集。 |
| 如果指定下列其中一項,就會使用 SQL Server 驗證: Transact-SQL:sp_addmergepullsubscription_agent 的 @distributor_security_mode 參數的值為 0。 RMO:DistributorSecurityMode的值為Standard。 合併代理程式命令列:-DistributorSecurityMode 的值為 0。 |
Transact-SQL:sp_addmergepullsubscription_agent的@distributor_login和@distributor_password參數。 RMO: DistributorLogin 和 DistributorPassword 合併代理程式命令行: -DistributorLogin 和 -DistributorPassword。 |
G. 與 FTP 伺服器的連線
只有當您將快照集檔案從 FTP 伺服器(而非從 UNC 位置)下載到正在執行 IIS 的電腦,然後在將快照集套用到訂閱者之前,才為此連線指定 Windows 使用者。 如需詳細資訊,請參閱透過 FTP 傳送快照集。
| 驗證類型 | 指定驗證的位置 |
|---|---|
| Windows 驗證 | Transact-SQL:sp_addmergepublication的@ftp_login和@ftp_password參數。 RMO: FtpLogin 和 FtpPassword。 |
H. 訪問快照共享
快照共享是由執行 IIS 的電腦上運行的合併複寫協調者所存取。
| 驗證類型 | 指定驗證的位置 |
|---|---|
| Windows 驗證 | 合併代理程式會在指定用於 IIS 連線的 Windows 使用者身分下,存取快照共用資源。 如果快照集共用和 IIS 位於不同的電腦上,並使用整合式驗證進行連線 (D),您必須在執行 IIS 的電腦上啟用 Kerberos 委派。 如需詳細資訊,請參閱 Windows 文件集。 |
一. IIS 的應用程式集區帳戶
此帳戶可用來在執行 IIS for Windows Server 2003 的電腦上啟動 W3wp.exe 進程,或在 Windows 2000 上啟動 Dllhost.exe 進程。 這些程式會在執行 IIS 的電腦上裝載應用程式,例如 SQL Server 複寫接聽程式和合併式複寫協調器。 此帳戶應該在執行 IIS 的電腦上,具有下列復寫 DLL 的讀取和執行許可權:
Replisapi
Replrec
Replprov
Msgprox
Xmlsub
帳戶也應該是IIS_WPG群組的一部分。 如需詳細資訊,請參閱
| 帳戶類型 | 指定帳戶的位置 |
|---|---|
| 任何具有必要許可權的 Windows 使用者。 | Internet Information Services (IIS) 管理員。 |