SqlServer更换数据库磁盘目录的具体步骤

码农公社  210.net.cn   210是何含义?10月24日是程序员节,1024 = 210、210既 210 之意。

默认情况下SQL SERVER的安装路径与数据库存放路径都是在C盘的,如此的话就有隐患。  

某天,发现C盘的剩余空间所剩无几了,数据库也奇慢无比+各种报错!

咋办?更换数据库磁盘目录算是最可行的办法了。


一、环境准备  

数据库版本--SQL SERVER 2008R2  

数据库存放路径:  

原路径:C:Program FilesMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLDATA  

迁移后路径:D:SQLSERVER  

.LDF文件:数据库日志文件  

.MDF文件:数据库文件  

登录账户:  windwos身份验证:windwos本地账户,具有管理员权限  

SQL SERVER身份验证:sa账户,具有管理员权限


二、设计思路  

登录SQLSERVER----先备份数据库-----分离需要迁移的数据库-----进入数据库的源路径C盘----将数据库两个文件.ldf与.mdf剪切至其他磁盘中----再登录SQL SERVER----附加数据库  

ps:登录数据库请使用windows身份验证,防止附加数据库后数据库变为只读权限  

三、操作流程  

  1. 登录SQL SERVER,使用SSMS---widows身份验证,本地账户登录

    1.jpg

  2. 右键点击一个数据库-----任务------备份数据库。避免突发情况,以防万一!

    1.jpg

  3. 再次右键点击一个数据库-----任务------分离数据库

    勾选“删除链接”-----勾选“更新统计信息”

    1.jpg

  4. 分离后,进入源路径C盘,将两个文件(.ldf与.mdf)剪切至D盘

    1.jpg

  5. 再次登录SQL SERVER,继续使用windwos身份验证

    (因为用SA用户去附加数据库的时候,会让数据库成为只读状态,所以能用windwos身份验证就用本地账户,因为权限的问题)

    1.jpg

  6. 右键“数据库”--“附加”

    “添加”--选择D盘刚才剪切过去的数据库.mdf文件--确定

    1.jpg

    1.jpg

  7. 完成后刷新就可以查看数据库文件位置变了,且权限,文件任何都完整的迁移过来

    1.jpg

  8. 重复操作就可以把所有数据库迁移至其他盘


四、如果出现数据库为只读状态

因为迁移的时候用的SA用户,所以数据库文件的权限变了,因此变为只读状态,所以刚才一再提醒用windwos本地用户操作!  

不过,也有解决办法:


方案一: 

碰到这中情况一般是使用的sa账户登录的,只要改为Windows身份验证,再附加数据库即可搞定。  


方案二:  

使用sa登录SQL Server2008附加数据库,附加之后数据库为只读的,然后点数据库-->“属性”-->“选项”-->“状态”,发现“数据库为只读”这一项为True,改为false。  

当然,大部分情况下不会成功。会继续报错下图。

1.jpg


这种情况下,找到你的数据文件和日志文件,右击“属性”-->“安全”,添加一个“Network Service”账户,然后赋予该账户完全控制的权限即可。  

再次使用sa登录,附加数据库或者再次将“只读”状态修改即可。

评论