Compartilhar via


NEWSEQUENTIALID() (Transact-SQL)

Cria um GUID que é maior que qualquer GUID anteriormente gerado por esta função em um computador especificado desde o início do Windows. Após o reinício do Windows, o GUID poderá ser iniciado novamente a partir de um intervalo inferior, mas ainda será globalmente exclusivo. Quando uma coluna de GUID é usada como um identificador de linha, usar NEWSEQUENTIALID pode ser mais rápido do que usar a função NEWID. Isso ocorre porque a função NEWID provoca atividade aleatória e usa menos páginas de dados do cache. O uso de NEWSEQUENTIALID também ajuda a preencher completamente as páginas de dados e índice.

Observação importanteImportante

Se a privacidade for uma preocupação, não use esta função. É possível adivinhar o valor do próximo GUID gerado e, assim, acessar os dados associados ao GUID.

NEWSEQUENTIALID é um wrapper sobre a função UuidCreateSequential do Windows.

Ícone de vínculo de tópico Convenções de sintaxe Transact-SQL

Sintaxe

NEWSEQUENTIALID ( )

Tipo de retorno

uniqueidentifier

Comentários

NEWSEQUENTIALID() só pode ser usada com restrições DEFAULT em colunas de tabela do tipo uniqueidentifier. Por exemplo:

CREATE TABLE myTable (ColumnA uniqueidentifier DEFAULT NEWSEQUENTIALID()) 

Quando NEWSEQUENTIALID() for usada em expressões DEFAULT, não pode ser combinada com outros operadores escalares. Por exemplo, não é possível executar a seguinte consulta:

CREATE TABLE myTable (ColumnA uniqueidentifier DEFAULT dbo.myfunction(NEWSEQUENTIALID())) 

No exemplo anterior, myfunction() é uma função escalar de escalar definida pelo usuário que aceita e retorna um valor uniqueidentifier.

NEWSEQUENTIALID() não pode ser referenciada em consultas.

Você pode usar NEWSEQUENTIALID() para gerar GUIDs e reduzir a contenção da página no nível folha de índices.

Cada GUID gerado usando NEWSEQUENTIALID () é exclusivo nesse computador. Os GUIDs gerados com NEWSEQUENTIALID () serão exclusivos entre vários computadores somente se o computador de origem tiver uma placa de rede.

Consulte também

Referência

NEWID (Transact-SQL)

Operadores de comparação (Transact-SQL)