取用者銷售點 (POS) 應用程式

消費者銷售點 (POS) 應用程式包含消費者會在銷售點直接或間接遇到的應用程式。範例包括收銀機、自動櫃員機和店內資訊站。這些應用程式會在遠端站台收集資料,並將其傳送回中央位置,例如總部或資料中心。通常在這些應用程式中,資料主要是在銷售點收集並於隨後上載至總部,而不會發生衝突,因為是由單一遠端使用者 (一般是客戶或銷售人員) 更新給定的一段資料。

下圖說明資料在中央站台與遠端位置之間雙向流動的標準狀況:

正在從店面複寫資料至總部

Adventure Works 循環範例

Adventure Works Cycles 是虛構的製造公司,用於示範資料庫概念與案例。如需詳細資訊,請參閱<AdventureWorks2008R2 範例資料庫>。

許多銷售 Adventure Works Cycles 產品的零售商店,使用和中央站台傳送與接收資料的銷售點系統。一般而言,唯讀的產品價格和倉庫庫存資料,會在每次該資料發生更新時傳送至零售商店。客戶購買資訊則會從每個零售商店傳送至中央站台。

這個狀況的一般需求

POS 應用程式通常具有下列特性,適當的複寫方案必須提出因應對策:

  • 大多數資料都是在遠端站台輸入與更新。

  • 遠端使用者必須能夠獨立進行更新,不必連接到中央站台。

  • 在遠端站台更新的資料不會於其他任何站台更新;因此通常不會發生衝突。

  • 某些資料只應該在中央站台更新,例如,產品描述資料表中的資料。

  • 使用者會在排程時間 (如營業日結束時) 同步處理資料。

  • 應用程式必須控制遠端站台能夠保持未同步處理的時間長度。

  • 某些資料表需要篩選,以便每個商店可收到一或多個資料表的不同資料。例如,每個商店只會收到其備有存貨的產品資訊。

  • 應用程式可能會要求在資料同步處理時,執行自訂商務邏輯。

  • 應用程式可能會要求資料透過網際網路同步處理,而非透過專用連接同步處理。

下圖說明與這個狀況相關聯的篩選:

正在為銷售點應用程式進行篩選

這個狀況要使用的複寫類型

Microsoft SQL Server 使用的是出版業的字眼,來描述複寫系統的元件。元件包含發行者、訂閱者、發行集與發行項,以及訂閱。上圖裡的中央站台是發行者。中央站台端的資料是發行集,而每個資料表則是發行項 (發行項也可以是其他資料庫物件,例如預存程序)。每個銷售點終端機是發行集的訂閱者,以訂閱的方式接受結構描述和資料。如需系統元件的詳細資訊,請參閱<複寫發行模型概觀>。

SQL Server 為不同的應用程式需求提供不同類型的複寫:快照式複寫、交易式複寫,以及合併式複寫。這個狀況使用合併式複寫實作最佳,這種複寫適合處理前一區段所述的需求。如需有關合併式複寫的詳細資訊,請參閱<合併式複寫概觀>和<合併式複寫的運作方式>。

與這個狀況相關的合併式複寫選項

合併式複寫提供數個選項,以處理本主題前面所述的需求。下列清單會列出每一個需求,以及相對的合併式複寫選項。

  • 大多數資料都是在遠端站台輸入與更新。

    合併式複寫提供這項功能,不用指定任何其他選項。

  • 遠端使用者必須能夠獨立進行更新,不必連接到中央站台。

    合併式複寫提供這項功能,不用指定任何其他選項。

  • 在遠端站台更新的資料不會於其他任何站台更新;因此通常不會發生衝突。

    在 POS 應用程式中,通常可以避免衝突發生,因為是由單一使用者更新給定的一段資料。由於資料不會在不同使用者之間重疊,因此可以使用非重疊資料分割選項最佳化效能。如需詳細資訊,請參閱<參數化資料列篩選器>主題的「設定資料分割選項」一節。

    合併式複寫針對預期會發生資料衝突的情況提供衝突偵測與解決方案。如需詳細資訊,請參閱<偵測及解決合併式複寫衝突>。

  • 某些資料只能在中央站台更新,例如,產品價格資料表中的資料。

    合併式複寫針對那些只應在發行者端更新的資料表,提供僅限下載的發行項。如需詳細資訊,請參閱<使用僅限下載的發行項最佳化合併式複寫效能>。

  • 使用者應該能夠在需要時同步處理資料,而非只在排程的時間同步處理。

    複寫提供兩種訂閱類型:發送訂閱與提取訂閱。發送訂閱較適合視需要的同步處理。如需有關訂閱類型與排程同步處理的詳細資訊,請參閱<訂閱發行集>和<同步處理資料>。

  • 應用程式必須控制遠端站台能夠保持未同步處理的時間長度。

    合併式複寫允許您設定訂閱過期期間,以確保所有訂閱者在特定的時間內都已同步處理。如需詳細資訊,請參閱<訂閱逾期與停用>。

  • 大多數資料表需要篩選,以便每個使用者可收到一或多個資料表的不同資料。

    合併式複寫允許您篩選資料行與資料列。資料列篩選可以是靜態或參數化的。只有在建立發行集時才會套用靜態篩選;靜態篩選會產生一個資料集。每次訂閱者同步處理時就會套用參數化篩選;它會為每個訂閱者產生不同的資料集。POS 應用程式通常使用參數化篩選,不過也可以使用靜態篩選。如需詳細資訊,請參閱<合併式複寫之篩選發行的資料>。

  • 應用程式可能會要求在資料同步處理時,執行自訂商務邏輯。

    合併式複寫允許您指定在同步處理過程中執行的程式碼。這個程式碼可以回應許多的事件,而且能夠存取所同步處理的資料。如需詳細資訊,請參閱<在合併同步處理期間執行商務邏輯>。

  • 應用程式可能會要求資料透過網際網路同步處理,而非透過專用連接同步處理。

    使用 SQL Server Compact 3.5 SP2 時,系統會透過 HTTP 或 HTTPS 連接同步處理資料。針對其他版本的 SQL Server,您可以使用 Web 同步處理 (需要 HTTPS)。如需詳細資訊,請參閱<合併式複寫的 Web 同步處理>。

實作這個狀況的步驟

若要實作這個狀況,您必須先建立發行集與訂閱,然後初始化每個訂閱。按下列的連結,以取得有關每個步驟的詳細資訊:

在初始化訂閱,而且資料在發行者與訂閱者之間流動之後,您可能需要參考下列主題,以取得一般管理與監視工作的資訊: