共用方式為


協調多個使用者所做的變更(Visual Database Tools)

適用於:SQL Server

在多用戶環境中,多個使用者可以一次在同一個對象上進行變更。 當您在表格或資料庫關係圖設計工具中處理物件的結構時,或者在查詢和檢視設計工具的結果窗格中處理傳回的結果值時,都可能發生此情況。 這可能會導致您想要解決的衝突。

數據表或資料庫關係圖設計工具中的衝突

例如,當您在數據表設計工具中使用相同或相關的數據表時,其他使用者可能會刪除或重新命名數據表。 當您嘗試儲存數據表時,[偵測到的資料庫變更] 對話框會通知您資料庫自開啟數據表后已更新。

此對話框也會顯示儲存資料表而受到影響的資料庫物件清單。 此時,您可以採取下列其中一個動作:

  • 選擇 [[是] 儲存數據表,並使用清單中的所有變更來更新資料庫。

    此動作可能會影響共用相同資料庫對象的數據表。 例如,假設您在 au_id 數據表中編輯 titleauthors 數據行,而另一位使用者正在處理與 authors 數據行 titleauthors 數據表相關的 au_id 數據表。 儲存數據表會影響其他用戶的數據表。 同樣地,假設另一位使用者定義 qty 數據表中 sales 數據行的檢查條件約束。 如果您刪除 qty 資料行並儲存 sales 數據表,則會影響其他使用者的檢查條件約束。

  • 選擇 [ 取消儲存動作。

    然後,您可以關閉資料表而不儲存它。 當您重新開啟數據表時,它會符合資料庫中的內容。

  • 選擇 [[儲存文本檔] 來儲存變更清單。

    您可以將 [ 偵測到的資料庫變更] 對話框中顯示的資料庫變更清單儲存至文本檔,以便調查其他用戶變更的原因。 例如,如果其他使用者編輯了標示要刪除的數據表,您可能會想要研究是否應該刪除數據表,再更新資料庫。

查詢和檢視表設計器中的衝突

如果您執行查詢或傳回檢視的結果,則數據會顯示在 [結果窗格]中。 多個使用者可以同時處理同一組數據,這可能會導致衝突。

例如,假設您和同事都會執行查詢,以顯示 titleauthors 數據表中的所有數據。 您的同事將第一筆記錄中的名字從巴布改為芭芭拉。 此時資料庫在該欄位中有「芭芭拉」,而您的結果集仍然顯示為「芭芭」。 現在您輸入芭芭拉,然後點擊其他地方。 您會收到一則訊息,詢問您想要如何解決衝突。

  • 請按 [是],以更新資料庫。

    這將覆蓋您同事的更改。

  • 請按[]按鈕以將結果集更新為目前資料庫中的內容。

    這會採用您同事的變更來覆寫您的變更。

  • 單擊 取消 以繼續編輯,而不解決衝突。

    在此情況下,您將無法提交對資料庫的變更。