zoukankan      html  css  js  c++  java
  • SQL SERVER迁移--更换磁盘文件夹

    默认情况下SQL SERVER的安装路径与数据库的默认存放路径是在C盘的--这就很尴尬。

    平时又不注意,有天发现C盘的剩余空间比较吃紧了,于是着手想办法迁移文件夹。

    一、环境准备

    数据库版本--SQL SERVER 2008R2

    数据库存放路径:

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

    迁移后路径: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登录,附加数据库或者再次将“只读”状态修改即可。

    始终相信美好的事情即将发生
  • 相关阅读:
    iOS 键盘自适应(IQKeyboardManager)使用小结
    GitHub error “Failed to get HEAD”
    Java 8 VM GC Tuning Guide Charter2
    Java 8 VM GC Tuning Guide Charter3-4
    java中加密解密工具类
    effactive java读书小结1
    RESTful风格的SSM框架搭建
    关于“Could not open ServletContext resource [/WEB-INF/applicationContext.xml]”解决方案
    HttpPutFormContentFilter 和 ContextLoaderListener 讲解
    mybatis-spring 项目简介
  • 原文地址:https://www.cnblogs.com/subsea/p/13887942.html
Copyright © 2011-2022 走看看