Installation et utilisation à distance en ligne de commandes du conseiller de migration Microsoft SQL 2008 R2 (upgrade advisor)


1- Introduction

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.

architecture upgrade advisor SQL Server 2008

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.

2- Installation de l'Upgrade Advisor MS SQL Server 2008 R2

2-1- Pré-requis

Les pré-requis pour installer et utiliser l'Upgrade Advisor MS SQL Server 2008 R2 sont les suivants :

2-2- Installation

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.

3- Utilisation de l'Upgrade Advisor MS SQL Server 2008 R2 en lignes de commandes

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.

3-1- Syntaxe et usage

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.

3-2- Rapports produits

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 ",

Annexe

Historique

Version Date Commentaires
1.0 05/2011 Version initiale

Liens

SQL Server 2008 R2 : Using Upgrade Advisor to Prepare for Upgrades