Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come identificare la duplicazione della chiave primaria da un codice di errore di SQL Server 2008?

Se catturi SqlException, vedrai il suo numero, il numero 2627 significherebbe violazione del vincolo univoco (compresa la chiave primaria).

try
{
    // insertion code
}
catch (SqlException ex)
{
    if (ex.Number == 2627)
    {
        //Violation of primary key. Handle Exception
    }
    else throw;
}

MSSQL_ITA002627

Questo è un errore generale che può essere generato indipendentemente dal fatto che un database sia replicato. Nei database replicati, l'errore è solitamente generato perché le chiavi primarie non sono state gestite in modo appropriato attraverso la topologia.