Compartilhar via


sp_addserver (Transact-SQL)

Aplica-se: SQL Server

Define o nome da instância local do SQL Server. Quando o computador que hospeda o SQL Server for renomeado, use sp_addserver para informar a instância do Mecanismo de Banco de Dados do SQL Server sobre o novo nome do computador. Esse procedimento deve ser executado em todas as instâncias do Mecanismo de Banco de Dados hospedadas no computador.

O nome da instância do Mecanismo de Banco de Dados não pode ser alterado. Para alterar o nome de uma instância nomeada, instale uma nova instância com o nome desejado, desanexe os arquivos de banco de dados da instância antiga, anexe os bancos de dados à nova instância e descarte a instância antiga. Como alternativa, você pode criar um nome de alias de cliente no computador cliente, redirecionando a conexão para um nome ou <server>:<port> combinação de servidor e instância diferente sem alterar o nome da instância no computador servidor.

Convenções de sintaxe de Transact-SQL

Sintaxe

sp_addserver
    [ @server = ] N'server'
    [ , [ @local = ] 'LOCAL' ]
    [ , [ @duplicate_ok = ] 'duplicate_OK' ]
[ ; ]

Argumentos

@server [ = ] N'servidor'

O nome do servidor. Os nomes de servidor devem ser exclusivos e seguir as regras para nomes de computador Windows, embora espaços não sejam permitidos. @server é sysname, sem padrão.

Quando várias instâncias do SQL Server são instaladas em um computador, uma instância opera como se estivesse em um servidor separado. Especifique uma instância nomeada referindo-se a @server como <servername>\<instancename>.

@local [ = ] 'LOCAL'

Especifica que o servidor está sendo adicionado como um servidor local. @local é varchar(10), com um padrão de NULL. Especificar @local como define @server como o nome do servidor local e faz com que a @@SERVERNAME função retorne o valor de @server. LOCAL

A Instalação do SQL Server define essa variável como o nome do computador durante a instalação. Por padrão, o nome do computador é a maneira como os usuários se conectam a uma instância do SQL Server sem exigir configuração adicional.

A definição local entra em vigor somente depois que o Mecanismo de Banco de Dados é reiniciado. Somente um servidor local pode ser definido em cada instância do Mecanismo de Banco de Dados.

@duplicate_ok [ = ] 'duplicate_OK'

Especifica se um nome de servidor duplicado é permitido. @duplicate_ok é varchar(13), com um padrão de NULL. @duplicate_ok só pode ter o valor duplicate_OK ou NULL. Se @duplicate_ok for especificado e o nome do servidor que está sendo adicionado já existir, nenhum erro será gerado. Se os parâmetros nomeados não forem usados, @local deverão ser especificados.

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Comentários

Para definir ou limpar as opções do servidor, use sp_serveroption.

sp_addserver não pode ser usado dentro de uma transação definida pelo usuário.

O uso sp_addserver para adicionar um servidor remoto foi descontinuado. Em vez disso, use sp_addlinkedserver .

Usar sp_addserver para alterar o nome do servidor local pode causar efeitos indesejados ou configurações sem suporte ao usar grupos de disponibilidade ou replicação.

Permissões

Exige uma associação na função de servidor fixa setupadmin .

Exemplos

O exemplo a seguir altera a entrada do Mecanismo de Banco de Dados do nome do computador que hospeda o SQL Server para ACCOUNTS.

EXEC sp_addserver 'ACCOUNTS', 'local';