Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Hiermee maakt u een GUID die groter is dan een GUID die eerder is gegenereerd door deze functie op een opgegeven computer sinds Windows is gestart. Nadat Windows opnieuw is opgestart, kan de GUID opnieuw beginnen vanuit een lager bereik, maar is het nog steeds wereldwijd uniek. Wanneer een GUID-kolom wordt gebruikt als rij-id, kan het gebruik NEWSEQUENTIALID sneller zijn dan het gebruik van de NEWID functie. Dit komt doordat de functie willekeurige activiteit veroorzaakt en minder gegevenspagina's in de NEWID cache gebruikt. Het gebruik NEWSEQUENTIALID helpt ook om de gegevens en indexpagina's volledig te vullen.
Belangrijk
Als privacy een probleem is, gebruikt u deze functie niet. Het is mogelijk om de waarde van de volgende gegenereerde GUID te raden en daarom toegang te krijgen tot gegevens die zijn gekoppeld aan die GUID.
NEWSEQUENTIALID is een wrapper over de Windows UuidCreateSequentiële functie, met een aantal byte shuffling toegepast.
Waarschuwing
De UuidCreateSequential functie heeft hardwareafhankelijkheden. Op SQL Server kunnen clusters met sequentiële waarden zich ontwikkelen wanneer databases (zoals ingesloten databases) naar andere computers worden verplaatst. In Azure SQL Database en wanneer u AlwaysOn gebruikt, kunnen clusters met sequentiële waarden worden ontwikkeld als de database een failover naar een andere computer uitvoert.
Transact-SQL syntaxis-conventies
Syntaxis
NEWSEQUENTIALID ( )
Retourtypen
uniqueidentifier
Opmerkingen
NEWSEQUENTIALID kan alleen worden gebruikt met DEFAULT beperkingen voor tabelkolommen van het type uniqueidentifier. Voorbeeld:
CREATE TABLE myTable
(
ColumnA UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID()
);
Wanneer NEWSEQUENTIALID deze wordt gebruikt in DEFAULT expressies, kan deze niet worden gecombineerd met andere scalaire operatoren. U kunt bijvoorbeeld de volgende code niet uitvoeren:
CREATE TABLE myTable
(
ColumnA UNIQUEIDENTIFIER DEFAULT dbo.myfunction(NEWSEQUENTIALID())
);
In het vorige voorbeeld myfunction() is een scalaire door de gebruiker gedefinieerde scalaire functie die een uniqueidentifier waarde accepteert en retourneert.
NEWSEQUENTIALID kan niet worden verwezen in query's.
U kunt NEWSEQUENTIALID GUID's genereren om paginasplitsingen en willekeurige IO te verminderen op het leaf-niveau van indexen.
Elke GUID die wordt gegenereerd met behulp NEWSEQUENTIALID van is uniek op die computer. GUID's die worden gegenereerd door gebruik NEWSEQUENTIALID , zijn alleen uniek op meerdere computers als de broncomputer een netwerkkaart heeft.