2010-06-16 88 views
0

我們可以將默認文件移動到另一個文件組。下面文件和文件組sql server 2005

示例代碼示例代碼給出

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 
) 
現在我想移動
FILENAME = 'C:\METADATA\SEC02.NDF' from deault primary file to the 
FILEGROUP EMPLOYEE_dETAILS ? 

需要幫助?

回答

1

這是無法完成的。一個文件組將「包含」一個或多個文件,並且這些文件託管存儲在文件組中的數據(或者我聽說過)循環方式 - 將數據視爲均勻分佈在所有文件之間。您可以指定將數據存儲在哪個文件組中,但無法控制該文件組中的哪個文件將被寫入任何特定的數據位。如果您以某種方式將文件從一個文件組移動到另一個文件組,您將會將該文件組數據的一半隨機移動到另一個不知道如何處理它的文件組,這會永久損壞您的數據庫。

你究竟在做什麼?將存儲在文件組中的數據移動到另一個文件組中?從文件組中刪除文件?將文件添加到文件組? (第一個可以通過在目標文件組中創建一個新對象,複製數據,刪除舊對象,重命名新對象來完成;後兩個可以通過ALTER DATABASE命令完成。)