Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment identifier la duplication de clé primaire à partir d'un code d'erreur SQL Server 2008 ?

Si vous attrapez SqlException alors voyez son numéro, le numéro 2627 signifierait la violation de la contrainte unique (y compris la clé primaire).

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

MSSQL_ENG002627

Il s'agit d'une erreur générale qui peut être générée, qu'une base de données soit ou non répliquée. Dans les bases de données répliquées, l'erreur est généralement générée car les clés primaires n'ont pas été gérées de manière appropriée à travers la topologie.