Dans le cas d'un changement de nom de serveur sur lequel une version de SQL Server 2005 (Express ou autre) a déjà été installée, la mise en place de la réplication ne pourra plus fonctionner.
Ainsi on aura une erreur lors de la création de l'abonnement :
Le message est :
---------------------------------------------------------
En Francais :
TITRE : Assistant Nouvel abonnement
------------------------------Microsoft SQL Server Management Studio n'est pas en mesure d'accéder aux composants de réplication parce que la réplication n'est pas installée sur cette instance de SQL Server. Pour plus d'informations, voir la rubrique Installation de la réplication dans la documentation en ligne de SQL Server.
Pour obtenir de l'aide, cliquez sur : http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.06&EvtSrc=Microsoft.SqlServer.Management.UI.ReplUtilitiesErrorSR&EvtID=ReplicationNotInstalled&LinkId=20476
------------------------------
INFORMATIONS SUPPLÉMENTAIRES :La réplication SQL Server nécessite le vrai nom du serveur pour établir une connexion. Les connexions via alias, adresse IP ou autre référence ne sont pas prises en charge. Indiquez le vrai nom du serveur, « ANCIENNOM\SQLEXPRESS ». (Replication.Utilities)
------------------------------
BOUTONS :OK
------------------------------
En Anglais :
Un message sur le Forum MSDN US nous donne une partie du message :
....
SQL Server replication requires the actual server name to make a connection to the server. Connections through a server alias, IP address, or any other alternate name are not supported. Specify the actual server name, 'ANCIENNOM\SQLEXPRESS'. (Replication.Utilities)
---------------------------------------------------------
Ainsi, on ne peut pas créer de nouveaux abonnements tant que ce changement n'est pas effectué sur l'instace SQL Server 2005 concernée.
La source du problème vient du référencement dans une table système du nom du serveur lors de l'installation du moteur SQL Server 2005.
Pour voir ceci, il suffit d'exécuter la commande :
- SELECT * FROM SYS.SERVERS
On obtient alors le nom stocké qui doit donc être modifié.
Méthode 1 (déconseillée) :
Cette table ne peut pas être modifiée directement via un UPDATE, sauf par le passage en mode administrateur :
C:\>sqlcmd -A
1> update sys.servers set name='NOUVEAUNOM\SQLEXPRESS'
2> go
On redémarre ensuite le serveur SQL concerné et tout est OK.
Méthode 2 :
Des procédures stockées système permettent de modifier ce paramètre :
sp_dropserver @server='ANCIENNOM\SQLEXPRESS'
sp_addserver @server='NOUVEAUNOM\SQLEXPRESS', @local='LOCAL'
Une fois la modification effectuée, il faut relancer le service SQL Server.
Attention :
Dans le cas ou vous avez plusieurs instances sur votre machine, il faut effectuer cette modification sur chaque instance.
Romelard Fabrice [MVP]
Commentaires
Enregistrer un commentaire