Riconciliare le modifiche apportate da più utenti (Visual Database Tools)Reconcile Changes Made by Multiple Users (Visual Database Tools)

In un ambiente multiutente può accadere che uno stesso oggetto venga modificato contemporaneamente da più utenti.In a multiuser environment, changes can be made on the same object by multiple users at once. Questo problema può accadere quando si lavora alla struttura dell'oggetto in Progettazione tabelle o in Progettazione diagrammi di database oppure con i valori dei risultati restituiti nel riquadro Risultati di Progettazione query e Progettazione viste.This can happen when you're working on the structure of the object in the Table or Database Diagram designers or it can happen to values in the results returned in the Query and View designer's Results pane. In questo caso possono verificarsi conflitti che è possibile risolvere.This can cause conflicts that you'll want to resolve.

Conflitti in Progettazione tabelle o Progettazione diagrammi di databaseConflicts in the Table or Database Diagram Designers

È possibile ad esempio che un altro utente elimini o rinomini una tabella mentre si sta utilizzando la stessa tabella o una tabella correlata in Progettazione tabelle.For example, another user might delete or rename a table while you are working with the same or a related table in Table Designer. Quando si prova a salvare la tabella, si viene avvisati dalla Finestra di dialogo Rilevate modifiche al database (Visual Database Tools) che il database è stato aggiornato dopo l'apertura della tabella.When you attempt to save your table, the Database Changes Detected Dialog Box (Visual Database Tools) notifies you that the database has been updated since you opened the table.

In questa finestra di dialogo viene inoltre visualizzato un elenco degli oggetti di database che verranno influenzati dal salvataggio della tabella.This dialog box also displays a list of database objects that will be affected as a result of saving your table. A questo punto, è possibile:At this point, you can take one of these actions:

  • Scegliere per salvare la tabella e aggiornare il database con tutte le modifiche presenti nell'elenco.Choose Yes to save your table and update the database with all the changes in the list.

    Questa operazione potrebbe influire anche su altre tabelle che condividono gli stessi oggetti di database.This action could affect tables that share the same database objects. Si supponga ad esempio di modificare la colonna auid nella tabella titleauthors e che un altro utente stia usando la tabella authors che è correlata alla tabella titleauthors dalla colonna au\id .For example, suppose you edit the auid column in the titleauthors table while another user is working on the authors table which is related to the titleauthors table by the au\id column. Il salvataggio della propria tabella influirà sulla tabella dell'altro utente.Saving your table will affect the other user's table. In modo analogo, si supponga che un altro utente abbia definito un vincolo CHECK per la colonna qty nella tabella sales .Similarly, suppose that another user defined a check constraint for the qty column in the sales table. Se si elimina la colonna qty e si salva la tabella sales , il vincolo CHECK dell'altro utente verrà influenzato.If you delete the qty column and save the sales table, the other user's check constraint will be affected.

  • Scegliere No per annullare il salvataggio.Choose No to cancel the save action.

    La tabella potrà così essere chiusa senza salvarla.You can then close the table without saving it. Quando verrà riaperta, la tabella rifletterà i dati contenuti nel database.When you reopen the table it will match what is in the database.

  • Scegliere Salva file di testo per salvare un elenco delle modifiche.Choose Save Text File to save a list of the changes.

    È possibile salvare l'elenco delle modifiche del database indicate nella finestra di dialogo Rilevate modifiche al database in un file di testo, in modo da poter individuare la causa delle modifiche apportate dagli altri utenti.You can save the list of database changes shown in the Database Changes Detected dialog box to a text file so that you can investigate the cause of other users' changes. Se, ad esempio, un altro utente ha modificato una tabella che si era scelto di contrassegnare per l'eliminazione, potrà essere necessario verificare se la tabella dovrà essere eliminata prima di aggiornare il database.For example, if another user edited a table that you marked for deletion, you may want to research whether the table should be deleted before updating the database.

Conflitti in Progettazione query e Progettazione visteConflicts in the Query and View Designer

Quando si esegue una query o si ottengono i risultati di una vista, i dati vengono visualizzati nel riquadro Risultati.If you run a query or return the results of a view, the data is shown in the Results Pane. Può accadere che più utenti lavorino contemporaneamente allo stesso set di dati, con il rischio che si generino conflitti.Multiple users can work on the same set of data at the same time, which can cause conflicts.

Si supponga ad esempio di eseguire contemporaneamente a un proprio collega una query per visualizzare tutti i dati della tabella titleauthors .For example, lets say you and a colleague each run a query to show all the data in the titleauthors table. Nel primo record restituito il collega cambia il nome da Barb a Barbara.Your colleague changes the first name in the first record returned from Barb to Barbara. A questo punto, nel database il campo conterrà Barbara, mentre nel proprio set di risultati sarà ancora visualizzato il nome Barb.At this point the database has Barbara in that field, while your result set still shows Barb. Se ora si digita Barbara e si fa clic all'esterno della riga,Now you type in Barbara and click off of the row. un messaggio chiederà come si desidera risolvere il conflitto.You will receive a message asking you how you want to resolve the conflict.

  • Scegliere per aggiornare il database con le modifiche apportate.Click Yes to update the database with your changes.

    In questo modo verrà eseguito l'override delle modifiche apportate dal collega.This will override your colleague's changes.

  • Fare clic su No per lasciare che il set di risultati venga aggiornato in base al contenuto corrente del database.Click No to have your result set updated to what's currently in the database.

    In questo modo le proprie modifiche verranno sostituite da quelle apportate dal collega.This will override your changes with those of your colleague's.

  • Scegliere Annulla per continuare ad apportare modifiche senza risolvere il conflitto.Click Cancel to continue to edit without resolving the conflict.

    In questo caso non sarà possibile eseguire il commit delle modifiche nel database.In this case you will not be able to commit your changes to the database.

Vedere ancheSee Also

Finestra di dialogo Rilevate modifiche al database (Visual Database Tools)Database Changes Detected Dialog Box (Visual Database Tools)