SQL Server 2012主从服务器。
线上有一台sqlserver服务器,因为里面的数据比较重要,之前一直没做灾备,为了确保数据安全,跟部门领导和开发负责人量过后,决定新购一台服务器,然后
部署一台sqlserver从服务器用于灾备
搭建环境:
服务器:云服务器Windows server 2008 r2企业版
主服务器因为跑了其他程序配置是(4核16G)
新购备服务器,只跑一个sqlserver,所以只配置了(2核4G)
数据库:SQL Server 2012
因为之前没过多接触过sqlserver,所以先上百度搜了很多资料借鉴。然后整理出思路:
首先在两台服务器上创建Windows用户和sqlserver用户,两个的用户名保持一致:sqluser 并把sqlserver所有代理用户都设置成sqluser
然后在两台服务器上创建文件夹 DBback 文件夹设置共享,用户sqluser有所有权限
最后在主服务器上设置辅助服务器,然后用DBback文件同步日志
1创建用户 sqluser(两台服务器都需要创建):
win + r 打开程序运行框输入: lusrmgr.msc
创建新用户sqluser
设置用户隶属于超级管理员用户
在cmd命令行里输入 net localgroup administrators 查看是否设置成功
2创建共享文件夹DBback 设置sqluser用户读写权限
快速查找用户的方法,Windows和sqlserver代理上面都能这样查找用户,后面也会用到:
确保sqluser有绝对控制权
设置完成之后在两台服务器上互相登录网络共享文件夹:
win + r 输入 \\ip地址\文件名 可以打开就是成功了。
因为我做系统运维,平常都是用Linux系统,所以斜杠都是用 / 可Windows里面都是用 \ 一定要注意
Windows环境基本搞定,下面开始配置sqlserver
3配置sqlserver配置管理器
把两个服务都设置成本地用户 sqluser
启动模式选择自动
!!!重点注意!!!
设置完这个之后点确定,这里会需要你重启数据库,如果是线上数据库一定要跟开发沟通好重启的时间,要不然影响业务了你就准备背锅。
然后还有一个SQL Server Browser,这个协议的解释是用于一台服务器起多实例sqlserver用的,端口是1434。官网有个文档里面,写了远程连接数据库可能需要打开这个,所以我就直接打开了,因为主数据库需要远程连接从数据库进行数据初始化。这个协议需要先把Windows服务器上的禁用取消才可以开启,操作很简单,我就不上图了,但是切记启动用户最好设为sqluser 还有一个msdtc服务,如果连接不通数据库的话也是需要打开的。
上面这几部都是主从服务器上都需要操作的。
4sqlserver主服务器上设置辅助服务器:
登录sqlserver后,右键点击服务器名称,然后选择属性,设置代理账号为sqluser
5重点来了:在住服务器上设置库的辅助数据库
恢复模式选择完整
这边需要注意的是两个网络路径的选择,第一个路径是从服务器网络共享文件夹的网络连接路径,第二个路径是从服务器文件夹在Windows中的路径。!!!切记是从服务器的路径。
辅助服务器连接这边建议用Windows身份认证,也就是sqluser用户,我这边是弄了好久都接不通,所以干脆用SQLserver用户了,ip加端口方式
辅助服务器的库可以不用写名字,也可以自己写一个 方便记忆就好,还原选项中数据文件和日志的路径是你从服务器上sqlserver中data库里面对应的路径,记住是从服务器,不是主服务器
这里写入从服务器上的共享文件夹
事务日志的同步时间
上面好了就点确定,然后选择将配置脚本保存到文件,这个文件自己选择就好。然后点确定就可以执行了
然后再点确定就会执行了。等执行完之后,再在主服务器上建一个表,等几分钟再看看从服务器上数据库上看这个表有没有同步过来
以上是我参照很多文档然后自己搭建整理的文档,以供大家参考交流,如果有侵权的地方,请联系我删除。谢谢!