Risoluzione delle differenze apportate da più utenti

In alcuni ambienti, più utenti possono modificare contemporaneamente lo stesso oggetto. Ad esempio, gli utenti possono aggiornare la struttura di un oggetto in Progettazione tabelle o nella finestra di progettazione Diagramma di database oppure modificare i valori nel riquadro Risultati di Progettazione query e Progettazione visualizzazioni. In questa situazione possono verificarsi conflitti che è necessario risolvere.

Conflitti in Progettazione tabelle o Progettazione diagrammi di database

È 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. Quando si tenterà di salvare la tabella, si verrà avvisati dalla finestra di dialogo Rilevate modifiche al database (Progettazione database) del fatto che il database è stato aggiornato dopo che la tabella è stata aperta.

In questa finestra di dialogo viene inoltre visualizzato un elenco degli oggetti di database che verranno influenzati dal salvataggio della tabella. A questo punto, è possibile effettuare una delle seguenti azioni:

  • Scegliere per salvare la tabella e aggiornare il database con tutte le modifiche nell'elenco.

    Questa azione potrebbe influire sulle tabelle che condividono gli stessi oggetti di database. Si supponga ad esempio di modificare la colonna au_id nella tabella titleauthors e che un altro utente stia utilizzando la tabella authors, correlata alla tabella titleauthors tramite la colonna au_id. Il salvataggio della propria tabella influirà sulla tabella dell'altro utente. Analogamente, un altro utente può definire un vincolo CHECK per la colonna qty nella tabella sales. Se si elimina la colonna qty e si salva la tabella sales, queste azioni influiscono sul vincolo CHECK dell'altro utente.

  • Scegliere No per annullare l'azione di salvataggio.

    È quindi possibile chiudere la tabella senza salvarla. Quando verrà riaperta, la tabella rifletterà i dati contenuti nel database.

  • Scegliere Salva file di testo per salvare un elenco delle modifiche.

    È possibile salvare l'elenco delle modifiche al database, visualizzato 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. Se, ad esempio, un altro utente ha modificato una tabella che si era scelto di contrassegnare per l'eliminazione, potrebbe essere necessario verificare se la tabella deve essere eliminata prima di aggiornare il database.

Conflitti in Progettazione query e Progettazione visualizzazioni

Se si esegue una query o vengono restituiti i risultati di una visualizzazione, i dati vengono visualizzati nel riquadro Risultati. Può accadere che più utenti lavorino contemporaneamente allo stesso insieme di dati, con il rischio che si generino conflitti.

Ad esempio, è possibile che l'utente esegua contemporaneamente a un proprio collega una query per visualizzare tutti i dati della tabella titleauthors. Nel primo record restituito il collega cambia il nome da Barb a Barbara. A questo punto, nel campo del database è contenuto Barbara, mentre nel proprio gruppo di risultati viene ancora visualizzato il nome Barb. Se ora si digita Barbara e si fa clic all'esterno della riga, viene visualizzato un messaggio che chiede come si desidera risolvere il conflitto.

  • Scegliere per aggiornare il database con le modifiche apportate.

    Questa opzione esegue l'override delle modifiche apportate dal collega.

  • Scegliere No per aggiornare il gruppo di risultati in modo che corrisponda al database.

    Questa opzione esegue l'override delle proprie modifiche con quelle apportate dal collega.

  • Scegliere Annulla per continuare ad apportare modifiche senza risolvere il conflitto.

    In questo caso, non è possibile eseguire il commit delle proprie modifiche nel database.

Vedere anche

Attività

Procedura: generare script delle modifiche

Riferimenti

Finestra di dialogo Rilevate modifiche al database (Progettazione database)

Altre risorse

Utilizzo di script