sp_addserver (Transact-SQL)

S’applique à :SQL Server

Définit le nom de l’instance locale de SQL Server. Lorsque l’ordinateur hébergeant SQL Server est renommé, utilisez sp_addserver cette option pour informer l’instance de SQL Server Moteur de base de données du nouveau nom de l’ordinateur. Cette procédure doit être exécutée sur toutes les instances de l’Moteur de base de données hébergées sur l’ordinateur. Le nom de l’instance du Moteur de base de données ne peut pas être modifié. Pour modifier le nom d’instance d’une instance nommée, installez une nouvelle instance avec le nom souhaité, détachez les fichiers de base de données de l’ancienne instance, attachez les bases de données à la nouvelle instance et supprimez l’ancienne instance. Vous pouvez également créer un nom d'alias client sur l'ordinateur client, en redirigeant la connexion vers un autre nom de serveur et d'instance ou la combinaison serveur:port sans modifier le nom de l'instance sur l'ordinateur serveur.

Conventions de la syntaxe Transact-SQL

Syntaxe

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

Arguments

[ @server = ] N’server'

Le nom du serveur Les noms de serveur doivent être uniques et suivre les règles des noms d’ordinateurs Microsoft Windows, bien que les espaces ne soient pas autorisés. @server est sysname, sans valeur par défaut.

Lorsque plusieurs instances de SQL Server sont installées sur un ordinateur, une instance fonctionne comme si elle se trouve sur un serveur distinct. Spécifiez une instance nommée en faisant référence à @server en tant que <servername>\<instancename>.

[ @local = ] 'LOCAL'

Spécifie que le serveur est ajouté en tant que serveur local. @local est varchar(10), avec la valeur par défaut NULL. Si vous spécifiez @local comme LOCAL définit @server comme nom du serveur local, la @@SERVERNAME fonction retourne la valeur de @server.

Le programme d’installation de SQL Server définit cette variable sur le nom de l’ordinateur pendant l’installation. Par défaut, le nom de l’ordinateur est la façon dont les utilisateurs se connectent à une instance de SQL Server sans nécessiter de configuration supplémentaire.

La définition locale prend effet uniquement une fois le Moteur de base de données redémarré. Un seul serveur local peut être défini dans chaque instance du Moteur de base de données.

[ @duplicate_ok = ] 'duplicate_OK'

Spécifie si les noms de serveur en double sont autorisés. @duplicate_ok est varchar(13), avec la valeur par défaut NULL. @duplicate_ok ne peut avoir que la valeur duplicate_OK ou NULL. Si @duplicate_ok est spécifié et que le nom du serveur en cours d’ajout existe déjà, aucune erreur n’est générée. Si les paramètres nommés ne sont pas utilisés, @local doit être spécifié.

Valeurs des codes de retour

0 (réussite) ou 1 (échec).

Notes

Pour définir ou effacer les options du serveur, utilisez sp_serveroption.

sp_addserver ne peut pas être utilisé à l’intérieur d’une transaction définie par l’utilisateur.

L’utilisation sp_addserver pour ajouter un serveur distant est interrompue. Utilisez de préférence sp_addlinkedserver .

L’utilisation sp_addserver pour modifier le nom du serveur local peut entraîner des effets indésirables ou des configurations non prises en charge lors de l’utilisation de groupes de disponibilité ou de réplication.

Autorisations

Nécessite l'appartenance au rôle serveur fixe setupadmin .

Exemples

L’exemple suivant modifie l’entrée Moteur de base de données pour le nom de l’ordinateur hébergeant SQL Server sur ACCOUNTS.

EXEC sp_addserver 'ACCOUNTS', 'local';