Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Database SQL di Microsoft Fabric
Membuat GUID yang lebih besar dari GUID yang sebelumnya dihasilkan oleh fungsi ini pada komputer tertentu sejak Windows dimulai. Setelah Windows dimulai ulang, GUID dapat dimulai lagi dari rentang yang lebih rendah, tetapi masih unik secara global. Saat kolom GUID digunakan sebagai pengidentifikasi baris, penggunaan NEWSEQUENTIALID bisa lebih cepat daripada menggunakan NEWID fungsi . Ini karena fungsi menyebabkan NEWID aktivitas acak dan menggunakan lebih sedikit halaman data yang di-cache. Menggunakan NEWSEQUENTIALID juga membantu mengisi sepenuhnya data dan halaman indeks.
Penting
Jika privasi menjadi perhatian, jangan gunakan fungsi ini. Dimungkinkan untuk menebak nilai GUID yang dihasilkan berikutnya dan, oleh karena itu, mengakses data yang terkait dengan GUID tersebut.
NEWSEQUENTIALID adalah pembungkus atas fungsi Windows UuidCreateSequential , dengan beberapa pengacakan byte diterapkan.
Peringatan
Fungsi ini UuidCreateSequential memiliki dependensi perangkat keras. Di SQL Server, kluster nilai berurutan dapat berkembang ketika database (seperti database yang terkandung) dipindahkan ke komputer lain. Di Azure SQL Database dan saat Anda menggunakan Always On, kluster nilai berurutan dapat berkembang jika database gagal ke komputer lain.
Sintaks
NEWSEQUENTIALID ( )
Tipe pengembalian
pengidentifikasi unik
Keterangan
NEWSEQUENTIALID hanya dapat digunakan dengan DEFAULT batasan pada kolom tabel jenis uniqueidentifier. Contohnya:
CREATE TABLE myTable
(
ColumnA UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID()
);
Saat NEWSEQUENTIALID digunakan dalam DEFAULT ekspresi, itu tidak dapat dikombinasikan dengan operator skalar lainnya. Misalnya, Anda tidak dapat menjalankan kode berikut:
CREATE TABLE myTable
(
ColumnA UNIQUEIDENTIFIER DEFAULT dbo.myfunction(NEWSEQUENTIALID())
);
Dalam contoh sebelumnya, myfunction() adalah fungsi skalar yang ditentukan pengguna yang menerima dan mengembalikan uniqueidentifier nilai.
NEWSEQUENTIALID tidak dapat direferensikan dalam kueri.
Anda dapat menggunakan NEWSEQUENTIALID untuk menghasilkan GUID untuk mengurangi pemisahan halaman dan IO acak pada tingkat daun indeks.
Setiap GUID yang dihasilkan dengan menggunakan NEWSEQUENTIALID unik di komputer tersebut. GUID yang dihasilkan dengan menggunakan NEWSEQUENTIALID unik di beberapa komputer hanya jika komputer sumber memiliki kartu jaringan.