sp_serveroption (Transact-SQL)

Aplica-se a:SQL Server

Define opções de servidor para servidores remotos e servidores vinculados.

Convenções de sintaxe de Transact-SQL

Sintaxe

sp_serveroption
    [ @server = ] N'server'
    , [ @optname = ] 'optname'
    , [ @optvalue = ] N'optvalue'
[ ; ]

Argumentos

@server [ = ] N'servidor'

O nome do servidor para o qual definir a opção. @server é sysname, sem padrão.

@optname [ = ] 'optname'

A opção a ser definida para o servidor especificado. @optname é varchar(35), sem padrão. @optname pode ser qualquer um dos seguintes valores.

Valor Descrição
compatível com agrupamento Afeta a execução de consultas distribuídas em servidores vinculados. Se essa opção for definida como true, o SQL Server assumirá que todos os caracteres no servidor vinculado são compatíveis com o servidor local, em relação ao conjunto de caracteres e à sequência de agrupamento (ou ordem de classificação). Isso permite que o SQL Server envie comparações em colunas de caracteres ao provedor. Se essa opção não estiver definida, o SQL Server sempre avaliará as comparações nas colunas de caracteres localmente.

Essa opção deve ser definida somente se você tiver certeza de que a fonte de dados correspondente ao servidor vinculado tem o mesmo conjunto de caracteres e ordem de classificação do servidor local.
Nome do agrupamento Especifica o nome do agrupamento usado pela fonte de dados remota se o uso de agrupamento remoto for e a fonte de dados não for true uma fonte de dados do SQL Server. O nome deve ser uma das ordenações com suporte pelo SQL Server.

Use essa opção ao acessar uma fonte de dados OLE DB diferente do SQL Server, mas cuja ordenação corresponda a uma das ordenações do SQL Server.

O servidor vinculado deve oferecer suporte a uma única ordenação a ser usada em todas as colunas desse servidor. Não defina essa opção se o servidor vinculado oferecer suporte a várias ordenações em uma única fonte de dados ou se a ordenação do servidor vinculado não puder ser determinada como correspondendo a uma das ordenações do SQL Server.
tempo limite de conexão Especifica o valor de tempo limite em segundos para conexão com um servidor vinculado.

Se 0, a configuração de tempo limite de conexão usará o valor padrão configurado para a remote login timeout (s)configuração. O valor padrão para remote login timeout (s) é 10.

Você pode exibir essa configuração na sys.configurations exibição de catálogo com a seguinte consulta: SELECT name, value_in_use FROM sys.configurations WHERE name like 'remote login timeout (s)';.
Acesso a dados Habilita e desativa um servidor vinculado para acesso a consultas distribuídas. Pode ser usado apenas para sys.server entradas adicionadas através do sp_addlinkedserver.
dist Distribuidor.
name Especifica o nome do objeto de servidor vinculado.

A alteração de nome é refletida no valor retornado pela name coluna da exibição de catálogo, sem afetar a fonte de sys.servers dados remota.
cadeia de caracteres do provedor Especifica a cadeia de caracteres OLE DB que identifica a origem de uma conexão de servidor vinculado.

A alteração da cadeia de caracteres do provedor é refletida no valor retornado pela provider_string coluna da exibição de sys.servers catálogo.
Validação de esquema preguiçoso Determina se o esquema de tabelas remotas está verificado.

Se true, ignore a verificação de esquema de tabelas remotas no início da consulta.
pub Publicador.
Tempo limite da consulta Especifica o valor de tempo limite para consultas em um servidor vinculado.

Se 0, use o sp_configure padrão.
rpc Habilita RPC a partir do servidor fornecido.
Saída RPC Habilita RPC para o servidor fornecido.
sub Subscritor.
system Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.
Usar agrupamento remoto Determina se o agrupamento de uma coluna remota ou de um servidor local é usado.

Se true, o agrupamento de colunas remotas será usado para fontes de dados do SQL Server e o agrupamento especificado no nome do agrupamento será usado para fontes de dados que não sejam do SQL Server. Esse é o padrão.

Se false, as consultas distribuídas sempre usarem o agrupamento padrão do servidor local, enquanto o nome do agrupamento e o agrupamento de colunas remotas serão ignorados.
Promoção de transação de proc remoto Use essa opção para proteger as ações de um procedimento de servidor para servidor por meio de uma transação do Coordenador de Transações Distribuídas da Microsoft (MS DTC). Quando essa opção é true (ou on), chamar um procedimento armazenado remoto inicia uma transação distribuída e inscreve a transação com o MS DTC. A instância do SQL Server que chama o procedimento armazenado remoto é o que origina a transação e controla a conclusão da transação. Quando uma instrução COMMIT TRANSACTION ou ROLLBACK TRANSACTION subsequente é emitida para a conexão, a instância de controle solicita que o MS DTC gerencie a conclusão da transação distribuída entre os computadores envolvidos.

Depois que uma transação distribuída Transact-SQL for iniciada, chamadas de procedimento armazenado remoto poderão ser feitas para outras instâncias do SQL Server que foram definidas como servidores vinculados. Os servidores vinculados são todos inscritos na transação distribuída Transact-SQL, e o MS DTC garante que a transação seja concluída em cada servidor vinculado.

Se essa opção estiver definida como false (ou off), uma transação local não será promovida a uma transação distribuída ao chamar uma chamada de procedimento remoto em um servidor vinculado.

Se antes de fazer uma chamada de procedimento de servidor para servidor, a transação já for uma transação distribuída, essa opção não terá efeito. A chamada de procedimento no servidor vinculado é executada na mesma transação distribuída.

Se não houver nenhuma transação ativa na conexão antes de fazer uma chamada de procedimento de servidor para servidor, essa opção não terá efeito. Em seguida, o procedimento executa em relação ao servidor vinculado sem transações ativas.

O valor padrão para essa opção é true (ou on).

@optvalue [ = ] N'optvalue'

Especifica se o @optname deve ser habilitado ( ou ), ou desabilitado (truefalse ou onoff). @optvalue é nvarchar(128), sem padrão.

  • Para as opções de tempo limite de conexão e tempo limite de consulta, @optvalue pode ser um inteiro não negativo.

  • Para a opção de nome de agrupamento, @optvalue pode ser um nome de agrupamento ou NULL .

  • Para a opção nome, @optvalue pode ser uma cadeia de caracteres, que representa o novo nome da conexão do servidor vinculado.

  • Para a opção de cadeia de caracteres do provedor, @optvalue pode ser uma cadeia de caracteres ou NULL, representando a nova fonte OLE DB da conexão do servidor vinculado.

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Comentários

Se a opção compatível com agrupamento estiver definida como , o nome do agrupamento será definido automaticamente como trueNULL.

Se o nome do agrupamento for definido como um valor não nulo, o agrupamento compatível automaticamente será definido como false.

Permissões

Requer permissão ALTER ANY LINKED SERVER no servidor.

Exemplos

O exemplo a seguir configura um servidor vinculado correspondente a outra instância do SQL Server, , SEATTLE3para ser compatível com agrupamento com a instância local do SQL Server.

USE master;
GO
EXEC sp_serveroption N'SEATTLE3', 'collation compatible', N'true';
GO

O exemplo a seguir renomeia a conexão do servidor vinculado de PRODVM01\ProdSQL01 para LinkToProdSQL01.

USE master;
GO
EXEC sp_serveroption
    @server = N'PRODVM01\ProdSQL01',
    @optname = 'name',
    @optvalue = N'LinkToProdSQL01';
GO

Confira também