前言
默认情况下sql server的安装路径与数据库的默认存放路径是在c盘的--这就很尴尬。
平时又不注意,有天发现c盘的剩余空间比较吃紧了,于是着手想办法迁移文件夹。
一、环境准备
数据库版本--sql server 2008r2
数据库存放路径:
原路径:c:\program files\microsoft sql server\mssql10_50.mssqlserver\mssql\data
迁移后路径:d:\sqlserver
.ldf文件:数据库日志文件
.mdf文件:数据库文件
登录账户:
windwos身份验证:windwos本地账户,具有管理员权限
sql server身份验证:sa账户,具有管理员权限
二、设计思路
登录sql server----先备份数据库-----分离需要迁移的数据库-----进入数据库的源路径c盘---------------将数据库两个文件.ldf与.mdf剪切至其他磁盘中----再登录sql server----附加数据库
ps:登录数据库请使用windows身份验证,防止附加数据库后数据库变为只读权限
三、操作流程
1.登录sql server,使用ssms---widows身份验证,本地账户登录
2.右键点击一个数据库-----任务------备份数据库。避免突发情况,以防万一!
3. 再次右键点击一个数据库-----任务------分离数据库
勾选“删除链接”-----勾选“更新统计信息”
4.分离后,进入源路径c盘,将两个文件(.ldf与.mdf)剪切至d盘
5.再次登录sql server,继续使用windwos身份验证
(因为用sa用户去附加数据库的时候,会让数据库成为只读状态,所以能用windwos身份验证就用本地账户,因为权限的问题)
6.右键“数据库”--“附加”
“添加”--选择d盘刚才剪切过去的数据库.mdf文件--确定
7.完成后刷新就可以查看数据库文件位置变了,且权限,文件任何都完整的迁移过来
8.重复操作就可以把所有数据库迁移至其他盘
四、如果出现数据库为只读状态
因为迁移的时候用的sa用户,所以数据库文件的权限变了,因此变为只读状态,所以刚才一再提醒用windwos本地用户操作!
当然也有解决办法:
方案一:
碰到这中情况一般是使用的sa账户登录的,只要改为windows身份验证,再附加数据库即可搞定。
方案二:
使用sa登录sql server2008附加数据库,附加之后数据库为只读的,然后点数据库-->“属性”-->“选项”-->“状态”,发现“数据库为只读”这一项为true,改为false。
当然,大部分情况下不会成功。会继续报错下图。
这种情况下,找到你的数据文件和日志文件,右击“属性”-->“安全”,添加一个“network service”账户,然后赋予该账户完全控制的权限即可。
再次使用sa登录,附加数据库或者再次将“只读”状态修改即可。
总结
到此这篇关于sql server迁移之更换磁盘文件夹的文章就介绍到这了,更多相关sql server更换磁盘文件夹内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://www.cnblogs.com/subsea/p/13887942.html