Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Administration
Administration Forum d'entraide sur l'administration du dataserver, via SSM ou ligne de commande, les tables système, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/09/2008, 12h49   #1
Membre régulier
 
Inscription : février 2005
Messages : 283
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 283
Points : 84
Points : 84
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 :
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
apersonnat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2008, 13h32   #2
Membre Expert
 
Avatar de vtrone
 
Homme
Inscription : novembre 2005
Messages : 1 899
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : novembre 2005
Messages : 1 899
Points : 2 015
Points : 2 015
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.
vtrone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2008, 14h13   #3
Membre régulier
 
Inscription : février 2005
Messages : 283
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 283
Points : 84
Points : 84
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 :
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
apersonnat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2008, 14h17   #4
Expert Confirmé
 
Avatar de rudib
 
Inscription : mai 2006
Messages : 2 236
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mai 2006
Messages : 2 236
Points : 2 983
Points : 2 983
Envoyer un message via ICQ à rudib Envoyer un message via MSN à rudib
C'est bien ça.
__________________
Rudi Bruchez
Consultant indépendant
modélisation, administration, optimisation, formation,
solutions MS SQL Server et informatique libre.
MCDBA, MCITP, MCT, SCJP2 - http://www.babaluga.com/
Articles et tutoriels : http://rudi.developpez.com/
LIVRE : Optimiser SQL Server
rudib est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2008, 14h30   #5
Membre régulier
 
Inscription : février 2005
Messages : 283
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 283
Points : 84
Points : 84
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?
apersonnat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2008, 14h33   #6
Expert Confirmé
 
Avatar de rudib
 
Inscription : mai 2006
Messages : 2 236
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mai 2006
Messages : 2 236
Points : 2 983
Points : 2 983
Envoyer un message via ICQ à rudib Envoyer un message via MSN à rudib
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.
__________________
Rudi Bruchez
Consultant indépendant
modélisation, administration, optimisation, formation,
solutions MS SQL Server et informatique libre.
MCDBA, MCITP, MCT, SCJP2 - http://www.babaluga.com/
Articles et tutoriels : http://rudi.developpez.com/
LIVRE : Optimiser SQL Server
rudib est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2008, 14h37   #7
Membre régulier
 
Inscription : février 2005
Messages : 283
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 283
Points : 84
Points : 84
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 ;-)
apersonnat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2008, 14h39   #8
Expert Confirmé
 
Avatar de rudib
 
Inscription : mai 2006
Messages : 2 236
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mai 2006
Messages : 2 236
Points : 2 983
Points : 2 983
Envoyer un message via ICQ à rudib Envoyer un message via MSN à rudib
me souviens plus, mais au pire, version méchante :
Code :
ALTER DATABASE ma_base SET SINGLE_USER WITH ROLLBACK IMMEDIATE
__________________
Rudi Bruchez
Consultant indépendant
modélisation, administration, optimisation, formation,
solutions MS SQL Server et informatique libre.
MCDBA, MCITP, MCT, SCJP2 - http://www.babaluga.com/
Articles et tutoriels : http://rudi.developpez.com/
LIVRE : Optimiser SQL Server
rudib est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2008, 14h44   #9
Membre régulier
 
Inscription : février 2005
Messages : 283
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 283
Points : 84
Points : 84
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
apersonnat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2008, 15h01   #10
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 792
Points : 17 792
Le detach fait un ROLLBACK d'office.

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2008, 16h16   #11
Membre régulier
 
Inscription : février 2005
Messages : 283
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 283
Points : 84
Points : 84
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 ?
apersonnat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2008, 16h26   #12
Expert Confirmé
 
Avatar de rudib
 
Inscription : mai 2006
Messages : 2 236
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mai 2006
Messages : 2 236
Points : 2 983
Points : 2 983
Envoyer un message via ICQ à rudib Envoyer un message via MSN à rudib
Il ne le gère pas, ce n'est pas possible.
__________________
Rudi Bruchez
Consultant indépendant
modélisation, administration, optimisation, formation,
solutions MS SQL Server et informatique libre.
MCDBA, MCITP, MCT, SCJP2 - http://www.babaluga.com/
Articles et tutoriels : http://rudi.developpez.com/
LIVRE : Optimiser SQL Server
rudib est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2008, 16h39   #13
Membre régulier
 
Inscription : février 2005
Messages : 283
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 283
Points : 84
Points : 84
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 ?
apersonnat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2008, 16h40   #14
Membre Expert
 
Avatar de vtrone
 
Homme
Inscription : novembre 2005
Messages : 1 899
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : novembre 2005
Messages : 1 899
Points : 2 015
Points : 2 015
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.
vtrone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2008, 17h07   #15
Membre régulier
 
Inscription : février 2005
Messages : 283
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 283
Points : 84
Points : 84
Bah non justement dans mon post je demandais si le mode op était bien le suivant :

Code :
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 :
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 ;-)
apersonnat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2008, 17h12   #16
Expert Confirmé
 
Avatar de rudib
 
Inscription : mai 2006
Messages : 2 236
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mai 2006
Messages : 2 236
Points : 2 983
Points : 2 983
Envoyer un message via ICQ à rudib Envoyer un message via MSN à rudib
1/ Détacher la base
2/ Renommer physiquement le fichier
3/ Attacher la base


Il n'y a pas d'ALTER
__________________
Rudi Bruchez
Consultant indépendant
modélisation, administration, optimisation, formation,
solutions MS SQL Server et informatique libre.
MCDBA, MCITP, MCT, SCJP2 - http://www.babaluga.com/
Articles et tutoriels : http://rudi.developpez.com/
LIVRE : Optimiser SQL Server
rudib est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2008, 17h15   #17
Membre Expert
 
Avatar de vtrone
 
Homme
Inscription : novembre 2005
Messages : 1 899
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : novembre 2005
Messages : 1 899
Points : 2 015
Points : 2 015
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.
vtrone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2008, 17h24   #18
Membre régulier
 
Inscription : février 2005
Messages : 283
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 283
Points : 84
Points : 84
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 :
1
2
3
4
 
1/ Détacher la base 
2/ Renommer physiquement le fichier
3/ Attacher la base
Merci à tous pour votre réactivité ;-)
apersonnat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 10h14   #19
Membre éclairé
 
Inscription : mai 2008
Messages : 462
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 462
Points : 383
Points : 383
É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 :
Citation:
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
Mothership est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2008, 11h05   #20
Expert Confirmé
 
Avatar de rudib
 
Inscription : mai 2006
Messages : 2 236
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mai 2006
Messages : 2 236
Points : 2 983
Points : 2 983
Envoyer un message via ICQ à rudib Envoyer un message via MSN à rudib
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.
__________________
Rudi Bruchez
Consultant indépendant
modélisation, administration, optimisation, formation,
solutions MS SQL Server et informatique libre.
MCDBA, MCITP, MCT, SCJP2 - http://www.babaluga.com/
Articles et tutoriels : http://rudi.developpez.com/
LIVRE : Optimiser SQL Server
rudib est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h45.


 
 
 
 
Partenaires

Hébergement Web