数据库偶尔需要修改数据的存储位置,这里针对MSSQL和MySQL两种数据库说明方法
先说MSSQL
1、停止MSSQL的所有相关服务
WIN+R -- services.msc -- 将所有SQL打头的服务全部关闭
2、使用xcopy命令将原数据库存储文件拷贝到目的位置
3、修改注册表,其中xxxxxxxxxxxxxxxx表示目的位置
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.MSSQLSERVER\CPE]
"ErrorDumpDir"="xxxxxxxxxxxxxxxx\\LOG\\"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQLServer]
"BackupDirectory"="xxxxxxxxxxxxxxxx\\Backup"
"DefaultData"="xxxxxxxxxxxxxxxx\\DATA"
"DefaultLog"="xxxxxxxxxxxxxxxx\\DATA"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQLServer\Parameters]
"SQLArg0"="-dxxxxxxxxxxxxxxxx\\DATA\\master.mdf"
"SQLArg1"="-exxxxxxxxxxxxxxxx\\Log\\ERRORLOG"
"SQLArg2"="-lxxxxxxxxxxxxxxxx\\DATA\\mastlog.ldf"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.MSSQLSERVER\Replication]
"WorkingDirectory"="xxxxxxxxxxxxxxxx\\repldata"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.MSSQLSERVER\Setup]
"SQLDataRoot"="xxxxxxxxxxxxxxxx"
"FullTextDefaultPath"="xxxxxxxxxxxxxxxx\\FTData"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.MSSQLSERVER\SQLServerAgent]
"ErrorLogFile"="xxxxxxxxxxxxxxxx\\Log\\SQLAGENT.OUT"
"WorkingDirectory"="xxxxxxxxxxxxxxxx\\JOBS"
4、启动MSSQL的所有相关服务,启动MSSQL,执行alter database命令
--查看当前的存放位置
select database_id,name,physical_name AS CurrentLocation,state_desc,size from sys.master_files
where database_id=db_id(N'数据库名');
--修改文件的存放位置下次启动生效
--testDb为数据库名,
alter database 数据库名 modify file ( name = 文件名(不包含后缀), filename = '文件存储路径');
alter database 数据库名 modify file ( name = 文件名(不包含后缀), filename = '文件存储路径');
eg.
alter database testDb modify file ( name = testDb, filename = 'G:\SQL_DATA\testDb\testDb.mdf');
alter database testDb modify file ( name = testDb_log, filename = 'G:\SQL_DATA\testDb\testdb_log.ldf');
--修改默认的数据库文件存放位置(即时生效)
EXEC xp_instance_regwrite
@rootkey='HKEY_LOCAL_MACHINE',
@key='Software\Microsoft\MSSQLServer\MSSQLServer',
@value_name='DefaultData',
@type=REG_SZ,
@value='E:\MSSQL_MDF\data'
GO
--修改默认的日志文件存放位置(即时生效)
EXEC master..xp_instance_regwrite
@rootkey='HKEY_LOCAL_MACHINE',
@key='Software\Microsoft\MSSQLServer\MSSQLServer',
@value_name='DefaultLog',
@type=REG_SZ,
@value='E:\MSSQL_MDF\log'
GO
5、重启MSSQL
再说MySQL
1、停止MySQL的所有相关服务
WIN+R -- services.msc -- 将所有MySQL打头的服务全部关闭
2、使用xcopy命令将原数据库存储文件拷贝到目的位置
3、搜索注册表中“my.ini”,找到my.ini的位置
4、my.ini中basedir是MySQL的安装目录,datadir是MySQL的数据文件存储目录
5、启动MySQL的所有相关服务,重启MySQL