zoukankan      html  css  js  c++  java
  • 利用SQL Server Management Studio(SSMS)复制数据库

    利用SQL Server Management Studio(SSMS)复制数据库

    标签(空格分隔): SQLServer


    前言

    今天由于客户购买的软件版本确认了,而之前进行开发的本地数据库版本较低,打算复制一份开发数据库,升级为客户软件版本的数据库再进行后续开发。以前做这种事情一般都是在不同的数据库实例上进行,一直都是使用备份——恢复的方法,今天这次是在同一个实例上,我就在想强大的SSMS有没有向导式的复制数据库方法呢?

    看似美好的开始

    找到复制数据库的过程很简单,在SSMS上右击数据库就能在任务里找到复制数据库的选项,点开进入了非常友好的图形化操作界面。

    依次选择源数据库服务器与目标数据库服务器,和SSMS的任务差不多,看来跨服务器复制数据库也并不复杂,点击下一步,提示

    行,那就去SQL Server配置管理器(SQL Server Configuration Manager)打开SQL Server代理(也可以在系统服务中打开)。打开之后可以正常进入下一步了,注意有警告,由于是警告且是开发环境,先试试忽略警告看能不能行。

    选择目标数据库的名称与实体位置,然后接下来就是一路下一步(中间可以选择输出到Windows日志,我试过不选的时候可以在SQL Server日志看到结果,选了之后就只能在Windows日志中看了)

    果不其然的失败,并无波折的成功

    果不其然,失败了,回去看忽略的警告
    “若要使用分离和附加方法,运行SQL Server代理作业时所使用的Integration Services代理账户必须可以访问源服务器和目标服务器的文件系统”

    OK,观察一下SQL Server代理的用户(在SQL Server配置管理器可以看到,同样可以在系统服务中查到)是NT SERVICESQLSERVERAGENT。
    在SSMS的安全性——用户名中可以找到该用户,点开用户属性,发现只有sysadmin和public角色,没有diskadmin角色

    本来勾上diskadmin角色,应该就可以了,但是由于我对SQL Server代理了解不深,既然安装默认没有选那就保持原样吧,而数据库复制也不常用,我把Server代理的用户暂时改成本地用户重新执行复制。


    OK,复制成功。重新再把SQL Server代理的用户改回NT SERVICESQLSERVERAGENT。

  • 相关阅读:
    手把手带你玩转 DialogFragment
    紧张的去京东面试7,没想到可以成功拿下offer
    这个有点强,MySQL常用优化指南及大表优化思路(值得收藏)
    Java程序员两年经验斩获头条 Offer,技术杠杠的
    为什么大家都说 SELECT * 效率低
    Java程序员想要靠外包刷题,结果却大跌眼镜,心态都崩了
    一次请求在SpringMVC核心执行流程
    工作三年经验,一年内我靠这份javaBAT进阶面试题从13K到大厂25K
    用了这么久的数据库连接池,你知道原理吗?
    poj 3295 Tautology(栈)
  • 原文地址:https://www.cnblogs.com/mirageJ/p/8479294.html
Copyright © 2011-2022 走看看