IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration SQL Server Discussion :

Upgrade : COMPATIBILITY_LEVEL de la base MASTER


Sujet :

Administration SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Par défaut Upgrade : COMPATIBILITY_LEVEL de la base MASTER
    Hello,
    Je souhaite partager ma réflexion avec vous sur un des nombreux problèmes que l'on rencontre quand on fait un Upgrade de SQL 2000 vers SQL 2005 (SP1, SP2, SP3, ...). La question est donc celle-ci :
    Qu'est ce qui justifie le fait que Microsoft décide de laisser par défaut la base master au niveau de compatibilité SQL Server 2000 (80) lorqu'on fait un Upgrade de SQL 2000 vers SQL 2005, alors que les autres bases systèmes( msdb, tempdb et model) passent bien au niveau SQL Server 2005 (COMPATIBILITY_LEVEL = 90) ?

    Merci d'avance
    Etienne ZINZINDOHOUE
    Billets-Articles

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Par défaut
    http://blogs.msdn.com/b/psssql/archi...-features.aspx

    "The behavior presented in the upgrade from SQL Server 2000 to SQL Server 2005 is based on a conscious decision taken by the SQL Server product group. . The main motivation behind this is to provide a smooth upgrade process and to ensure existing applications work without encountering a problem after the upgrade. You would question why this decision applies to master database as well. Even though the best practice is not to keep user objects in the master database, many internal features and several applications in the market keep some vital information in the master database. To ensure none of this encounter a problem, the master database is also left at compatibility level 80 after an upgrade. This obviously now poses a problem for application and scripts that wants to execute in the context of the master database as well as use some of the new keywords or operators. They will now run into the problems and errors that we discussed early on."

    David B.

  3. #3
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    En fait je me suis toujours demandé s'ils s'étaient basés sur des statistiques clients ou autres pour prendre cette décision ... Est ce que c'est parce que le plus grand nombre d'objets utilisateurs est trouvé dans cette base plutôt que dans msdb par exemple ?

    C'est vrai que par défaut, un utilisateur se voit affecter la base master à la connexion mais bon je reste quand même certain qu'une bonne pratique est de jamais utiliser les bases systèmes pour des objets utilisateurs .. autant créer une base dédiée à cela ..

    ++

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Par défaut
    Dans le post de Suresh il est surtout question des 3rd-parties. Je n'ai pas d'exemple en tête mais ils ont dû voir ça avec tous leurs partenaires lors des premières CTP ou en phase de dév de la 2005.

    David B.

  5. #5
    Membre Expert

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Par défaut
    Merci dbaffaleuf pour le lien.

    je trouve que leur logique (argument) est sélective. Parce que
    ce qu'ils disent à propos des objets utilisateurs qui se trouvent dans la base master, peut s'appliquer aussi à la base msdb ? base msdb où des utilisateurs créent des script de maintenance !
    Pourquoi ils ne sont pas aller jusqu'au bout de leur logique ?
    Sur ce point je pense que MS :
    1) encourage les mauvaises pratiques
    2) pénalise les utilisateurs exemplaires

    Je vais publier un billet à ce sujet sur mon blog ;-)

    A+
    Etienne ZINZINDOHOUE
    Billets-Articles

  6. #6
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    1) MS encourage les mauvaises pratiques
    2) Pénalise les utilisateurs exemplaires
    1)
    Encourager les mauvais pratiques non je ne pense pas. C'est à l'utilisateur de faire attention pas à MS à mon sens. Ils veulent surtout rendre plus facile les mises à jour de versions. (eh oui le business)

    2)
    Je ne vois pas de pénalité là .. c'est juste une question d'appréciation je crois

    ++

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Par défaut
    Citation Envoyé par mikedavem Voir le message
    Ils veulent surtout rendre plus facile les mises à jour de versions. (eh oui le business)
    C'est exactement ça.

    David B.

  8. #8
    Membre Expert

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Par défaut
    Citation Envoyé par mikedavem Voir le message
    1)
    Encourager les mauvais pratiques non je ne pense pas. C'est à l'utilisateur de faire attention pas à MS à mon sens. Ils veulent surtout rendre plus facile les mises à jour de versions. (eh oui le business)
    2)
    Je ne vois pas de pénalité là .. c'est juste une question d'appréciation je crois
    ++
    Parce que quand je fais un Upgrade je me dis que je suis sous SQL 2005 et quand j'éxécute cette commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT TOP 20 
    SUM(total_logical_reads + total_logical_writes) AS [Total ES] 
    ,SUM(total_logical_reads + total_logical_writes)/SUM(qs.execution_count) AS [Moyenne ES]
    ,DB_NAME(qt.dbid) AS [DatabaseName]
    FROM sys.dm_exec_query_stats qs
    CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as qt
    GROUP BY DB_NAME(qt.dbid)
    ORDER BY [Total ES]  DESC;
    ça me crache un message d'erreur incompréhensible !

    donc c'est pénalisant car il faut encore chercher la source de l'erreur et après modifier le niveau de compatibilité. ça fait perdre du temps. Quand on fait un Upgrade, c'est évident de mettre les bases utilisateurs à niveau, ça c'est un réflexe. mais aller vérifier le compatibilité de la base master ça ce n'est pas évident !
    et ça fait perdre du temps !
    Etienne ZINZINDOHOUE
    Billets-Articles

  9. #9
    Membre émérite
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Par défaut
    Dans ton blog, tu peux mettre plutôt la méthode pour changer le mode de compatibilité de master, comme c'est un peu en dehors des sentiers battus.

    David B.

  10. #10
    Membre Expert

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Par défaut
    Pourquoi ne peuvent-il pas proposer lors du Upgrade un écran du style :

    Voulez-vous mettre à niveau SQL 2005 les bases :
    v master
    v msdb
    v model
    v tempdb

    avec des checkbox afin de donner la possibilité à celui qui fait le upgrade de décider de ce qu'il veut !
    Je préfère ça que de laisser Sql server faire tout ce qu'il veut dans mon dos ;-)
    Etienne ZINZINDOHOUE
    Billets-Articles

  11. #11
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    ça me crache un message d'erreur incompréhensible !
    Je suis tout à fait d'accord avec toi sur ce point. C'est aller disons le : CHIANT.

    c'est évident de mettre les bases utilisateurs à niveau, ça c'est un réflexe.
    Là je ne suis pas d'accord avec toi ... J'ai un cas justement d'un client où le fait de passer au niveau de compatibilité par défaut de la version en cours n'était pas appropriée. Eh oui il employait encore des anciennes syntaxes de requêtes qui n'étaient pas compatibles avec le niveau 90 par exemple ... Le processus de mise à niveau a été pris en compte dans les ROAD MAP du client et la mise à niveau s'est effectuée un an après la mise à jour vers SQL Server 2005 !!

    mais aller vérifier le compatibilité de la base master ça ce n'est pas évident ! et ça fait perdre du temps !
    Là je suis en parti d'accord avec toi même si la documentation spécifie clairement ce qui se passe ...

    ++

Discussions similaires

  1. Base MASTER pleine
    Par fucce dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 31/10/2008, 19h33
  2. restauration de la base MASTER
    Par SILO dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 10/09/2007, 15h24
  3. Réponses: 1
    Dernier message: 05/02/2007, 10h11
  4. Problème pour restorer la base master
    Par David Porcher dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 13/03/2006, 12h56
  5. toujours création de table dans base master
    Par FamiDoo dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 19/01/2006, 13h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo