UniqueKey: Die Werte eines UNIQUE KEY Index sind eindeutig. Ein NULL Wert kann genau einmal gespeichert werden.
PrimaryKey: Die Werte eines PRIMARY KEY Index, sind eindeutig und nicht NULL. NULL ist nicht zulässig.
Darüber hinaus ist ein PrimaryKey eines der fundamentalen Konzepte in der relationalen Datenbanktheorie.
Der Unterschied ist mehr ein logischer als ein technischer. Technisch gesehen implementiert SQL Server eine PRIMARY KEY Constraint als UNIQUE KEY Index der keinen NULL Wert zuläßt. Andere Datenbankprodukte ignorieren NULL Werte in einem UNIQUE Index. SQL Server weicht hier von Standards ab.