Keď sa snažíte pridať cudzí kľúč obmedzenia naexistujúcej tabuľky v SQL Server 2000, zobrazí sa chybové hlásenie, že protokol transakcií je plný. Aké sú možné dôvody, prečo sa údaje pridávajú do denníka transakcií pri vytváraní obmedzenia cudzieho kľúča a aký prostriedok nápravy môžem uplatniť na každý z týchto dôvodov? Ak existuje aj viac dôvodov, ako zistím, ktoré z týchto dôvodov sú pre mňa relevantné?
Skript spôsobujúci chybu je jednoduchý, ktorý sleduje tento vzorec:
ALTER TABLE [dbo].[tableName] ADD
CONSTRAINT [key_name] FOREIGN KEY
(
[columnId]
) REFERENCES [dbo].[otherTableName] (
columnId
)
GO
odpovede:
1 pre odpoveď č. 1Ukazuje sa, že denník bol vyplnený z predchádzajúceho príkazu - protokolu, ktorý upravuje stĺpec na veľkej tabuľke. Pridaním obmedzenia cudzieho kľúča bola iba slama, ktorá zlomila ťavie chrbát.