適用於:SQL Server
在多用戶環境中,多個使用者可以一次在同一個對象上進行變更。 當您在表格或資料庫關係圖設計工具中處理物件的結構時,或者在查詢和檢視設計工具的結果窗格中處理傳回的結果值時,都可能發生此情況。 這可能會導致您想要解決的衝突。
數據表或資料庫關係圖設計工具中的衝突
例如,當您在數據表設計工具中使用相同或相關的數據表時,其他使用者可能會刪除或重新命名數據表。 當您嘗試儲存數據表時,[偵測到的資料庫變更] 對話框會通知您資料庫自開啟數據表后已更新。
此對話框也會顯示儲存資料表而受到影響的資料庫物件清單。 此時,您可以採取下列其中一個動作:
選擇 [[是] 儲存數據表,並使用清單中的所有變更來更新資料庫。
此動作可能會影響共用相同資料庫對象的數據表。 例如,假設您在
au_id
數據表中編輯titleauthors
數據行,而另一位使用者正在處理與authors
數據行titleauthors
數據表相關的au_id
數據表。 儲存數據表會影響其他用戶的數據表。 同樣地,假設另一位使用者定義qty
數據表中sales
數據行的檢查條件約束。 如果您刪除qty
資料行並儲存sales
數據表,則會影響其他使用者的檢查條件約束。選擇 [否 取消儲存動作。
然後,您可以關閉資料表而不儲存它。 當您重新開啟數據表時,它會符合資料庫中的內容。
選擇 [[儲存文本檔] 來儲存變更清單。
您可以將 [ 偵測到的資料庫變更] 對話框中顯示的資料庫變更清單儲存至文本檔,以便調查其他用戶變更的原因。 例如,如果其他使用者編輯了標示要刪除的數據表,您可能會想要研究是否應該刪除數據表,再更新資料庫。
查詢和檢視表設計器中的衝突
如果您執行查詢或傳回檢視的結果,則數據會顯示在 [結果窗格]中。 多個使用者可以同時處理同一組數據,這可能會導致衝突。
例如,假設您和同事都會執行查詢,以顯示 titleauthors
數據表中的所有數據。 您的同事將第一筆記錄中的名字從巴布改為芭芭拉。 此時資料庫在該欄位中有「芭芭拉」,而您的結果集仍然顯示為「芭芭」。 現在您輸入芭芭拉,然後點擊其他地方。 您會收到一則訊息,詢問您想要如何解決衝突。
請按 [是],以更新資料庫。
這將覆蓋您同事的更改。
請按[]按鈕以將結果集更新為目前資料庫中的內容。
這會採用您同事的變更來覆寫您的變更。
單擊 取消 以繼續編輯,而不解決衝突。
在此情況下,您將無法提交對資料庫的變更。