Les distributions de Microsoft SQL Server 2005 et 2008/2008 R2 proposent un conseiller de migration ou "Upgrade Advisor" qui permet de diagnostiquer au préalable les éventuels problèmes et incompatibilités pour une migration d'une instance Microsoft SQL Server depuis des versions antérieures.
Cet article présente l'installation et l'utilisation à distance en lignes de commande du conseiller de migration Microsoft SQL Server 2008 R2 en vue de préparer la migration d'une instance Microsoft SQL Server 2008 vers Microsoft SQL Server 2008 R2. Un autre exemple est donné pour préparer la migration d'une instance nommée SQL Server 2005 vers SQL Server 2008 R2. L'Upgrade Advisor MS SQL Server 2008 R2 est installé sur la machine PAR1DB3-39.
Le conseiller de migration SQL 2008 R2 analyse la migration des composants moteur bases de données, Analysis Services, Reporting Services, Integration Services et Data Transformation Services (DTS) : ici seul le composant moteur base de données est évoqué.
L'Upgrade Advisor supporte l'analyse à distance de tous les
composants supportés à l'exception de MS Reporting Services.
L'Upgrade Advisor n'analyse pas les procédures stockées encryptées ainsi que
les procédures développées par exemple en .Net (fonctionnalité CLR - Common
Language RunTime).
Dans la suite de cet article, %SETUPDIR% correspond au répertoire ou au partage réseau contenant la distribution d'installation de Microsoft SQL Server 2008 R2.
Les pré-requis pour installer et utiliser l'Upgrade Advisor MS SQL Server 2008 R2 sont les suivants :
En fonction de l'architecture 32 bits/64bits du serveur sur lequel va être installé l'Upgrade Advisor MS SQL Server 2008 R2, l'installation est réalisée avec l'installateur sqlua.msi.
| Plateforme | Répertoire de sqlua.msi |
|---|---|
| Windows 32 bits | %SETUPDIR%\1033_ENU_LP\x86\sqlua.msi |
| Windows 64 bits x64 | %SETUPDIR%\1033_ENU_LP\x64\sqlua.msi |
| Windows 64 bits IA64 | %SETUPDIR%\1033_ENU_LP\ia64\sqlua.msi |
Ces packages sont également disponibles unitairement en ligne : Microsoft SQL Server 2008 Upgrade Advisor download »
Sur une architecture Windows 64 bits x64, le programme Upgrade Advisor MS SQL Server 2008 R2 est installé par défaut dans le répertoire C:\Program Files (x86)\Microsoft SQL Server 2008 R2 Upgrade Advisor.
Le binaire UpgradeAdvisorWizardCmd.exe dans le répertoire d'installation de l'Upgrade Advisor MS SQL Server 2008 R2 permet de lancer le conseiller de migration en lignes de commandes et sur des moteurs SQL Server éventuellement distants, comme c'est le cas ici.
DOS> UpgradeAdvisorWizardCmd.exe -?
usage: UpgradeAdvisorWizardCmd.exe [ -? ] |
[ -ConfigFile filename | <server_info> ]
[ -SqlUser login_id -SqlPassword password ]
[ -NsSqlUser login_id -NsSqlPassword password ]
[ -CSV ]
where <server_info> is any combination of the following:
-Server server_name
-Instance instance_name
-NsInstance NS_instance_name
-AsInstance AS_instance_name
-RsInstance RS_instance_name
Voici quelques exemples d'usage.
1. Analyse de l'instance distante par défaut sur PAR1DB1-24 en authentification intégrée
UpgradeAdvisorWizardCmd.exe -Server PAR1DB1-24 -Instance MSSQLSERVER
2. Analyse de l'instance distante par défaut sur PAR1DB1-24 avec le compte SQL sa :
UpgradeAdvisorWizardCmd.exe -Server PAR1DB1-24 -Instance MSSQLSERVER -Sqluser sa -SqlPassword *******
3. Analyse de l'instance distante par défaut sur PAR1DB1-24 en authentification intégrée en forçant la production du rapport supplémentaire au format CSV :
UpgradeAdvisorWizardCmd.exe -Server PAR1DB1-24 -Instance MSSQLSERVER -CSV
4. Analyse de l'instance nommée distante MOSS_SYS sur PARDMOS306 en authentification intégrée :
UpgradeAdvisorWizardCmd.exe -Server PARDMOS306 -Instance MOSS_SYS
5. Analyse d'une instance distante en authentification intégrée avec un fichier de configuration :
UpgradeAdvisorWizardCmd.exe -ConfigFile config.xml
Les fichiers de configuration sont au format XML. Deux exemples sont donnés ci-dessous :
| Instance par défaut | Serveur PAR1DB1-24 | Instance nommée MOSS_SYS | Serveur PARDMOS306 | |
|---|---|---|
<Configuration> <Server>PAR1BD1-24</Server> <Instance>MSSQLSERVER</Instance> <Components> <SQLServer> <Databases> <Database>*</Database> </Databases> </SQLServer> </Components> </Configuration> |
<Configuration> <Server>PARDMOS306</Server> <Instance>MOSS_SYS</Instance> <Components> <SQLServer> <Databases> <Database>*</Database> </Databases> </SQLServer> </Components> </Configuration> |
Grâce aux fichiers de configuration, l'utilitaire UpgradeAdvisorWizardCmd.exe s'avère donc très pratique pour industrialiser des analyses en masse de pré-migration vers SQL Server 2008 R2 pour un parc de serveurs.
DOS> UpgradeAdvisorWizardCmd.exe -ConfigFile serveur1.xml DOS> UpgradeAdvisorWizardCmd.exe -ConfigFile serveur2.xml DOS> UpgradeAdvisorWizardCmd.exe -ConfigFile serveur3.xml ...
Et voici un exemple de lancement :
UpgradeAdvisorWizardCmd.exe -Server PARDMOS306 -Instance MOSS_SYS -CSV
Analyze SQL Server Checking for SQL Connectivity... Starting analysis... Analyzing 0% Analyzing 0% ... Analyzing 97% Analyzing 99% Creating report Creating report Analysis completed. Issues may be viewed using the SQL Server 2008 R2 Upgrade Advisor Report Viewer.
Si l'Upgrade Advisor est lancé avec le compte <mon-domain>\<user>, les rapports du conseiller sont produits dans le répertoire C:\Documents and Settings\<user>\My Documents\SQL Server 2008 R2 Upgrade Advisor Reports. Ce répertoire est appelé %REPORTDIR% dans la suite de cet article.
La localisation des rapports diffère quelque peu entre une instance par défaut et une instance nommée :
| Instance par défaut sur le serveur SERVER | %REPORTDIR%\SERVER |
| Instance nommée INSTANCE sur le serveur SERVER | %REPORTDIR%\SERVER\INSTANCE |
Le rapport s'appelle DE.xml pour la version XML. Lorsque l'option -CSV est spécifiée lors de l'analyse avec UpgradeAdvisorWizardCmd, le rapport supplémentaire au format csv s'appelle DE.xml.csv.
Voici quelques exemples obtenus dans les rapports au format csv pour les 2 instances PAR1DB1-24 et PARDMOS306\MOSS_SYS. À exploiter pour notre plus grand bonheur !
"Database Server","PreOrPostUpgrade","Remove references to deprecated system stored procedures", "Upgrade Advisor detected statements that reference undocumented system stored procedures and extended stored procedures that are not available in SQL Server 2005 or later. Statements that reference these objects will fail. Do not use undocumented system objects or APIs as the functionality might change or be removed without notification in a future release.", "Source Type: database","Database: master", "Object Name: sp_configure ''awe enabled''", "Procedure type: Deprecated", "Procedure name: sp_configure ''awe enabled''", ... "Database Server","PreOrPostMigration","Column aliases in ORDER BY clause cannot be prefixed by table alias", "In SQL Server 2005 or later, column aliases in the ORDER BY clause cannot be prefixed by the table alias.","Type: Database", "Database name: WSS_Content_Facilities", "Object name: proc_GetTpPageMetaData","Object type: P ",
| Version | Date | Commentaires |
|---|---|---|
| 1.0 | 05/2011 | Version initiale |
SQL Server 2008 R2 : Using
Upgrade Advisor to Prepare for Upgrades