首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不同位置添加另一个.mdf文件并向其中写入数据- SQL Server

如何在不同位置添加另一个.mdf文件并向其中写入数据- SQL Server
EN

Stack Overflow用户
提问于 2018-02-28 08:54:26
回答 2查看 268关注 0票数 0

我有一个巨大的SQL Server存档数据库(MISArchival):250 it,它位于一个只剩下30 it空间的E:\驱动器上。

我必须从生产管理信息系统数据库中清除/移出更多的数据到这个存档数据库(MISArchival)。

现在我有了另一个驱动器,它是I:\驱动器,有大约200 of的空间。

我的问题是:如何在I:\驱动器上创建/添加另一个.mdf文件,并确保下次将数据插入此存档数据库时,它将开始写入在I:\驱动器上创建的新.mdf文件,而不是E:\驱动器?

当前设置:

代码语言:javascript
复制
E:\Database\Data\BSP_MIS_Archived.mdf
E:\Database\Log\BSP_MIS_Archived.ldf

由于空间问题,我需要在不同位置放置另一个.mdf文件:

代码语言:javascript
复制
I:\Database\Data\BSP_MIS_Archived_2.mdf

谢谢

EN

回答 2

Stack Overflow用户

发布于 2018-02-28 09:05:26

很抱歉,您不能通过某些语句在文件之间移动对象。您需要自己移动数据。

首先,创建一个filegroup,并在新驱动器中添加一个新文件。

使用与原始文件组相同的脚本创建新表,但使用新文件组,使用insert/select comando或BCP/Bulk移动数据,然后将表重命名为sp_rename

最后,您需要对原始文件进行收缩。

如果你有更多的疑问,请添加评论。

票数 0
EN

Stack Overflow用户

发布于 2018-02-28 09:22:47

您可以从SSMS中的数据库属性或从代码添加数据文件:

代码语言:javascript
复制
use master;
go

ALTER DATABASE MISArchival
ADD FILE 
(
    NAME = MISArchival2,
    FILENAME = 'I:\Database\Data\BSP_MIS_Archived_2.ndf'
);
go

以下是一些需要注意的事情:

  • 通常辅助数据文件具有NDF扩展名,但这不是必需的
  • 如果您不创建单独的文件组,则额外的数据文件将放置在主
  • 中您需要考虑数据库

的适当初始大小、最大大小和增长要求

参考:MSSQL Documentation

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49020347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档