Primeiro, para aqueles que não estão familiarizados com o tipo de dados uniqueidentifier, aqui vai os detalhes:
Uniqueidentifiers também são referidos como GUIDs. (Globally Unique Identifier)
Ou seja, a chamada de API que retorna um GUID é garantida para sempre retornar um valor único no espaço e no tempo.
Para obter um GUID no SQL Server, você chamar a função NEWID().
O tipo de dados uniqueidentifier no SQL Server são armazenados nativamente como um valor de 16 bytes binários.
Este é um exemplo de um GUID formatado: B85E62C3-DC56-40C0-852A-49F759AC68FB.
DECLARE @GUID uniqueidentifier
SET @GUID = NEWID()
INSERT Item VALUES (@GUID,'Valor')
A principal vantagem de usar GUIDs é que são exclusivos em todos os espaço e tempo. Isto é útil se você estiver consolidando os registros de vários servidores SQL em uma tabela, como em um data warehouse situação. GUIDs são também muito usado por replicação do SQL Server para acompanhar as linhas quando eles estão espalhados entre vários servidores SQL.
A principal desvantagem de usar GUIDs, como valores fundamentais é que eles são grandes. Aos 16 bytes.
Para uso em aplicativos web que usam a ID em Session, Cookie e QueryStrings o recomendado é o UniqueIdentifier, por ser único.

