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 :

[SQL-Server 2000] Renommer un .mdf


Sujet :

Administration SQL Server

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 283
    Par défaut [SQL-Server 2000] Renommer un .mdf
    Bonjour,

    Je souhaiterais renommer un fichier de données sur une base SQL-Server 2000.

    En parcourant la doc j'ai trouvé cette commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ALTER DATABASE <Database name> MODIFY FILE ( NAME = <current_logical_name>, NEWNAME = <new_logical_name>)
    En vous remerciant par avance pour vos réponses

    Cdt,
    A.Personnat

  2. #2
    Invité
    Invité(e)
    Par défaut
    On devine la question...
    Cette commande te permet de modifier le nom logique du fichier, pas son nom physique.

    Pour modifier son nom physique, il faudrait détacher la base de données, renommer le fichier sur le disque, puis attacher la base de données.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 283
    Par défaut
    Oups oui désolé ;-)

    Donc pour préciser je voulais savoir s'il n'y avait pas d'autres actions à effectuer (comme sur Oracle par exemple); ce qui semble être le cas, donc si je résume la manip :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    1/   Alter database ..
    2/   Détacher la base 
    3/   Renommer physiquement le fichier
    4/   Attacher la base
    C'est bien ça ?

    Cdt,
    A.Personnat

  4. #4
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    C'est bien ça.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 283
    Par défaut
    Merci bien, une dernière question cependant, quel est l'impact pour les utilisateurs ?

    Je suppose que leur session est déconnectée ou au mieux gelée?

  6. #6
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    Bien sûr, toutes les sessions qui s'exécutent dans cette base doivent être fermées, et ils ne pourront recommencer à travailler qu'après l'attachement. Pas de miracle.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 283
    Par défaut
    SQL-Server gère les fermetures de session ? je n'ai qu'a faire un 'détach' de la base ?

    Désolé si mes questions sont un peu basiques mais je débute sur SQL-Server ;-)

  8. #8
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    me souviens plus, mais au pire, version méchante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER DATABASE ma_base SET SINGLE_USER WITH ROLLBACK IMMEDIATE

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 283
    Par défaut
    OK merci beaucoup pour tous ces éléments, je pense faire cette manip dans le courant de la semaine (fonction de la MOA) je reviendrai vers vous le cas échéant ;-)

    Cdt,
    A.Personnat

  10. #10
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 999
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 999
    Billets dans le blog
    6
    Par défaut
    Le detach fait un ROLLBACK d'office.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 283
    Par défaut
    Juste pour info, comment SQL-Server gère le renommage d'un fichier de données à chaud (utilisateur connecté et transactionnel en cours).

    Sur Oracle pour renommer un fichier de données il faut positioner le fichier en mode offline, procéder au renommage logique et physique puis repositionner le fichier (tablespace) en mode online.

    Qu'en est-il côté SQL-Server ?

  12. #12
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    Il ne le gère pas, ce n'est pas possible.

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 283
    Par défaut
    Hum dans ce cas ne devrait-on pas tout d'abord procéder au détachement de la base puis renommer via alter database .. ensuite renommer le fichier .mdf et pour finir attacher la base ?

  14. #14
    Invité
    Invité(e)
    Par défaut
    Voir les réponses plus haut, il faut détacher la base pour renommer le fichier physiquement, donc la base n'est plus disponible pendant l'opération.

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 283
    Par défaut
    Bah non justement dans mon post je demandais si le mode op était bien le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    1/   ALTER DATABASE ..
    2/   Détacher la base 
    3/   Renommer physiquement le fichier
    4/   Attacher la base

    Donc si je résume on procède comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    1/   Détacher la base
    2/   ALTER DATABASE ..
    3/   Renommer physiquement le fichier
    4/   Attacher la base
    C'est que je ne voudrais pas faire de bêtises ;-)

  16. #16
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    1/ Détacher la base
    2/ Renommer physiquement le fichier
    3/ Attacher la base


    Il n'y a pas d'ALTER

  17. #17
    Invité
    Invité(e)
    Par défaut
    Les noms logiques et physiques sont indépendants. Et si tu détache la base, tu ne pourras pas faire ton ALTER DATABASE !

    Créé une base bidon, et fais des tests, tu constateras par toi-même, c'est le meilleur moyen pour apprendre.

  18. #18
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    283
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 283
    Par défaut
    Je suis tout à fait d'accord, le hic c'est que je n'ai pas de serveur de test ..

    Ok je note donc la version définitive :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    1/ Détacher la base 
    2/ Renommer physiquement le fichier
    3/ Attacher la base
    Merci à tous pour votre réactivité ;-)

  19. #19
    Membre émérite
    Inscrit en
    Mai 2008
    Messages
    686
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 686
    Par défaut
    Étrange comme certains problèmes arrivent par deux et cela dans deux endroits totalement différents.

    J'ai procédé au détachement d'une base d'épuration, peu utilisé mais un peu tout de même en consultation. L'objectif était de déplacer les fichiers pour optimiser les performances de la sauvegarde.
    J'ai testé cette méthode sur ma base de DEV et de Qualité, sans problème évidemment.

    Forcément en Production rien ne se passe comme prévu, entre autre chose, le fait d'être en Cluster apporte son lot de différence. La ressource disque n'étant pas dans les dépendances de la ressource SQL Server, impossible d'attacher une nouvelle base sur ce disque.
    Voici l'erreur obtenu :
    Msg 5184, Level 16, State 2, Line 1
    Impossible d'utiliser le fichier 'M:\EPU\FICHIER_Data.MDF' pour un serveur cluster. Seuls les fichiers formatés pour lesquels la ressource cluster du serveur possède une dépendance peuvent être utilisés. La ressource de disque contenant le fichier n'est pas présente dans le groupe de clusters ou la ressource de cluster de Sql Server n'a pas de dépendance sur celui-ci.
    Qui correspond à la KB : http://support.microsoft.com/kb/295732

    Bref je suis bon pour un arrêt total de la production dimanche, sauf si quelqu'un a une brillante idée. J'ai pensé à feinter la bête sans succès pour le moment et plus sérieusement en remettant tout tel quel au niveau du système de fichier puis une restauration de la base système. Je pense que cette opération un peu risquée et je redoute que le remède soit pire que la maladie.

    Qu'en pensez vous ?


    Note : je suis en SQL2005 SP2 sur un serveur 2003 64Bit en cluster

  20. #20
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    Hum... il faut faire très attention quand on est en cluster. Regarde dans la base de registres si tu trouve une référence de ton ancien nom de fichiers. Pour plusieurs choses, MSCS synchronise ses infos par la base de registres.

    CORRECTION : je n'ai rien dit, l'article de la KB donne la réponse.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 9
    Dernier message: 16/04/2013, 12h01
  2. fichier .mdf base de données sql server 2000 à 0Ko
    Par adel12 dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 15/03/2010, 18h01
  3. [SQL Server 2000] Comment renommer serveur
    Par tigrou2405 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 16/09/2008, 09h22
  4. [SQL SERVER 2000] comment renommer le serveur
    Par tafamilk dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 03/11/2006, 09h56
  5. Débutant : SQL Server 2000
    Par bd0606 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 27/10/2003, 11h33

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