Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
Cria um GUID maior do que qualquer GUID gerado anteriormente por essa função em um computador especificado desde que o Windows foi iniciado. Após a reinicialização do Windows, o GUID pode ser reiniciado a partir de um intervalo inferior, mas ainda é globalmente exclusivo. Quando uma coluna GUID é usada como um identificador de linha, usar NEWSEQUENTIALID pode ser mais rápido do que usar a NEWID função. Isso ocorre porque a NEWID função causa atividade aleatória e usa menos páginas de dados armazenadas em cache. Usar NEWSEQUENTIALID também ajuda a preencher completamente os dados e páginas de índice.
Importante
Se a privacidade for uma preocupação, não use esta função. É possível adivinhar o valor do próximo GUID gerado e, portanto, acessar dados associados a esse GUID.
NEWSEQUENTIALID é um wrapper sobre a função UuidCreateSequential do Windows, com algum embaralhamento de bytes aplicado.
Advertência
A UuidCreateSequential função tem dependências de hardware. No SQL Server, clusters de valores sequenciais podem se desenvolver quando bancos de dados (como bancos de dados contidos) são movidos para outros computadores. No Banco de Dados SQL do Azure e quando você usa Always On, clusters de valores sequenciais podem se desenvolver se o banco de dados fizer failover para um computador diferente.
Transact-SQL convenções de sintaxe
Sintaxe
NEWSEQUENTIALID ( )
Tipos de devolução
uniqueidentifier
Observações
NEWSEQUENTIALID só pode ser usado com DEFAULT restrições em colunas de tabela do tipo uniqueidentifier. Por exemplo:
CREATE TABLE myTable
(
ColumnA UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID()
);
Quando NEWSEQUENTIALID é usado em DEFAULT expressões, não pode ser combinado com outros operadores escalares. Por exemplo, você não pode executar o seguinte código:
CREATE TABLE myTable
(
ColumnA UNIQUEIDENTIFIER DEFAULT dbo.myfunction(NEWSEQUENTIALID())
);
No exemplo anterior, myfunction() é uma função escalar definida pelo usuário que aceita e retorna um uniqueidentifier valor.
NEWSEQUENTIALID não pode ser referenciado em consultas.
Você pode usar NEWSEQUENTIALID para gerar GUIDs para reduzir divisões de página e E/S aleatórias no nível folha de índices.
Cada GUID gerado usando NEWSEQUENTIALID é exclusivo nesse computador. Os GUIDs gerados usando NEWSEQUENTIALID são exclusivos em vários computadores somente se o computador de origem tiver uma placa de rede.