SQL Server GUID Generator
Generate a GUID instantly, then copy ready-to-use T-SQL for SQL Server's UNIQUEIDENTIFIER type.
Generate a GUID in SQL Server
NEWID() - random GUID
SELECT NEWID(); -- e.g. 3FA85F64-5717-4562-B3FC-2C963F66AFA6
NEWSEQUENTIALID() - sortable GUID for clustered indexes
CREATE TABLE Orders (
Id UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID() ROWGUIDCOL PRIMARY KEY,
CustomerName NVARCHAR(255)
);
NEWSEQUENTIALID() only works as a column default and reduces clustered-index page fragmentation compared to NEWID(), since each value is greater than the last on a given server.
Using UNIQUEIDENTIFIER as a primary key
CREATE TABLE Orders (
Id UNIQUEIDENTIFIER DEFAULT NEWID() PRIMARY KEY,
CustomerName NVARCHAR(255)
);
INSERT INTO Orders (CustomerName) VALUES ('Jane Doe');
Casting and formatting
DECLARE @id UNIQUEIDENTIFIER = '3fa85f64-5717-4562-b3fc-2c963f66afa6'; SELECT CAST(@id AS NVARCHAR(36)); SELECT LOWER(CAST(@id AS NVARCHAR(36)));
Empty GUID
SELECT CAST('00000000-0000-0000-0000-000000000000' AS UNIQUEIDENTIFIER);
GUID vs IDENTITY as a primary key
NEWID() produces random, non-sequential GUIDs which can fragment clustered indexes under heavy insert load. For high-throughput tables prefer NEWSEQUENTIALID(), an IDENTITY integer column, or a UUID v7 value (see UUID v4 vs v7) generated in application code, which sorts chronologically like NEWSEQUENTIALID() but is portable across databases.