Renommer la base de données fichier de données dans SQL Server 2005
J'ai besoin de renommer une base de données fichier de données. Est-ce possible à l'aide de SQL Server Management Studio?
Pour info, je n'ai pas les autorisations pour le sous-zone.
Edit: j'ai aussi besoin de changer l'emplacement du fichier.
Vous devez vous connecter pour publier un commentaire.
Oui, vous pouvez le faire, aussi longtemps que vous avez le droit de détacher et rattacher la base de données, et aussi longtemps que vous trouverez un moyen de physique de renommer les fichiers sur le disque:
1) les problèmes de ces commandes
(comme DGGenuine souligné dans un commentaire: le " votre nouveau fichier sur le disque.mdf " doit être un nom de fichier complet - y compris le chemin d'accès sur votre disque dur)
2) détacher la base de données
3) renommer les fichiers sur le disque
4) ré-attacher la base de données à nouveau
Vous pouvez le faire sans les autorisations sur les sous-jacents au système de fichiers, car vous n'êtes pas le déplacement d'un fichier physique, vous vous demandez SQL Server pour générer un nouveau fichier sur votre nom et copier des données à partir de la sauvegarde.
Pour définir les nouveaux noms de fichiers et les chemins d'accès, allez à l'onglet Options de la fenêtre de Restauration. Vous obtenez même un dossier de parcourir de la boîte de dialogue qui vous montre SQL Server de vue du système de fichiers, pas le vôtre.
Autorisations minimales requises pour cette procédure:
db_backupoperator
rôle dans la base de donnéesdbcreator
rôle dans le serveurEssayer:
Cela ne fera que modifier interne SQL Server définition du nom de fichier, elle ne va pas changer le nom du fichier dans le fichier du système d'exploitation du système.
vous pouvez utiliser sp_detach_db de prendre la base de données en mode hors connexion. trouver les fichiers et de les renommer, les déplacer quoi que ce soit. ensuite, utilisez sp_attach_db à les rattacher à partir d'un nouvel emplacement. c'est la façon dont je le fais quand même.
meilleures salutations,
ne
Oui et Non. Vous pouvez modifier le fichier de base de données de l'objet nom de fichier:
Cela permettra de mettre à jour le catalogue principal de sorte qu'au premier abord à côté de la base de données événement open le nouveau nom de fichier sera recherché. Mais il n'y a pas de moyen direct de renommer/déplacer le fichier dans Transact-SQL.
Vous pouvez toutefois utiliser xp_cmdshell pour renommer le fichier, ou vous pouvez déployer un assembly CLR avec EXTERNAL_ACCESS activé qui peut faire le changement de nom de fichier/opération de déplacement.
Exécuter ce dans SSMS en mode texte pour obtenir un script T-SQL et les commandes ms-DOS qui va renommer tous vos .ndf fichiers. Il suppose que vous voulez que vos fichiers avec le même nom que vos groupes de fichiers moins un "FG_' préfixe que j'aime utiliser sur mes groupes de fichiers.
Acclamations.
Être prudent lorsque vous utilisez l'option Renommer du menu contextuel qui apparaissent lorsque vous cliquez du bouton droit sur la base de données dans Management Studio. Cette option ne modifie pas la base de données des noms de fichier. Pour changer de logique des noms de fichiers pour les DONNÉES et les fichiers JOURNAUX vous pouvez également utiliser un Management Studio interface, mais malheureusement, parfois, il ne fonctionne pas.
Nous allons le faire correctement... il fonctionne toujours.
À l'aide de Management Studio, cliquez-droit sur la base de données > aller sur “Tâches” > “Détacher”, cliquez sur OK pour détacher une base de données (remarque: le DB ne peut pas être utilisé pour la détacher)
Fixation de la base de données avec un Nouveau Nom: d'utilisation T SQL:
UTILISEZ [master]
CRÉER une BASE de données [SqlAndMe] SUR
( FILENAME = N’C:\...\NewName.mdf’),
( FILENAME = N’C:\...\NewName_log.LDF’)
POUR JOINDRE
Renommer les noms de fichier Logique: Exécuter ce T-SQL:
UTILISEZ [NewName]
ALTER DATABASE [NewName]
MODIFIER le FICHIER (NOM=N'OldName’, NEWNAME=N'NewName’)
ALTER DATABASE [NewName]
MODIFIER le FICHIER (NOM=N'OldName_log’, NEWNAME=N'NewName_log’)
SELECT nom, physical_name
À PARTIR de [NewName].sys.database_files
Il devrait fonctionner!
Voici un exemple de code pour la réponse de marc_s:
Après le changement de nom de ma base de données de Test, de TestSimple, j'ai voulu renommer ses fichiers.
La suite travaillé pour le fichier journal. (Pour le fichier principal, la = NOM de la partie est devenue Test, et j'ai remplacé le chemin que je voulais pour ce fichier.)
Ci-dessus changé ce que les fichiers de SSMS recherche, mais il ne fait pas de renommer les fichiers. J'ai donc dû le faire via Windows.
Après nous renommer la base de données, si nous voulons changer les données et les fichiers de log nom aussi, on pourrait utiliser les étapes suivantes:
1.
2.
3.
Changer de nom de fichier dans windows server
4.