SQL Server 数据库文件路径迁移步骤

您所在的位置:网站首页 sqlserver数据库修改数据 SQL Server 数据库文件路径迁移步骤

SQL Server 数据库文件路径迁移步骤

2024-07-14 12:54| 来源: 网络整理| 查看: 265

一、使用背景

    实际项目中,经常由于数据库服务器磁盘空间不足,导致现场数据无法及时入库,引发系统无法访问的问题,这种情况一般是清理服务的磁盘空间,主要有,删除不必要的日志、备份文件或不必要的软件等;但是,对于数据库服务器而言,除了必要的软件外,一般不在安装其他软件,保存的基本上为现场数据文件,所以,针对这种情况,一般我们只能做数据迁移,迁移至空间更大的磁盘或者其他服务器中。这里以SQL Server数据为例,简要说明涉及到的步骤。

二、实现步骤 1.更改数据库实例(含数据文件和日志文件)的保存路径

使用SQL Server自带的连接工具,SQL Server Management Studio,连接后,在连接名处,右击,选择“属性”,在属性框,定位至“数据库设置”选项卡,在“数据库默认位置”设置新的路径,如下图:

点击“确定”,保存修改,此时,会及时生效,不需要重启服务;

2.更改用户数据库(含数据库文件和日志文件)的保存路径 a)新建查询语句,分别输入以下命令,查询用户数据库存储位置

select database_id,name,physical_name AS CurrentLocation,state_desc,size from sys.master_files 

where database_id=db_id(N'prd_poms');

其中,prd_poms表示用户自己定义的数据库名称,该语句用于查询,prd_poms数据库的数据文件和日志文件的名称,以及对应的路径,便于后续步骤使用。

查询结果可能如下图:

b)更改用户数据库的保存路径

输入以下语句:

alter database prd_poms modify file ( name = prd_poms, filename = 'D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\prd_poms.mdf');

alter database prd_poms modify file ( name = prd_poms_log, filename = 'D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\prd_poms_log.ldf');

上述语句中,粗体红色的部分为数据库的名称,与步骤a)中的数据库名称一致,斜体红色部分对应步骤a)中查询的结果,分别表是文件名称,而红色斜体黄色背景部分为,文件更改后最终需要保存的路径。

c)执行后,在文件正确的情况下,会提示修改成功。

注:由于SQL Server数据库还有系统数据库,因此,还需要对系统数据库按照上述步骤做同样的修改,这里不再累述。

3.修改完成后,需要重启数据库服务,才能使设置生效。

      a)暂定数据库服务,打开SQL Server 配置管理器(数据库自带工具),找到SQL Server服务,停止服务,如下图:

或者直接在系统的“服务”中,找到SQL Server服务,停止服务也OK。

    b)停止数据库服务后,要确保新的路径已经存在,否则会导致数据库无法启动,以及其他异常。所以,没有的路径,请新建路径。再将原来数据库文件(含数据和日志文件)均复制到新的目录中。注:数据库服务必须要停止,否则无法复制相关文件。

   3.重启数据库服务,使所有配置生效

 

三、出现的问题

若出现无法启动的情况,且从系统的“事件查看器”中,发现原因为:

                   “FCB::Open failed: 无法打开文件号 1 的文件”之类报错信息,解决方式如下:

                   找到SQL Server服务,右击,选择“属性”,如图:

在弹框的“登录”选项卡中,选择“本地账户”登录,保存,如下图

再次启动SQL Server服务,即可成功。

四、全部sql

下面写上一些sql语句:

查询系统数据库数据和日志文件存储路径:

select database_id,name,physical_name AS CurrentLocation,state_desc,size from sys.master_files 

where database_id=db_id(N'master');

 

select database_id,name,physical_name AS CurrentLocation,state_desc,size from sys.master_files 

where database_id=db_id(N'model');

 

select database_id,name,physical_name AS CurrentLocation,state_desc,size from sys.master_files 

where database_id=db_id(N'msdb');

 

select database_id,name,physical_name AS CurrentLocation,state_desc,size from sys.master_files 

where database_id=db_id(N'tempdb');

更改系统数据库和日志文件存储路径:

alter database master modify file ( name = master, filename = 'F:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\master.mdf'); alter database master modify file ( name = mastlog, filename = 'F:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\mastlog.ldf');

alter database model modify file ( name = modeldev, filename = 'F:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\model.mdf'); alter database model modify file ( name = modellog, filename = 'F:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\modellog.ldf');

alter database msdb modify file ( name = MSDBData, filename = 'F:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\MSDBData.mdf'); alter database msdb modify file ( name = MSDBLog, filename = 'F:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\MSDBLog.ldf');

alter database tempdb modify file ( name = tempdev, filename = 'F:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\tempdb.mdf'); alter database tempdb modify file ( name = templog, filename = 'F:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\templog.ldf');

 

查询用户数据库数据和日志文件存储路径

select database_id,name,physical_name AS CurrentLocation,state_desc,size from sys.master_files   where database_id=db_id(N'prd_acs');

 

更改用户数据库和日志文件存储路径:

alter database prd_acs modify file ( name = prd_acs, filename = 'F:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\prd_acs.mdf'); alter database prd_acs modify file ( name = prd_acs_log, filename = 'F:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\prd_acs_1.ldf');

 

 

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3