本文討論如何在使用快照初始化訂閱時修改一些選項。
快照格式
在 [發行集屬性 - <發行集>] 對話框的 [快照] 頁面上指定快照格式。 如需有關存取這個對話方塊的詳細資訊,請參閱< View and Modify Publication Properties>。
在 [發行集屬性 - <發行集>] 對話方塊的 [快照] 頁面上,選取 [原生 SQL Server - 所有訂閱者必須是執行 SQL Server 的伺服器] 或 [字元 - 如果發行者或訂閱者未執行 SQL Server,則為必要]。
備註
除非此發行集必須支援 SQL Server Compact 資料庫或非 SQL Server 資料庫的訂閱,否則建議選取原生格式。
按一下 [確定]。
快照集資料夾位置
默認快照位置
指定預設快照集位置 (SQL Server Management Studio) 在 [設定散發精靈] 的 [ 快照集資料夾 ] 頁面上指定預設快照集位置。 如需使用此精靈的詳細資訊,請參閱 設定發佈和散發。 如果您在未設定為分發者的伺服器上建立發行,請在 [新增發行精靈] 的 [快照資料夾] 頁面上指定預設快照位置。 如需使用此精靈的詳細資訊,請參閱 建立發行集。
修改 [分發者屬性 - <分發者>] 對話方塊之 [發佈者] 頁面上的預設快照位置。 如需詳細資訊,請參閱 檢視和修改散發者和發行者屬性。 在 發行集屬性 - <發行> 對話框中,設定每個發行的快照資料夾。 如需詳細資訊,請參閱 檢視和修改發行集屬性。
修改預設快照集位置
在 [發行者屬性 - <發行者>] 對話框的 [發行者] 頁面上,按下您想要更改預設快照位置的發行者之屬性按鈕(...)。
在 [ 發行者屬性 - <發行者> ] 對話框中,輸入 [預設快照集資料夾 ] 屬性的值。
備註
快照集代理程式必須具有您指定之目錄的寫入許可權,而且散發代理程式或合併代理程式必須具有讀取許可權。 如果使用提取訂閱,您必須將共用目錄指定為通用命名慣例 (UNC) 路徑,例如 \\computername\snapshot。 如需詳細資訊,請參閱 保護快照集資料夾。
按一下 [確定]。
替換快照位置
在 [發行集屬性 - <發行>] 對話框的 [快照] 頁面上指定替代的快照位置。 如需有關存取這個對話方塊的詳細資訊,請參閱< View and Modify Publication Properties>。
指定替代快照位置
- 在 [發行集屬性 - <發行集>] 對話方塊的 [快照] 頁面上:
選取 [將檔案放在下列資料夾中],然後按兩下 [ 瀏覽 ] 瀏覽至目錄,或輸入應該儲存快照集檔案之目錄的路徑。
備註
快照集代理程式必須具有您指定之目錄的寫入許可權,而且散發代理程式或合併代理程式必須具有讀取許可權。 如果使用提取訂閱,您必須將共用目錄指定為通用命名慣例 (UNC) 路徑,例如 \\computername\snapshot。 如需詳細資訊,請參閱 保護快照集資料夾。
一。 除非您需要將快照集檔案寫入這兩個位置,否則請清除將檔案放入預設資料夾中的設定。
若要壓縮快照集檔案,請選取 [壓縮此位置中的快照集檔案]。 壓縮通常用於低頻寬連線,以及卸除式媒體(例如CD-ROM)上的替代快照位置。
- 按一下 [確定]。
壓縮快照集檔案
指定應該在 [發行集屬性 - <發行集>] 對話框的 [快照集] 頁面上壓縮檔案。 如需有關存取這個對話方塊的詳細資訊,請參閱< View and Modify Publication Properties>。
在 [發行集屬性 - <發行集>] 對話方塊的 [快照] 頁面上:
選取 [將檔案放在下列資料夾中],然後按兩下 [ 瀏覽 ] 瀏覽至目錄,或輸入應該儲存快照集檔案之目錄的路徑。
備註
快照集代理程式必須具有您指定之目錄的寫入許可權,而且散發代理程式或合併代理程式必須具有讀取許可權。 如果使用提取訂閱,您必須將共用目錄指定為通用命名慣例 (UNC) 路徑,例如 \\computername\snapshot。 如需詳細資訊,請參閱 保護快照集資料夾
除非您需要將快照集檔案寫入這兩個位置,否則 清除 [將檔案放入預設資料夾中 ]。
備註
如果選取此複選框,則不會壓縮儲存在預設資料夾中的檔案。 壓縮檔只能儲存在上一個步驟中指定的替代位置。
選取 [壓縮此資料夾中的快照集檔案]。
按一下 [確定]。
在套用快照之前和之後執行腳本
您可以在套用快照集之前或之後,指定要在訂閱者端執行的腳本。 腳本可以用來實現多種功能,例如在每個訂閱者端建立登入和架構(物件擁有者)。
您為每個腳本指定檔案位置,而快照集代理程式會在每次發生快照集處理時,將腳本檔案複製到目前的快照集資料夾。 散發代理程式或合併代理程式會在套用快照集時,先執行預先快照集腳本,再執行任何復寫的物件腳本。 散發代理程式或合併代理程式會在套用所有其他複寫物件的腳本和數據後,執行後快照腳本。 快照集應用程式完成且腳本檔案順利執行之後,腳本檔案會從訂閱者的工作目錄中移除。
腳本是藉由啟動 sqlcmd 公用程式來執行。 在部署腳本之前,請使用 sqlcmd 執行腳本,以確保它會如預期般執行。 套用快照集前後執行的腳本內容必須可重複。 例如,如果您在腳本中建立數據表,您應該先檢查其是否存在,並在存在時採取適當的動作。 腳本必須能夠重複執行,因為如果您需要為已執行該腳本的訂閱重新初始化,在重新初始化並套用新快照時,該腳本會再次執行。
如果您要壓縮快照集檔案(將它放入Microsoft CAB 檔案格式),腳本也會壓縮並放在 CAB 檔案中。 將壓縮快照檔案傳送至訂閱者並解壓縮至訂閱者上的工作目錄之後,就會執行任何標示為快照前腳本的腳本。 同樣地,任何快照集後腳本會在訂閱者端解壓縮並執行,作為套用快照集的最後一個步驟。
在套用快照之前或之後執行腳本
指定要在 [發行集屬性 - <發行>] 對話框的 [快照] 頁面上套用快照之前或之後執行的選擇性腳本。 如需有關存取這個對話方塊的詳細資訊,請參閱< View and Modify Publication Properties>。
- 在 發行集屬性 - <發行集> 對話方塊的 快照 頁面上:
若要指定在套用快照之前執行的腳本,請按一下 瀏覽 來定位腳本,或在 [在套用快照之前執行此腳本] 的文字框中輸入腳本的路徑。
備註
散發代理程式或合併代理程序必須具有您指定之目錄的讀取許可權。 如果使用提取訂閱,您必須將共享目錄指定為通用命名慣例 (UNC) 路徑,例如 \\computername\scripts\myscript.sql。
若要指定在快照套用後要執行的腳本,請按一下 瀏覽 以定位到腳本,或者在 套用快照後執行此腳本 文字框中輸入腳本的 UNC 路徑。
- 按一下 [確定]。