上記の優れた回答以外に、ここに2セントを追加します。
一意キーは制約であり、一意インデックスを使用してそれ自体を適用します。主キーが通常、クラスター化された一意のインデックスによって適用されるのと同じように。論理的に言えば、制約とインデックスは2つの異なるものです。ただし、RDBMSでは、インデックスを介して制約を物理的に実装できます。
SQL Serverで一意の制約を使用してテーブルを作成すると、制約オブジェクトと一意のインデックスの両方が表示されます
create table dbo.t (id int constraint my_unique_constraint unique (id));
select [Constraint]=name from sys.key_constraints
where parent_object_id = object_id('dbo.t');
select name, index_id, type_desc from sys.indexes
where object_id = object_id('dbo.t')
and index_id > 0;
以下を取得します(制約とインデックス)

ただし、制約を作成せず、次のような一意のインデックスのみを作成する場合
create table dbo.t2 (id int );
create unique index my_unique_constraint on dbo.t2 (id);
select [Constraint]=name from sys.key_constraints
where parent_object_id = object_id('dbo.t2');
select name, index_id, type_desc from sys.indexes
where object_id = object_id('dbo.t2')
and index_id > 0
制約オブジェクトが作成されていないことがわかります(インデックスのみが作成されています)。

「理論的」な観点から、SQL Serverでは、制約はobject_id値を持つオブジェクトであり、スキーマにバインドされていますが、インデックスはオブジェクトではなく、object_id値もスキーマ関連もありません。