(Questa risposta è solo per SQL Server 2005+. Non so nulla di MySQL.)
Sì. Come accennato, un vincolo di chiave primaria è supportato da un indice cluster per impostazione predefinita. Puoi indicare a SQL Server di eseguire il backup del vincolo con un indice non cluster dichiarando il vincolo come segue:
ALTER TABLE MyTable
ADD CONSTRAINT PK_MyTable
PRIMARY KEY NONCLUSTERED(Col1);
Sì, puoi definire un indice con più di una colonna nella chiave dell'indice. Non è davvero diverso da un indice non cluster.
CREATE UNIQUE CLUSTERED INDEX IX_MyTable_Clus
ON MyTable(Col1, Col2, Col3);
Riferimenti:ALTER TABLE
, CREATE INDEX