Sql server 将SQL Server数据库文件夹移动到具有相同字母的不同驱动器以扩展C分区

Sql server 将SQL Server数据库文件夹移动到具有相同字母的不同驱动器以扩展C分区,sql-server,sql-server-2008-r2,Sql Server,Sql Server 2008 R2,我需要一些关于移动我的SQL Server文件的建议,这样我就可以扩展我的C:分区,因为它的可用空间不足。当前的大小是40GB 为了做到这一点,我需要未分配的空间,以该驱动器的权利,我有空间,但它是我的SQL数据库文件 D:\Program Files\ MSAS10_50.MSSQLSERVER MSRS10_50.MSSQLSERVER MSSQL10_50.MSSQLSERVER 及其子文件夹 我的想法是将D:缩减700GB,以创建100GB的空间

我需要一些关于移动我的SQL Server文件的建议,这样我就可以扩展我的
C:
分区,因为它的可用空间不足。当前的大小是40GB

为了做到这一点,我需要未分配的空间,以该驱动器的权利,我有空间,但它是我的SQL数据库文件

D:\Program Files\   
    MSAS10_50.MSSQLSERVER   
    MSRS10_50.MSSQLSERVER  
    MSSQL10_50.MSSQLSERVER
及其子文件夹

我的想法是将D:缩减700GB,以创建100GB的空间,我可以将剩余的700GB空间留给C:,然后生成一个F:,验证F:与D:具有相同的权限,停止所有SQL服务,并将所有数据从D:复制到F:

拷贝完成后,我计划将驱动器号D:更改为H:并将F:更改为D:并重新启动服务器。有人知道这是否可以做到吗?
服务器是Windows server is 2008 R2 Std和SQL server 2008 R2

这里有几个选项:

如果在您的分区和可用磁盘空间之间有其他分区(即在其右侧),则无法扩展它。 您只能在其右边紧跟空白时进行支出。 收缩第二个分区时,它将收缩到其右侧。它不会帮助您,因为它不会释放第二个分区左侧的空间

如果您有可能临时移除D,最简单的方法可能是:

  • 将数据的模式内容保存到临时磁盘
  • 删除D分区=>C右边的可用空间
  • 支出C
  • 添加一个新的D驱动器
  • 将数据从临时磁盘复制回磁盘D

另一个选择是,如果在D之后有空闲空间,可以在D之后创建第三个分区,并将其作为文件夹装入C。

我不明白为什么要将文件从D移动到F到D,但我认为这样做没有问题。使用SQL指令'sp_detach'和'sp_attach'Polux2,将一个文件移动到另一个磁盘并使SQL Server与新文件一起工作也很容易。我在C的右边没有未分配的空间,只有D,所以如果我收缩D,那么我需要移动数据,使未分配的空间靠近C以扩展C。