共用方式為


設定 IIS 以進行網路同步處理

本主題所述的程序,構成設定合併式複寫 Web 同步處理的第二個步驟。 完成啟用 Web 同步處理的發行集後,您才會執行此步驟。 如需設定程式的概觀,請參閱 設定 Web 同步處理。 完成本主題中的程序之後,請繼續進行第三個步驟,將訂用帳戶設定為使用 Web 同步處理。 第三個步驟說明於下列主題:

Web 同步處理會使用執行 Microsoft Internet Information Services (IIS) 的電腦,來同步處理合併出版物的拉取訂閱。 支援 IIS 5.0 版、IIS 6.0 版和 IIS 7.0 版。 但是,IIS 7.0 版不支援「設定 Web 同步處理精靈」。

這很重要

請確定您的應用程式只使用 .NET Framework 2.0 或更新版本,而且舊版的 .NET Framework 不會安裝在 IIS 伺服器上。 舊版 .NET Framework 可能會導致錯誤。 其中包括下列內容:「Web 同步處理期間訊息的格式無效。 請確定已在網頁伺服器上正確設定複寫元件。

謹慎

請勿同時使用 WebSync 和替代快照資料夾位置設定。

若要使用 Web 同步處理,您必須完成下列步驟來設定 IIS。 本主題會詳細說明每個步驟。

  1. 設定安全套接字層 (SSL)。 IIS 與所有訂閱者之間的通訊都需要 SSL。

  2. 使用 SQL Server 安裝精靈在執行 IIS 的電腦上安裝Microsoft SQL Server 聯機組件。 如果您打算使用步驟 3 中所述的設定 Web 同步處理精靈,您也必須在執行 IIS 的電腦上安裝 SQL Server Management Studio。

  3. 設定執行 IIS 以進行 Web 同步處理的電腦。 您可以手動設定計算機,或使用 [設定 Web 同步處理精靈]。 我們建議您使用精靈。

    備註

    如果執行 IIS 的電腦是在 64 位版本的 Windows 上執行,您必須執行下列命令,以確定伺服器已正確設定為執行 Internet Server API (ISAPI) 應用程式。 如需詳細資訊,請參閱 IIS 檔。

    cscript %SystemDrive%\inetpub\AdminScripts\adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin64 1  
    
  4. 設定 SQL Server 複寫接聽程式的適當許可權。

  5. 在診斷模式中執行 Web 同步處理,以測試與執行 IIS 的電腦連線,並確定已正確安裝 SSL 憑證。

設定安全套接字層

若要設定 SSL,請為執行 IIS 的電腦指定要使用的憑證。 合併式複寫的 Web 同步處理支援使用伺服器憑證,但不支援用戶端憑證。 若要設定 IIS 以進行部署,必須先從憑證授權中心 (CA) 獲得憑證。 證書頒發機構單位是負責建立和保證屬於使用者、計算機或其他證書頒發機構單位之公鑰真實性的實體。 如需有關憑證的詳細資訊,請參閱 IIS 文件集。 在您安裝憑證之後,必須將憑證與 Web 同步處理所使用的網站相關聯。

若要為部署指定憑證

  1. 以系統管理員身分登入執行 IIS 的電腦。

  2. 啟動 Internet Information Services(IIS)管理器

    1. 點擊開始,然後點擊執行

    2. 在 [開啟] 方塊中,輸入 inetmgr,然後按一下 [確定]

  3. 執行 IIS 憑證精靈:

    1. Internet Information Services (IIS) 管理員中,展開 本機電腦 節點,然後展開 [網站] 資料夾。

    2. 以滑鼠右鍵點擊 預設網站,然後點選 內容

    3. 在 [ 預設網站內容] 對話方塊的 [ 目錄安全性 ] 索引標籤上,按兩下 [伺服器證書]。

    4. 完成 Web 伺服器證書精靈。

  4. 按一下 [確定]

如果您無法從 CA 取得伺服器證書,您可以指定用於測試的憑證。 若要設定 IIS 6.0 進行測試,請使用 SelfSSL 公用程式來安裝憑證。 此公用程式可在 IIS 6.0 資源套件中使用。 您可以從 下載中心下載Microsoft工具。 針對 IIS 5.0,請移至 Microsoft說明與支援

備註

憑證必須與網站相關聯,該網站才能使用 SSL。 SelfSSL 會自動將憑證與預設網站產生關聯。 如果您已經有憑證,或之後從 CA 安裝憑證,您必須明確地將該憑證與 Web 同步處理所使用的網站產生關聯。 請確定只有一個憑證與用來同步處理訂閱的網站相關聯。 如果有多個憑證,訂閱者會使用第一個可用的網站。

指定在 IIS 6.0 中測試的憑證

  1. 以系統管理員身分登入執行 IIS 的電腦。

  2. 下載並安裝 SelfSSL。 根據預設,應用程式會安裝到 <磁碟驅動器>:\Program Files\IIS Resources\SelfSSL。 應用程式和檔快捷方式會複製到 <磁碟驅動器>:\文件和設定\所有使用者\開始功能表\程式\IIS 資源\SelfSSL。

  3. 執行 SelfSSL:

    • 若要使用所有參數的預設值執行 SelfSSL,請找出應用程式的安裝目錄,然後按兩下 SelfSSL.exe。

      備註

      根據預設,SelfSSL 安裝的憑證有效期為七天。

    • 若要指定一或多個參數的值:按兩下 [ 開始],然後按下 [ 執行]。 在 [ 開啟] 方塊中,輸入 cmd,然後按兩下 [ 確定]。 找出 SelfSSL 安裝目錄,輸入 SelfSSL,然後指定一或多個參數的值。 如需參數清單,請輸入 SelfSSL -?

安裝連線元件和 SQL Server Management Studio

安裝 SQL Server 聯機組件和 SQL Server Management Studio

  1. 以系統管理員身分登入執行 IIS 的電腦。

  2. 從 SQL Server 2012 安裝磁碟啟動 [SQL Server 安裝精靈]。 如需使用此精靈的詳細資訊,請參閱 從安裝精靈安裝 SQL Server 2014 (安裝程式)

  3. 在 [功能選取] 頁面上,選取 [用戶端工具連線]。

  4. 如果您打算使用 [設定 Web 同步處理精靈],請選取 [管理工具 - 基本]。

  5. 完成精靈,然後重新啟動計算機。

    備註

    您可以安裝其他元件,但要進行 Web 同步,只需要聯機組件。

使用設定 Web 同步處理精靈設定執行 IIS 的電腦

使用 [設定 Web 同步處理精靈] 或手動設定 IIS 伺服器。 我們建議使用精靈,但我們也會在下一節中提供手動設定的步驟。 SQL Server 2012 提供的 Web 同步處理精靈僅適用於在執行 SQL Server 2012 之發行者上建立的發行集,或升級至 SQL Server 2012 的發行者。 精靈無法用於 SQL Server 2005 上的發行。 精靈可以與 SQL Server 2005 和更新版本的訂閱搭配使用,以及 SQL Server Compact 3.5 3.0 和更新版本。

組態具有下列特性:

  • 使用 IIS 中的預設網站。 不過,您可以使用另一個網站。 如需如何建立網站的詳細資訊,請參閱 IIS 檔。

    備註

    您指定的網站可讓您存取 Web 同步處理所使用的元件。 除非您將網站設定為允許存取,否則網站不會提供其他數據或網頁的存取權。

  • 建立虛擬目錄及其相關聯的別名。 存取 Web 同步處理元件時會使用別名。 例如,如果 IIS 位址是 https://*server.domain.com* ,而您指定 'websync1' 的別名,則存取 replisapi.dll 元件的位址為 https://*server.domain.com*/websync1/replisapi.dll

  • 使用基本身份驗證。 我們建議使用基本身份驗證,因為基本身份驗證可讓您在不同的計算機上執行 IIS 和 SQL Server 發行者/散發者(建議的設定),而不需要 Kerberos 委派。 搭配基本身份驗證使用 SSL 可確保登入、密碼和所有數據都會在傳輸中加密。 (不論所使用的驗證類型為何,都需要 SSL。如需 Web 同步處理最佳做法的詳細資訊,請參閱 設定 Web 同步處理中的一節。

使用設定 Web 同步處理精靈設定執行 IIS 的電腦

  1. 在執行 IIS 的電腦上,啟動 SQL Server Management Studio。

  2. 連接到發行者,然後展開伺服器節點。

  3. 展開 本機發行 資料夾,右鍵點擊該發行,然後點擊 設定網路同步

  4. 在 [設定 Web 同步處理精靈] 的 [ 訂閱者類型 ] 頁面上,選取 [SQL Server]。

  5. [網頁伺服器] 頁面上:

    1. 選取將同步處理訂閱的 IIS 實例。

    2. 選取 [建立新的虛擬目錄]。

    3. 在頁面的下方窗格中,展開 IIS 的實例、展開 [網站],然後按兩下 [ 預設網站]。

  6. 在[ 虛擬目錄資訊] 頁面上:

    1. 在 [ 別名] 方塊中,輸入虛擬目錄的別名。

    2. 在 [ 路徑] 方塊中,輸入虛擬目錄的路徑。 例如,如果您在 [別名] 方塊中輸入websync1,請在 [路徑] 方塊中輸入 C:\Inetpub\wwwroot\websync1 。 按 [下一步]。

    3. 在兩個對話框中,按兩下 [ ]。 這會指定您想要建立新的資料夾,而且您想要複製 SQL Server Internet Server API (ISAPI) DLL。 .

  7. 在 [ 已驗證的存取 ] 頁面上:

    1. 請確定已清除 整合式 Windows 驗證 和 Windows 網域伺服器的 摘要驗證

    2. 選取 [基本身份驗證]。

    3. 在 [ 預設網域 ] 和 [ 領域] 方塊中,輸入執行 IIS 的計算機網域。

  8. 在 [ 目錄存取 ] 頁面上:

    1. 單擊 [新增],然後在 [ 選取使用者或群組 ] 對話框中,新增訂閱者將連線到 IIS 的帳戶。 這些是您要在 [新增訂閱精靈] 的 [網頁伺服器資訊 ] 頁面上指定的帳戶,或做為 sp_addmergepullsubscription_agent@internet_login 參數的值。
  9. 在 [ 快照共用存取 ] 頁面上,輸入快照共用名稱。 此共用上會設定適當的許可權,讓訂閱者可以存取快照集檔案。 如需共用許可權的詳細資訊,請參閱 保護快照集資料夾

  10. 在 [完成精靈] 頁面上,按一下 [完成]。

    如果發生失敗,例如嘗試設定執行 IIS 的遠端電腦時發生網路錯誤,則會回復所有已完成的動作,並取消所有剩餘的動作。 如果無法回復已完成的動作,精靈最後一頁的狀態會顯示 [成功 ],且已完成的動作仍會認可。

  11. 如果執行 IIS 的電腦是在 64 位版本的 Windows 上執行,則必須將 replisapi.dll 複製到適當的目錄:

    1. 點擊開始,然後點擊執行。 在 [ 開啟] 方塊中,輸入 iisreset,然後按兩下 [ 確定]。

    2. 在 IIS 停止並重新啟動之後,將 replisapi.dll 從<磁碟驅動器>:\Program Files\Microsoft SQL Server\120\COM eplisapi\r複製到步驟 6b 中指定的目錄。

    3. 點擊開始,然後點擊執行。 在 [ 開啟] 方塊中,輸入 cmd,然後按兩下 [ 確定]。

    4. 在您在步驟 6b 中指定的目錄中,執行下列命令:

      regsvr32 replisapi.dll

手動設定執行 IIS 的電腦

若要手動設定執行 IIS 的電腦,您必須安裝並設定 SQL Server 複寫接聽程式,然後設定要連線到 IIS 之訂閱者的授權。

安裝及設定 SQL Server 複寫接聽程式

  1. 在執行 IIS 的電腦上建立檔案目錄,以包含 replisapi.dll。 您可以在任何位置建立該目錄,不過,建議您建立在 <磁碟機>:\Inetpub 目錄底下。 例如,您可以建立 <磁碟機>:\Inetpub\SQLReplication\ 目錄。

    這很重要

    強烈建議您在NTFS檔系統磁碟分區上建立此目錄,而不是FAT檔系統。 當您使用NTFS檔案系統時,可以使用NTFS檔案系統許可權來精確控制可存取SQL Server 複寫的使用者。

  2. 將 replisapi.dll 從目錄 <磁碟驅動器>:\Program Files\Microsoft SQL Server\120\com\ 複製到您在步驟 1 中建立的檔案目錄。

  3. 註冊 replisapi.dll:

    1. 點擊開始,然後點擊執行。 在 [ 開啟] 方塊中,輸入 cmd,然後按兩下 [ 確定]。

    2. 在您在步驟 1 中建立的目錄中,執行下列命令:

      regsvr32 replisapi.dll

  4. 建立新的網站進行複製,或使用現有的網站。 同步處理期間,復寫元件會存取網站。 如需如何建立網站的詳細資訊,請參閱 IIS 檔。

  5. 在 IIS 中建立虛擬目錄。 虛擬目錄應該建立在步驟 4 中建立的網站底下,而且應該對應至步驟 1 中建立的目錄。 如需如何建立虛擬目錄的詳細資訊,請參閱 IIS 檔。 建議您在指派許可權給此目錄時盡可能限制。 您必須選取 [讀取 ] 和 [ 執行 ] 許可權,但您可以清除 [執行腳本]、[ 寫入] 和 [ 流覽 ] 許可權。

  6. 設定 IIS,使 replisapi.dll 能夠執行。 在步驟 4 中指派的許可權足以供舊版 IIS 使用;不過,IIS 6.0 版需要啟用因特網伺服器 API (ISAPI) 延伸模組。 如需詳細資訊,請參閱 IIS 6.0 說明文件中的「設定 ISAPI 擴充功能」及「啟用和停用動態內容」。

設定 IIS 驗證

  • 當訂閱者連線到 IIS 時,IIS 必須先驗證訂閱者,才能存取資源和進程。 IIS 提供三種類型的驗證:匿名、基本和整合。 驗證可套用至整個網站或您建立的虛擬目錄。

    建議您搭配 SSL 使用基本身份驗證。 不論使用的驗證類型為何,都需要 SSL。 如需如何設定驗證的詳細資訊,請參閱 IIS 檔。

設定 SQL Server 複寫接聽程式的許可權

當訂閱者連接到執行 IIS 的電腦時,訂閱者會使用您設定 IIS 時指定的驗證類型進行驗證。 在 IIS 驗證訂閱者之後,IIS 會檢查訂閱者是否有權叫用 SQL Server 複寫。 您可藉由設定 replisapi.dll 的權限來控制可以叫用 SQL Server 複寫的使用者。 您必須正確設定權限,才能避免未經授權的使用者存取 SQL Server 複寫。

若要針對 SQL Server 複寫接聽程式執行時使用用的帳戶設定最低權限,請完成下列程序。 適用於執行 IIS 6.0 的 Microsoft Windows Server 2003 程序中的步驟。

除了執行下列步驟之外,請確保所需的登入位於發行集存取清單 (PAL) 中。 如需有關 PAL 的更多資訊,請參閱保護發行者

設定帳戶和許可權

  1. 在執行 IIS 的電腦上建立本機帳戶:

    1. 用滑鼠右鍵按一下 [我的電腦],再按一下 [管理]

    2. [計算機管理] 中,展開 [ 本機使用者和群組]。

    3. 以滑鼠右鍵按一下 [使用者],然後按一下 [新增使用者]

    4. 輸入使用者名稱與增強式密碼。

    5. 按兩下 [建立],然後按兩下 [ 關閉]。

  2. 將帳戶新增至IIS_WPG群組:

    1. [計算機管理] 中,展開 [ 本機使用者和群組],然後按兩下 [ 群組]。

    2. 以滑鼠右鍵按兩下 IIS_WPG,然後按兩下 [ 新增至群組]。

    3. [IIS_WPG屬性 ] 對話框中,按兩下 [ 新增]。

    4. [選取使用者、電腦或群組] 對話方塊中,加入在步驟 1 建立的帳戶。

    5. 請確定 [ 從這個位置 ] 字段中的名稱是本機計算機的名稱,而不是網域。 如果名稱不是本機電腦,請按一下 [位置]。 在 [ 位置] 對話框中,選取本機計算機,然後按兩下 [ 確定]。

    6. 在 [ 選取使用者 ] 對話框和 [IIS_WPG屬性 ] 對話框中,按兩下 [ 確定]。

  3. 將最小權限授予帳戶,以管理包含 replisapi.dll 的資料夾:

    1. 找出您為 replisapi.dll建立的資料夾,以滑鼠右鍵按兩下資料夾,然後按兩下 [ 共用與安全性]。

    2. 在 [安全性] 索引標籤上,按一下 [新增]

    3. 在 [ 選取使用者、計算機或群組 ] 對話框中,新增您在步驟 1 中建立的帳戶。

    4. 請確定 [ 從這個位置 ] 字段中的名稱是本機計算機的名稱,而不是網域。 如果名稱不是本機電腦,請按一下 [位置]。 在 [ 位置] 對話框中,選取本機計算機,然後按兩下 [ 確定]。

    5. 請確定帳戶只獲授與 [讀取]、 [讀取] 和 [執行] 和 [列出資料夾內容 ] 許可權。

    6. 選取不需要存取目錄的任何使用者或群組,然後按兩下 [ 移除]。

    7. 按一下 [確定]

  4. [Internet Information Services (IIS) 管理員] 中建立應用程式集區:

    1. 點擊開始,然後點擊執行

    2. 在 [開啟] 方塊中,輸入 inetmgr,然後按一下 [確定]

    3. Internet Information Services (IIS) 管理員 中,展開 本機電腦節點

    4. 以滑鼠右鍵按兩下 [應用程式集區],指向 [ 新增 ],然後按兩下 [ 應用程式集區]。

    5. 在 [ 應用程式集區標識符 ] 字段中輸入集區的名稱,然後按兩下 [ 確定]。

  5. 將帳戶與應用程式集區相關聯:

    1. Internet Information Services (IIS) 管理員中,展開 本機電腦 節點,然後展開 [應用程式集區]。

    2. 以滑鼠右鍵按下您建立的應用程式集區,然後按兩下 [ 屬性]。

    3. 在 [<ApplicationPoolName> 屬性] 對話方塊的 [身分識別] 索引標籤上,按一下 [可設定]。

    4. 在 [使用者名稱和密碼] 字段中,輸入步驟 1 中建立的帳戶和密碼。

    5. 按一下 [確定]

  6. 將應用程式集區與用於 Web 同步處理的虛擬目錄產生關聯:

    1. Internet Information Services (IIS) 管理員中,展開 本機電腦 節點,然後展開 [網站]。

    2. 展開您用來進行 Web 同步的網站,右鍵點擊您為 Web 同步建立的虛擬目錄,然後選擇內容

    3. 在 [VirtualDirectoryName> 屬性] 對話方塊的<[虛擬目錄] 索引卷標上,從 [應用程式集區] 下拉式清單中,選取步驟 5 中建立的應用程式集區。

    4. 按一下 [確定]

測試連線至 replisapi.dll

以診斷模式執行 Web 同步處理,以測試與執行 IIS 的電腦連線,並確定已正確安裝安全套接字層 (SSL) 憑證。 若要在診斷模式下執行 Web 同步處理,您必須是執行 IIS 之電腦上的管理員。

測試與 replisapi.dll 的連線

  1. 確定訂閱者端的區域網路 (LAN) 設定正確:

    1. 在 [Microsoft Internet Explorer] 的 [ 工具] 功能表上,按兩下 [ 因特網選項]。

    2. [連接] 索引標籤中,按一下 [LAN 設定]

    3. 如果未在 LAN 上使用 Proxy 伺服器,請清除 [ 自動偵測設定 ] 並使用 您 LAN 的 Proxy 伺服器

    4. 如果使用代理伺服器,請選取 [為您的 LAN 使用代理伺服器] 和 [略過本機位址的代理伺服器]。

    5. 按一下 [確定]

  2. 在訂閱者端的 Internet Explorer 中,將 ?diag 附加至 replisapi.dll 的位址,以便在診斷模式下連接伺服器。 例如: https://server.domain.com/directory/replisapi.dll?diag

  3. 如果 Windows作系統無法辨識您為 IIS 指定的憑證,[ 安全性警示 ] 對話框隨即出現。 此警示可能會發生,因為憑證是測試憑證,或憑證是由 Windows 無法辨識的證書頒發機構單位 (CA) 所簽發。

    備註

    如果此對話框未出現,請確定您要存取之伺服器的憑證已新增至訂閱者端的證書存儲做為受信任的憑證。 如需有關匯入憑證的詳細資訊,請參閱 IIS 文件集。

    1. 在 [ 安全性警示] 對話框中,按兩下 [ 檢視憑證]。

    2. 在 [ 憑證] 對話框的 [ 一般 ] 索引標籤上,按兩下 [ 安裝憑證]。

    3. 完成「憑證匯入精靈」,以接受預設值。

    4. 在 [ 安全性警告] 對話框中,按兩下 [ ]。

    5. 在 [憑證匯入精靈] 確認對話框中,按兩下 [ 確定]。

    6. 關閉 [憑證] 對話方塊。

    7. 在 [ 安全性警示] 對話框中,按兩下 [ ]。

    備註

    將為使用者安裝憑證。 這項處理序必須針對將與 IIS 同步處理的每位使用者執行。

  4. 在 [連接到 <伺服器名稱>] 對話方塊中,指定合併代理程式用於連接至 IIS 的登入和密碼。 也可以在「新增訂閱精靈」中指定這些認證。

  5. 在名為 SQL Websync 診斷資訊的 Internet Explorer 視窗中,確認頁面上每個 [狀態 ] 資料行中的值是否 為 SUCCESS

  6. 確定憑證已正確安裝於訂閱者端:

    1. 關閉 Internet Explorer,然後再重新開啟。

    2. 在診斷模式下連接到伺服器。 如果憑證已正確安裝,將不會顯示 [安全性警示 ] 對話方塊。 如果對話框出現,當合併代理程式嘗試連線到執行 IIS 的計算機時,將會失敗。 您必須確定您要存取之伺服器的憑證已新增至訂閱者端的證書存儲做為受信任的憑證。 如需有關匯入憑證的詳細資訊,請參閱 IIS 文件集。

另請參閱

設定 Web 同步處理