整合多位使用者進行的變更,使其保持一致

更新:2007 年 11 月

在某些環境下,多個使用者可以同時變更同一個物件。例如,使用者可以在資料表或資料庫圖表設計工具中更新物件的結構,或在查詢和檢視表設計工具的 [結果] 窗格中變更值。這樣會產生您必須解決的衝突。

在資料表或資料庫圖表設計工具中的衝突

例如,另外一位使用者可能會刪除或重新命名您正在 [資料表設計工具] 中使用的相同或相關資料表。當您嘗試儲存資料表時,偵測到資料庫變更對話方塊 (資料庫設計工具) 將通知您,自您開啟資料表後資料庫已被更新。

這個對話方塊將同時顯示資料庫物件清單,其中包含儲存資料表時將會受到影響的所有物件。這個時候您可以採取下列其中一個動作:

  • 選擇 [是] 儲存資料表並以清單中的所有變更更新資料庫。

    這個動作可能會影響共用相同資料庫物件的資料表。例如,假設您編輯 titleauthors 資料表的 au_id 資料行,而其他使用者正在使用 authors 資料表 (該資料表因 au_id 資料行而與 titleauthors 資料表相關聯)。如果您儲存資料表,將會影響其他使用者的資料表。同樣的,其他使用者可以在 sales 資料表中定義 qty 資料行的檢查條件約束。如果您刪除 qty 資料行並儲存 sales 資料表,則會影響其他使用者的檢查條件約束。

  • 選擇 [否] 取消儲存動作。

    接著可以關閉資料表而不儲存它。當您重新開啟資料表時,它會與資料庫中的資料表內容相符。

  • 選擇 [儲存為文字檔] 儲存變更的清單。

    您可以將 [偵測到資料庫變更] 對話方塊中所顯示的資料庫變更清單儲存至文字檔,然後您便可檢閱其他使用者變更的原因。例如,如果其他使用者編輯您標示為刪除的資料表,您可能想要研究是否應在更新資料庫之前刪除該資料表。

在查詢和檢視表設計工具中的衝突

如果您執行查詢或回傳檢視的結果,資料會顯示在 [結果] 窗格中。多位使用者可以在同時使用相同的資料集,但這樣可能會產生衝突。

例如,您和您的同事可以分別執行一個查詢,以顯示 titleauthors 資料表中的所有資料。您的同事將所回傳的第一筆記錄中的名字 Barb 變更為 Barbara。此時,資料庫中這個資料欄位已經有 Barbara,但您的結果集還是顯示 Barb。現在您輸入 Barbara,然後按一下該資料列以外的地方。隨即會出現訊息,詢問您要如何解決衝突。

  • 按一下 [是] 可使用您的變更更新資料庫。

    此選項會覆寫您同事的變更。

  • 按一下 [否] 可將您的結果集更新成與資料庫相符。

    此選項會使用您同事的資料覆寫您的變更。

  • 按一下 [取消] 以繼續編輯而不解決衝突。

    在這個情況中,您無法將變更認可至資料庫。

請參閱

工作

HOW TO:產生變更指令碼

參考

偵測到資料庫變更對話方塊 (資料庫設計工具)

其他資源

使用指令碼