我有一个巨大的SQL Server存档数据库(MISArchival):250 it,它位于一个只剩下30 it空间的E:\驱动器上。
我必须从生产管理信息系统数据库中清除/移出更多的数据到这个存档数据库(MISArchival)。
现在我有了另一个驱动器,它是I:\驱动器,有大约200 of的空间。
我的问题是:如何在I:\驱动器上创建/添加另一个.mdf文件,并确保下次将数据插入此存档数据库时,它将开始写入在I:\驱动器上创建的新.mdf文件,而不是E:\驱动器?
当前设置:
E:\Database\Data\BSP_MIS_Archived.mdf
E:\Database\Log\BSP_MIS_Archived.ldf由于空间问题,我需要在不同位置放置另一个.mdf文件:
I:\Database\Data\BSP_MIS_Archived_2.mdf谢谢
发布于 2018-02-28 09:05:26
很抱歉,您不能通过某些语句在文件之间移动对象。您需要自己移动数据。
首先,创建一个filegroup,并在新驱动器中添加一个新文件。
使用与原始文件组相同的脚本创建新表,但使用新文件组,使用insert/select comando或BCP/Bulk移动数据,然后将表重命名为sp_rename
最后,您需要对原始文件进行收缩。
如果你有更多的疑问,请添加评论。
发布于 2018-02-28 09:22:47
您可以从SSMS中的数据库属性或从代码添加数据文件:
use master;
go
ALTER DATABASE MISArchival
ADD FILE
(
NAME = MISArchival2,
FILENAME = 'I:\Database\Data\BSP_MIS_Archived_2.ndf'
);
go以下是一些需要注意的事情:
的适当初始大小、最大大小和增长要求
https://stackoverflow.com/questions/49020347
复制相似问题