Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Database SQL di
AzureIstanza gestita di SQL di
AzureDatabase SQL in Microsoft Fabric
Crea un GUID maggiore di qualsiasi GUID generato in precedenza da questa funzione in un computer specificato dall'avvio di Windows. Dopo il riavvio di Windows, il GUID può ricominciare da un intervallo inferiore, ma è ancora globalmente univoco. Quando una colonna GUID viene usata come identificatore di riga, l'uso NEWSEQUENTIALID di può essere più veloce rispetto all'uso della NEWID funzione . Ciò è dovuto al fatto che la NEWID funzione causa un'attività casuale e usa meno pagine di dati memorizzate nella cache. L'uso NEWSEQUENTIALID di consente anche di riempire completamente i dati e le pagine di indice.
Importante
Se la privacy è un problema, non usare questa funzione. È possibile indovinare il valore del GUID generato successivo e, di conseguenza, accedere ai dati associati a tale GUID.
NEWSEQUENTIALID è un wrapper sulla funzione Windows UuidCreateSequential , con alcuni byte shuffling applicati.
Avviso
La UuidCreateSequential funzione ha dipendenze hardware. In SQL Server si possono sviluppare cluster di valori sequenziali quando i database (ad esempio, i database indipendenti) vengono spostati in altri computer. Nel database SQL di Azure e quando si usa Always On, i cluster di valori sequenziali possono sviluppare se il database esegue il failover in un computer diverso.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
NEWSEQUENTIALID ( )
Tipi restituiti
uniqueidentifier
Osservazioni:
NEWSEQUENTIALID può essere usato solo con DEFAULT vincoli sulle colonne della tabella di tipo uniqueidentifier. Ad esempio:
CREATE TABLE myTable
(
ColumnA UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID()
);
Quando NEWSEQUENTIALID viene usato nelle DEFAULT espressioni, non può essere combinato con altri operatori scalari. Ad esempio, non è possibile eseguire il codice seguente:
CREATE TABLE myTable
(
ColumnA UNIQUEIDENTIFIER DEFAULT dbo.myfunction(NEWSEQUENTIALID())
);
Nell'esempio precedente myfunction() è una funzione scalare definita dall'utente che accetta e restituisce un valore uniqueidentifier.
NEWSEQUENTIALID Non è possibile fare riferimento alle query.
È possibile usare NEWSEQUENTIALID per generare GUID per ridurre le divisioni di pagina e le operazioni di I/O casuali a livello foglia di indici.
Ogni GUID generato tramite NEWSEQUENTIALID è univoco in tale computer. I GUID generati tramite NEWSEQUENTIALID sono univoci in più computer solo se il computer di origine ha una scheda di rete.