sp_serveroption (Transact-SQL)
Устанавливает параметры сервера для удаленных и связанных серверов.
Синтаксис
sp_serveroption [@server = ] 'server'
,[@optname = ] 'option_name'
,[@optvalue = ] 'option_value' ;
Аргументы
[ @server = ] 'server'
Имя сервера, для которого устанавливается параметр. Аргумент server имеет тип sysname и не имеет значения по умолчанию.[ @optname = ] 'option_name'
Параметр, который будет установлен для указанного сервера. Аргумент option_name имеет тип varchar(35) и не имеет значения по умолчанию. Аргумент option_name может иметь одно из следующих значений.Значение
Описание
collation compatible
Влияет на выполнение распределенных запросов на связанных серверах. Если этот параметр устанавливается в значение true, SQL Server предполагает, что все символы в связанном сервере совместимы с локальным сервером в зависимости от набора символов и параметров сортировки (или порядка сортировки). Это позволяет SQL Server отправлять поставщику сравнения по символьным столбцам. Если этот параметр не задан, SQL Server всегда выполняет сравнения по символьным столбцам локально.
Этот параметр необходимо задать только в том случае, если источник данных, соответствующий связанному серверу, имеет тот же набор символов и тот же порядок сортировки, что и локальный сервер.
collation name
Указывает имя параметров сортировки, использованных удаленным источником данных, если параметр use remote collation установлен в true, а источник данных не является SQL Server. Этот имя должно быть одним из параметров сортировки, поддерживаемых SQL Server.
Этот параметр используется при доступе к источнику данных OLE DB, отличному от SQL Server, параметры сортировки которого совпадают с одним из параметров сортировки SQL Server.
Связанный сервер должен поддерживать использование единых параметров сортировки для всех столбцов на этом сервере. Не задавайте этот параметр, если связанный сервер поддерживает несколько параметров сортировки для одного источника данных, или если невозможно определить, соответствуют ли параметры сортировки связанного сервера одному из параметров сортировки SQL Server.
connect timeout
Значение времени ожидания соединения со связанным сервером.
Если аргумент имеет значение 0, используется значение процедуры sp_configure по умолчанию.
data access
Отрывает и закрывает доступ к связанному серверу для распределенного запроса. Может быть использован только для записей таблицы sys.server, добавленных при помощи процедуры sp_addlinkedserver.
dist
Распространитель.
lazy schema validation
Определяет, будет ли проверена схема удаленных таблиц.
Если true, проверка схемы удаленных таблиц в начале запроса пропускается.
pub
Издатель.
query timeout
Значение времени ожидания для запросов к связанному серверу.
Если аргумент имеет значение 0, используется значение процедуры sp_configure по умолчанию.
rpc
Включает вызов RPC с заданного сервера.
rpc out
Включает вызов RPC на заданный сервер.
sub
Подписчик.
system
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.
use remote collation
Определяет, будут ли использоваться параметры сортировки удаленного столбца или локального сервера.
Если true, параметры сортировки удаленных столбцов используются для источника данных SQL Server, а параметры сортировки, указанные в параметре collation name, используются для источников данных, отличных от SQL Server.
Если false, распределенные запросы всегда будут использовать параметры сортировки по умолчанию локального сервера, в то время как параметр collation name и параметры сортировки удаленных столбцов не будут учитываться. Значение по умолчанию: false. (Значение false совместимо с семантикой параметров сортировки, использованных в SQL Server 7.0).
remote proc transaction promotion
Используйте этот параметр, чтобы защитить действия процедуры между серверами посредством транзакции координатора распределенных транзакций (Майкрософт) (MS DTC). Если этот параметр имеет значение TRUE (или ON), то вызов удаленной хранимой процедуры приводит к запуску распределенной транзакции и прикрепляется к выполнению транзакции MS DTC. Экземпляр SQL Server, вызывающий удаленную хранимую процедуру, является инициатором транзакции и контролирует ее завершение. Когда последующая инструкция COMMIT TRANSACTION или ROLLBACK TRANSACTION выдается для соединения, контролирующий экземпляр предписывает MS DTC управлять завершением распределенной транзакции на всех вовлеченных компьютерах.
После запуска распределенной транзакции Transact-SQL вызовы удаленных хранимых процедур могут выполняться к другим экземплярам SQL Server, определенным в качестве связанных серверов. Все связанные серверы перечислены в распределенной транзакции Transact-SQL, а координатор распределенных транзакций (Майкрософт) обеспечивает завершение транзакции на каждом из связанных серверов.
Если этот параметр имеет значение FALSE (или OFF), локальная транзакция не станет распределенной при удаленном вызове процедуры на связанном сервере.
Если до выполнения вызова процедуры сервер-сервер транзакция уже является распределенной, этот параметр не действует. Вызов процедуры на связанном сервере будет выполняться в одной распределенной транзакции.
Если до вызова процедуры сервер-сервер у соединения нет активной транзакции, этот параметр не действует. Процедура выполняется на связанном сервере без активных транзакций.
Значение по умолчанию для данного параметра равно TRUE (или ON).
[ @optvalue =] 'option_value'
Указывает, должен ли параметр option_name быть включен (TRUE или on) либо отключен (FALSE или off). Аргумент option_value имеет тип varchar(10) и не имеет значения по умолчанию.Аргумент option_value может быть неотрицательным целым числом для параметров connect timeout и query timeout. Для аргумента collation name аргумент option_value может быть именем параметров сортировки или NULL.
Значения кодов возврата
0 (успешное завершение) или 1 (неуспешное завершение)
Замечания
Если параметр collation compatible установлен в значение TRUE, параметр collation name автоматически будет установлен в значение NULL. Если параметр collation name установлен в значение, отличное от NULL, то параметр collation compatible автоматически будет установлен в значение FALSE.
Разрешения
Необходимо разрешение ALTER ANY LINKED SERVER на сервере.
Примеры
В следующем примере связанный сервер настраивается в соответствии с другим экземпляром сервера SQL Server, SEATTLE3, чтобы тот был совместим по параметрам сортировки с локальным экземпляром SQL Server.
USE master;
EXEC sp_serveroption 'SEATTLE3', 'collation compatible', 'true';