更改文件的文件组

时间:2013-05-16 17:46:39

标签: sql-server

在处理SQL Server时,我遇到了更改FileGroup File的问题。

假设我们使用以下sql代码创建数据库:

CREATE DATABASE Example
ON PRIMARY
(NAME = example_dat,
 FILENAME = 'D:\exmaple_dat.mdf',
 SIZE = 10,
 MAXSIZE = 50,
 FILEGROWTH = 15%), 
 (NAME = example_second_dat,
  FILENAME = 'E:\example_second_dat.ndf',
  SIZE = 10,
  MAXSIZE = 50,
  FILEGROWTH = 15%)
LOG ON
(NAME = exmaple_log,
 FILENAME = 'D:\example.log',
 SIZE = 5,
 MAXSIZE = 25,
 FILEGROWTH = 5MB)
GO

现在,我想添加文件组DataFileGroup并向其添加exmaple_datexample_second_dat

请给我一个解决方案。

提前致谢:)

2 个答案:

答案 0 :(得分:3)

您无法直接将文件移动到其他文件组,但以下链接提供了一些替代方案。

http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=146182

答案 1 :(得分:0)

在您的示例中,两个文件都在同一文件组中。有一个解决方案。您必须使用DBCC SHRINKFIL(example_second_dat,EMPTYFILE)命令将要更改的文件的所有内容转移到同一文件组的另一个文件中,然后删除该文件,同时备份DB和Log(或者最终将db recovery_model设置为simple) ,使用正确的文件组创建文件。