SET ANSI_DEFAULTS (Transact-SQL)
Область применения: SQL Server
Управляемый экземпляр SQL Azure
конечную точку аналитики платформы Аналитики Azure Synapse Analytics
(PDW)
в хранилище Microsoft Fabric
в Microsoft Fabric
Управляет группой параметров SQL Server, которая задает определенное поведение стандарта ISO.
Соглашения о синтаксисе Transact-SQL
Синтаксис
Синтаксис для SQL Server, бессерверный пул SQL в Azure Synapse Analytics, Microsoft Fabric
SET ANSI_DEFAULTS { ON | OFF }
Синтаксис для Системы платформы Azure Synapse Analytics и Analytics (PDW)
SET ANSI_DEFAULTS ON
Примечание.
Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.
Замечания
ANSI_DEFAULTS является параметром на стороне сервера, который может включить поведение для всех клиентских подключений. Клиент обычно запрашивает параметр при инициализации соединения или сеанса. Пользователи не могут изменять этот серверный параметр.
Чтобы изменить поведение клиента, пользователи должны использовать определенные методы, например SQL_COPT_SS_PRESERVE_CURSORS
. Дополнительные сведения см. в разделе SQLSetConnectAttr.
При включении (ON) этого параметра включаются следующие параметры ISO.
SET ANSI_NULLS
SET CURSOR_CLOSE_ON_COMMIT
SET ANSI_NULL_DFLT_ON
SET IMPLICIT_TRANSACTIONS
SET ANSI_PADDING
SET QUOTED_IDENTIFIER
SET ANSI_WARNINGS
В совокупности перечисленные параметры SET стандарта ISO определяют среду обработки запросов на все время сеанса пользователя, выполнения триггера или хранимой процедуры. Однако эти параметры SET не охватывают всех настроек, необходимых для полного соответствия стандарту ISO.
При работе с индексами для вычисляемых столбцов, отфильтрованных индексов и индексированных представлений четыре из этих значений по умолчанию (ANSI_NULLS
, ANSI_PADDING
ANSI_WARNINGS
QUOTED_IDENTIFIER
и) должны иметь значение ON. Эти значения по умолчанию являются одними из семи параметров SET, которые необходимо назначить требуемым значениям при создании и изменении индексов для вычисляемых столбцов, отфильтрованных индексов и индексированных представлений. Другие параметры SET: ARITHABORT
(ON), CONCAT_NULL_YIELDS_NULL
(ON) и NUMERIC_ROUNDABORT
(OFF). Дополнительные сведения о необходимых параметрах SET с индексируемыми представлениями, отфильтрованные индексы и индексы вычисляемых столбцов см . в статьях "Рекомендации при использовании инструкций SET".
При соединении с драйвером ODBC для SQL Server Native Client или поставщика OLE DB для SQL Server Native Client для SQL Server параметру ANSI_DEFAULTS автоматически задается значение ON. а CURSOR_CLOSE_ON_COMMIT и IMPLICIT_TRANSACTIONS значение OFF. Параметр OFF для CURSOR_CLOSE_ON_COMMIT
и IMPLICIT_TRANSACTIONS
может быть настроен в источниках данных ODBC, в атрибутах соединения ODBC или свойствах соединения OLE DB, установленных в приложении перед подключением к экземпляру SQL Server. ANSI_DEFAULTS
при соединении из приложений DB-Library имеет значение по умолчанию OFF.
При выполнении инструкции SET ANSI_DEFAULTS параметр QUOTED_IDENTIFIER устанавливается на стадии синтаксического анализа, а на стадии выполнения устанавливаются следующие параметры:
SET ANSI_NULLS
SET ANSI_WARNINGS
SET ANSI_NULL_DFLT_ON
SET CURSOR_CLOSE_ON_COMMIT
SET ANSI_PADDING
SET IMPLICIT_TRANSACTIONS
Разрешения
Необходимо быть членом роли public.
Примеры
В следующем примере для ANSI_DEFAULTS устанавливается значение ON и выполняется инструкция DBCC USEROPTIONS
для просмотра затронутых параметров.
-- SET ANSI_DEFAULTS ON.
SET ANSI_DEFAULTS ON;
GO
-- Display the current settings.
DBCC USEROPTIONS;
GO
-- SET ANSI_DEFAULTS OFF.
SET ANSI_DEFAULTS OFF;
GO
См. также
DBCC USEROPTIONS (Transact-SQL)
Инструкции SET (Transact-SQL)
SET ANSI_NULL_DFLT_ON (Transact-SQL)
SET ANSI_NULLS (Transact-SQL)
SET ANSI_PADDING (Transact-SQL)
SET ANSI_WARNINGS (Transact-SQL)
SET CURSOR_CLOSE_ON_COMMIT (Transact-SQL)
SET IMPLICIT_TRANSACTIONS (Transact-SQL)
SET QUOTED_IDENTIFIER (Transact-SQL)