我们可以将默认文件移动到另一个文件组。示例代码如下:
示例代码
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 ?
需要帮助??
答案 0 :(得分:1)
这不可能。文件组将“包含”一个或多个文件,这些文件托管文件组中存储的数据(或者我听说过)循环方式 - 将数据视为在所有文件之间均匀分布。您可以指定存储数据的文件组,但无法控制该文件组中的哪个文件将写入任何特定位数据。如果您以某种方式将文件从一个文件组移动到另一个文件组,那么您将把该文件组数据的随机一半移动到另一个不知道如何处理它的文件组,这将永久性地破坏您的数据库。 / p>
你到底想要做什么?将存储在文件组中的数据移动到另一个文件组中?从文件组中删除文件?将文件添加到文件组? (第一种方法可以通过在目标文件组中创建一个新对象,复制数据,删除旧对象,以及重命名新对象来完成;第二个可以通过ALTER DATABASE命令完成。)