Quando si tenta di aggiungere un vincolo di chiave esterna su untabella esistente in SQL Server 2000, viene visualizzato un messaggio di errore che indica che il registro delle transazioni è pieno. Quali sono le possibili ragioni per cui i dati vengono aggiunti al registro delle transazioni quando viene creato un vincolo di chiave esterna e quale rimedio posso applicare a ciascuno di questi motivi? Inoltre, se esistono più motivi, come posso diagnosticare quali di questi motivi sono rilevanti per me?
Lo script che causa l'errore è semplice e segue questo schema:
ALTER TABLE [dbo].[tableName] ADD
CONSTRAINT [key_name] FOREIGN KEY
(
[columnId]
) REFERENCES [dbo].[otherTableName] (
columnId
)
GO
risposte:
1 per risposta № 1Si scopre che il registro veniva compilato da un'istruzione precedente, una che modifica una colonna su una tabella di grandi dimensioni. L'aggiunta del vincolo di chiave esterna è stata solo la goccia che ha spezzato la schiena del cammello.