Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к:SQL Server
База данных
SQL AzureУправляемый экземпляр
SQL AzureБаза данных SQL в Microsoft Fabric
Создает идентификатор GUID, имеющий значение, большее любого идентификатора GUID, который был прежде создан на указанном компьютере при помощи этой функции с момента запуска Windows. После перезапуска Windows GUID может начаться снова из нижнего диапазона, но по-прежнему глобально уникальным. Если столбец GUID используется в качестве идентификатора строки, использование NEWSEQUENTIALID может быть быстрее, чем с помощью NEWID функции. Это связано с тем, что функция вызывает случайное NEWID действие и использует меньше кэшированных страниц данных. Использование NEWSEQUENTIALID также помогает полностью заполнить страницы данных и индексов.
Внимание
Если конфиденциальность является проблемой, не используйте эту функцию. Можно угадать значение следующего созданного GUID и, следовательно, получить доступ к данным, связанным с этим GUID.
NEWSEQUENTIALID — это оболочка через функцию Windows UuidCreateSequential с применением некоторых байтовых перетасовок.
Предупреждение
Функция UuidCreateSequential имеет аппаратные зависимости. В SQL Server кластеры последовательных значений могут разрабатываться при перемещении баз данных (таких как содержащиеся базы данных) на другие компьютеры. В Базе данных SQL Azure и при использовании AlwaysOn кластеры последовательных значений могут разрабатываться, если база данных выполняет отработку отказа на другой компьютер.
Соглашения о синтаксисе Transact-SQL
Синтаксис
NEWSEQUENTIALID ( )
Типы возвращаемых данных
uniqueidentifier
Замечания
NEWSEQUENTIALID можно использовать только с DEFAULT ограничениями для столбцов таблицы типа uniqueidentifier. Например:
CREATE TABLE myTable
(
ColumnA UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID()
);
Если NEWSEQUENTIALID используется в DEFAULT выражениях, его нельзя объединить с другими скалярными операторами. Например, нельзя выполнить следующий код:
CREATE TABLE myTable
(
ColumnA UNIQUEIDENTIFIER DEFAULT dbo.myfunction(NEWSEQUENTIALID())
);
В предыдущем примере myfunction() является пользовательской скалярной функцией, которая принимает и возвращает значение uniqueidentifier.
NEWSEQUENTIALID Не удается ссылаться на запросы.
Вы можете использовать NEWSEQUENTIALID для создания идентификаторов GUID для уменьшения разбиения страниц и случайного ввода-вывода на конечном уровне индексов.
Каждый GUID, созданный с помощью, NEWSEQUENTIALID является уникальным на этом компьютере. Идентификаторы GUID, созданные с помощью, NEWSEQUENTIALID уникальны на нескольких компьютерах, только если на исходном компьютере есть сетевая карта.