Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de données SQL dans Microsoft Fabric
Crée une valeur GUID supérieure à celle d'un GUID précédemment généré par cette fonction sur un ordinateur donné depuis le démarrage de Windows. Une fois Windows redémarré, le GUID peut recommencer à partir d’une plage inférieure, mais reste globalement unique. Lorsqu’une colonne GUID est utilisée comme identificateur de ligne, l’utilisation NEWSEQUENTIALID peut être plus rapide que l’utilisation de la NEWID fonction. Cela est dû au fait que la NEWID fonction provoque une activité aléatoire et utilise moins de pages de données mises en cache. L’utilisation NEWSEQUENTIALID permet également de remplir complètement les données et les pages d’index.
Important
Si la confidentialité est un problème, n’utilisez pas cette fonction. Il est possible de deviner la valeur du GUID généré suivant et, par conséquent, d’accéder aux données associées à ce GUID.
NEWSEQUENTIALID est un wrapper sur la fonction Windows UuidCreateSequential , avec une combinaison d’octets appliquée.
Avertissement
La UuidCreateSequential fonction a des dépendances matérielles. Sur SQL Server, des clusters de valeurs séquentielles peuvent se développer lors du déplacement de bases de données (par exemple, des bases de données autonomes) vers d’autres ordinateurs. Dans Azure SQL Database et quand vous utilisez Always On, les clusters de valeurs séquentielles peuvent se développer si la base de données bascule vers un autre ordinateur.
Conventions de la syntaxe Transact-SQL
Syntaxe
NEWSEQUENTIALID ( )
Types de retour
uniqueidentifier
Remarques
NEWSEQUENTIALID ne peut être utilisé qu’avec DEFAULT des contraintes sur les colonnes de table de type uniqueidentifier. Par exemple :
CREATE TABLE myTable
(
ColumnA UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID()
);
Lorsqu’elle NEWSEQUENTIALID est utilisée dans DEFAULT les expressions, elle ne peut pas être combinée avec d’autres opérateurs scalaires. Par exemple, vous ne pouvez pas exécuter le code suivant :
CREATE TABLE myTable
(
ColumnA UNIQUEIDENTIFIER DEFAULT dbo.myfunction(NEWSEQUENTIALID())
);
Dans l'exemple précédent, myfunction() est une fonction scalaire définie par l'utilisateur qui accepte et renvoie une valeur de type uniqueidentifier.
NEWSEQUENTIALID ne peut pas être référencé dans les requêtes.
Vous pouvez utiliser NEWSEQUENTIALID pour générer des GUID pour réduire les fractionnements de page et les E/S aléatoires au niveau feuille des index.
Chaque GUID généré à l’aide NEWSEQUENTIALID est unique sur cet ordinateur. Les GUID générés à l’aide NEWSEQUENTIALID sont uniques sur plusieurs ordinateurs uniquement si l’ordinateur source a une carte réseau.