Renommer une instance Micrososft SQL Server 2005Date de publication : 26.5.2007 , Date de mise à jour : 30.5.2007
Par
fadace (Fabien Celaia)
Comment renommer une instance Microsoft SQL Server 2005
I. Introduction
Commençons par le début ! Est-il possible de renommer une instance SQL Server sans passer par une désinstallation / réinstallation ? Comme souvent, la réponse technique ("Oui") et la réponse officielle (soit celle de l'éditeur : "Non") s'opposent. La procédure suivante tente à le prouver.
L'installation par défaut d'une instance Microsoft SQL Server se fait de manière non nommées. En fait, il s'agit plutôt d'un nommage par défaut : le service se nommera SQLSERVER et l'instance sera accessible via le nom de la machine hôte.
Ce nommage par défaut est aussi ce qui se passe lors de l'installation d'une instance MSDE.
Soulignons donc bien que cette procédure n'est en aucun cas le feu vert donné à un renommage, mais la preuve technique que le renommage est possible... ce qui nous permettra de mieux comprendre comment se comporte SQL Server et ses services.
II. Procédure
Nous allons commencer par le plus facile, c'est à dire modifier la seule trace du nom de l'instance dans Microsoft SQL Server.
Détecter le nom actuel de l'instance. En cas de retour de plusieurs lignes (notamment si vous avez déjà configuré des serveurs distants), choisissez la ligne qui est en local
Supprimez-le ensuite et recréez-le
exec sp_dropserver AncienneInstance
exec sp_addserver 'MaMachine\NouvelleInstance', local
|
Arrêtez l'instance (et ses éventuelles dépendances) car nous allons devoir attaquer maintenant la base de registre
Renommez les clés de registres en créant le script suivant MonSQL.REG puis en l'exécutant
-------------------------------------------------------------------------------------------
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQL$NouvelleInstance]
"Type"=dword:00000010
"Start"=dword:00000002
"ErrorControl"=dword:00000001
"ImagePath"=hex(2):22,00,43,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,61,00,\
6d,00,20,00,46,00,69,00,6c,00,65,00,73,00,5c,00,4d,00,69,00,63,00,72,00,6f,\
00,73,00,6f,00,66,00,74,00,20,00,53,00,51,00,4c,00,20,00,53,00,65,00,72,00,\
76,00,65,00,72,00,5c,00,4d,00,53,00,53,00,51,00,4c,00,2e,00,31,00,5c,00,4d,\
00,53,00,53,00,51,00,4c,00,5c,00,42,00,69,00,6e,00,6e,00,5c,00,73,00,71,00,\
6c,00,73,00,65,00,72,00,76,00,72,00,2e,00,65,00,78,00,65,00,22,00,20,00,2d,\
00,73,00,42,00,45,00,53,00,32,00,50,00,00,00
"DisplayName"="SQL Server (NouvelleInstance)"
"ObjectName"="LocalSystem"
"Description"="Provides storage, processing and controlled access of data and rapid transaction processing."
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQL$NouvelleInstance\Linkage]
"Export"=hex(7):42,00,45,00,53,00,32,00,50,00,00,00,00,00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQL$NouvelleInstance\Performance]
"Library"="sqlctr90..dll"
"Open"="OpenSQLPerformanceData1"
"Collect"="CollectSQLPerformanceData1"
"Close"="CloseSQLPerformanceData1"
"PerfIniFile"="perf-NouvelleInstancesqlctr.ini"
"WbemAdapFileSignature"=hex:35,09,79,97,c3,49,fc,89,5f,7b,37,66,3d,e5,da,de
"WbemAdapFileTime"=hex:00,87,23,bb,61,d0,c5,01
"WbemAdapFileSize"=dword:000102d8
"WbemAdapStatus"=dword:00000000
"Last Counter"=dword:0000195e
"Last Help"=dword:0000195f
"First Counter"=dword:000016ea
"First Help"=dword:000016eb
"Library Validation Code"=hex:00,b8,a0,b9,c3,4c,c7,01,70,09,01,00,00,00,00,00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQL$NouvelleInstance\Security]
"Security"=hex:01,00,14,80,b8,00,00,00,c4,00,00,00,14,00,00,00,30,00,00,00,02,\
00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,\
00,00,02,00,88,00,06,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,\
05,12,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,\
20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,04,00,00,00,00,\
00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,06,00,00,00,00,00,14,00,00,01,\
00,00,01,01,00,00,00,00,00,05,0b,00,00,00,00,00,18,00,fd,01,02,00,01,02,00,\
00,00,00,00,05,20,00,00,00,23,02,00,00,01,01,00,00,00,00,00,05,12,00,00,00,\
01,01,00,00,00,00,00,05,12,00,00,00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQL$NouvelleInstance\Enum]
"0"="Root\\LEGACY_MSSQL$NouvelleInstance\\0000"
"Count"=dword:00000001
"NextInstance"=dword:00000001
|
Supprimez la clé HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLSERVER
Modifiez, dans HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server, la clé InstalledInstances de MSSQLSERVER à NouvelleInstance
Créez la nouvelle clé de registre via l'exécution du fichier suivant
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\NouvelleInstance]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\NouvelleInstance\MSSQLServer]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\NouvelleInstance\MSSQLServer\CurrentVersion]
"CurrentVersion"="9..00.3042.00"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\NouvelleInstance\MSSQLServer\SuperSocketNetLib]
"ProtocolList"=hex(7):74,00,63,00,70,00,00,00,6e,00,70,00,00,00,00,00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\NouvelleInstance\MSSQLServer\SuperSocketNetLib\Np]
"PipeName"="\\\\.\\pipe\\MSSQL$NouvelleInstance\\sql\\query"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\NouvelleInstance\MSSQLServer\SuperSocketNetLib\Tcp]
"TcpPort"="1446"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\NouvelleInstance\Setup]
"SQLPath"="C:\\Program Files\\Microsoft SQL Server\\MSSQL.1\\MSSQL"
|
Rebaptisez HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL\MSSQLSERVER en ...\NouvelleInstance
Rebaptisez HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\(Default)\MSSQLSERVER en ...\NouvelleInstance
Rebaptisez HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSFTESQLInstMap\1\FriendlyName\MSSQLSERVER en ...\NouvelleInstance
III. Finale
Il ne nous reste plus qu'à redémarrer l'instance
- soit via la commande NET START MSSQL$NouvelleInstance
- soit via les outils graphiques
- soit encore via les services Windows.
Je ne traite pas ici le renommage des services associés de l'agent, du reporting server... Leur traitement est quasi similaire et... il est souvent bien plus aisé d'opérer une désinstallation/réinstallation de ces modules pour s'éviter bien des soucis...
 
Copyright © 2007 fadace. Aucune reproduction, même partielle, ne peut être faite
de ce site et de l'ensemble de son contenu : textes, documents, images, etc
sans l'autorisation expresse de l'auteur.
Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
Cette page est déposée à la
SACD.
|