如何更改文件组位置?



我使用filetable在我的项目中存储文件。现在我想更改文件组位置并将其移动到另一个驱动器。我该怎么做呢?

有两种方式。

  1. 首先卸载数据库,移动文件,然后重新连接数据库
  2. 第二,在文件组中创建一个新文件,并使用命令DBCC SHRINKFILE(…)和EMPTY选项,然后删除空文件

第一个:

EXEC sp_detach_db 'MyDatabase';
--> move the file with a system command
CREATE DATABASE MyDatabase 
ON FILE (FILENAME = '...',
FILENAME = '...',
...
)
FOR ATTACH; 

第二

ALTER DATABASE MyDatabase 
ADD FILE (NAME = '...',
FILENAME = '...',
SIZE = ... GB,
FILEGROWTH = 64 MB)
TO FILEGROUP ...; --> the same filegroupe
DBCC SHRINKFILE ( '...', EMPTYFILE);
ALTER DATABASE MyDatabase 
REMOVE FILE '...';

第一个需要将数据库设置为离线,第二个不需要,但会阻塞对移动文件中的表和索引的所有访问。

相关内容

  • 没有找到相关文章