2010-06-16 6 views
0

Pouvons-nous déplacer le fichier par défaut vers un autre groupe de fichiers. exemple de code est donné ci-dessousFichiers et groupes de fichiers SQL Server 2005

Exemple de code

create database EMPLOYEE 
ON PRIMARY 
(
NAME = 'PRIMARY_01', 
FILENAME = 'C:\METADATA\PRIM01.MDF', 
SIZE = 5 MB , 
MAXSIZE =50 MB, 
FILEGROWTH = 2 MB), 
(
NAME = 'SECONDARY_02', 
FILENAME = 'C:\METADATA\SEC02.NDF' 
), 

FILEGROUP EMPLOYEE_dETAILS 
(
NAME = 'EMPDETILS_01', 
FILENAME = 'C:\METADATA\EMPDET01.NDF', 
SIZE = 5 MB , 
MAXSIZE =50 MB, 
FILEGROWTH = 2 MB), 
(
NAME = 'EMPDETILS_02', 
FILENAME = 'C:\METADATA\EMPDET02.NDF', 
SIZE = 5 MB , 
MAXSIZE =50 MB, 
FILEGROWTH = 2 MB) 

LOG ON 
(
NAME = 'TRANSACLOG', 
FILENAME ='c:\METADATA\TRAS01.LDF', 
SIZE = 5 MB , 
MAXSIZE =50 MB, 
FILEGROWTH = 2 MB 
) 
maintenant je veux déplacer le
FILENAME = 'C:\METADATA\SEC02.NDF' from deault primary file to the 
FILEGROUP EMPLOYEE_dETAILS ? 

ont besoin d'aider ??

Répondre

1

Cela ne peut pas être fait. Un groupe de fichiers «contiendra» un ou plusieurs fichiers, et ces fichiers hébergeront les données stockées dans le groupe de fichiers (comme je l'ai entendu) à la mode round robin - pensez aux données réparties uniformément entre tous les fichiers. Vous pouvez indiquer dans quel groupe de fichiers vos données seront stockées, mais vous n'avez aucun contrôle sur le fichier dans lequel des données seront écrites dans ce groupe de fichiers. Si vous déplacez un fichier d'un groupe de fichiers à un autre, vous déplacez une moitié aléatoire des données de ce groupe de fichiers vers un autre groupe de fichiers qui ne sait pas quoi faire et qui corrompra définitivement votre base de données.

Qu'essayez-vous vraiment de faire? Déplacer les données stockées dans un groupe de fichiers dans un autre groupe de fichiers? Supprimer un fichier d'un groupe de fichiers? Ajouter un fichier à un groupe de fichiers? (Le premier peut être réalisé en créant un nouvel objet dans le groupe de fichiers cible, en copiant les données, en supprimant l'ancien objet et en renommant le nouvel objet, les deux derniers peuvent être effectués via la commande ALTER DATABASE.)

Questions connexes