将Sql Server迁移到Always on集群 - 账号的同步
Always on环境的建立,网上资料很多,主要是windows集群的建立以及Sql Server Always on的建立,略
容易忽略的是Sql server账号同步问题(Always on能实现数据库内部的同步,但是没法实现instance级别的同步,比如job、账号等)
下面来说说几种解决方式:
- SQL账号采用域账号,让IIS运行于域账号下
- 如果现状下的本地sql账号较少的话还好,否则推行困难,而且还要加入域
- SQL账号采用域账号,让IIS运行于本地账号下,但是在web.config或machine.config中配置模拟账号
- 基本上与第一种相同
- SQL账号采用本地账号,客户端连接字符串采用user/pwd方式连接,并且在windows集群中增加一个通用服务,目的是当主sql server服务迁移到另外一台服务器后执行一段sql脚本,这段脚本的作用是重新map本地sql账号与db的权限关系
- 需要与集群的通用服务一起考虑
- 需要自己写脚本,下载
- 麻烦
- SQL账号采用本地账号+域账号公用方式,域账号权限关联到数据库,并且设置本地sql账号拥有模拟域账号权限,同时客户端使用user/pwd方式连接,并且还需要修改框架:让每次执行sql操作时先执行切换上下文用户:EXECUTE AS LOGIN 'domain\user1'
- 麻烦点转移到了框架级别:C#的SqlHelper等需要注入一行SQL来模拟域账号
- 配置也麻烦
- SQL账号采用本地账号,但是账号的建立不是直接建立,步骤:从源SQL服务器上导出带SID的脚本,然后在Always on数据库中导入带SID的脚本
- 初次时运行
- 增加user时,也需要运行
- 无需域账号
- 对客户端没影响
- 这里的脚本用法说明
- 使用Always on插件,不成熟,也不清楚能否自动同步
- sqlskills.com插件
- 能实现user、job、User-defined Server Roles的同步
- 都是第三方的,不敢用
- sqlskills.com插件
- 使用Contained Database,这种数据库能将login user/pwd包含于db级别中,但是连接的时候必须指定具体数据库名,否则无法建立连接
- sql 2012开始支持包含的数据库
- 如果数据库不多,这种最好
- 缺点是如果每个db的账号多了,同步、维护这些账号比较麻烦
性能方面的思考:
- 采用了Always on后,所有的提交行为都由Master SQL来处理,因此Master的CPU占用很高(考虑到1台master,5台slave, 并且设置了3台提交成功才算整体的提交成功),而Slave的CPU几乎闲置。因此最好是用读写分离来连接侦听器IP(写入)、以及读取IP(哈西算法)
- 主要功能是HA+中等的性能考虑
- 不适用于非常高并发的场景(还是得拆分库,或者写DAL)
将Sql Server迁移到Always on集群 - 账号的同步的更多相关文章
- SQL Server上唯一的数据库集群:负载均衡、读写分离、容灾(数据零丢失、服务高可用)
SQL Server上唯一的数据库集群:负载均衡.读写分离.容灾(数据零丢失.服务高可用).审计.优化,全面解决数据库用户问题.一键安装,易用稳定,性价比高,下载链接:http://www.zheti ...
- SQL Server 2016 + AlwaysOn 无域集群
目录 AlwaysOn 搭建 WSFC 配置计算机的 DNS 后缀 安装故障转移集群 验证集群 创建集群 创建文件共享见证 配置 AlwaysOn 新建可用性组 创建侦听器 可读副本的负载均衡 主角色 ...
- SQL SERVER 2016 AlwaysOn 无域集群+负载均衡搭建与简测
之前和很多群友聊天发现对2016的无域和负载均衡满心期待,毕竟可以简单搭建而且可以不适用第三方负载均衡器,SQL自己可以负载了.windows2016已经可以下载使用了,那么这回终于可以揭开令人憧憬向 ...
- SQL Server技术内幕笔记合集
SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...
- 从 Microsoft SQL Server 迁移到 Oracle
来源于:http://www.oracle.com/technetwork/cn/database/migration/sqlserver-095136-zhs.html Oracle SQL Dev ...
- SQL Server里如何随机记录集
今天的文章,我想给你简单介绍下SQL Server里如何随机记录集. SELECT * FROM Person.Person ORDER BY NEWID() GO 这会引入新的UNIQUEIDENT ...
- 从Microsoft SQL Server迁移到MySQL指南
转自 https://www.mysql.com/why-mysql/white-papers/sql-server-to-mysql-zh/ 由于 MySQL 将节约成本.自由选择平台.特性丰富等优 ...
- MS SQL Server迁移至Azure SQL(官方工具)
前面,我有尝试过将MS SQL Server数据数据迁移至Azure SQL,请参考<MS SQL Server迁移至Azure SQL>,使用的是第三方工具,但现在官方更新了工具,我们尝 ...
- sql server迁移数据(文件组之间的互相迁移与 文件组内文件的互相迁移)
转自:https://www.cnblogs.com/lyhabc/p/3504380.html?utm_source=tuicool SQLSERVER将数据移到另一个文件组之后清空文件组并删除文件 ...
随机推荐
- Linux tar打包命令
Linux tar打包命令: 范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar [root@linux ~]# tar -cvf /tmp/etc.tar /etc < ...
- opengles2.0 学习笔记
- 指定图元顶点数据(亦称顶点属性) 顶点属性有常量顶点属性,和属性数组. 常量指的是所有的顶点都公用此属性.比如单色的三角形,则颜色属性对所有的顶点都一样. 通过命令glVertexAtrrib*f ...
- IMP数据到指定的表空间
IMP数据到指定的表空间 当我们通过imp导入dmp文件时,默认的情况下,数据会导入到exp出的dmp文件所对应的表空间里面. 比如:通过orcl_dev用户,exp数据,用orcl_test用户im ...
- 125 Valid Palindrome
public class Solution { public boolean isPalindrome(String s) { if(s==null) return false; s=s.toLowe ...
- pmcyg 1.0 发布,Cygwin 安装包创建工具
pmcyg 1.0 改进包列表中对 UTF-8 的支持. pmcyg是一种工具来创建自定义集合的Cygwin包 连同Cygwin安装程序.这使得创建独立的分布而无需镜整个组Cygwin包.例如,它可以 ...
- C#分布式缓存二:Asp.Net中使用Couchbase
前言 上一篇<C#分布式缓存一:Couchbase的安装与简单使用>主要讲解对Couchbase服务端的安装配置和客户端的引用调用,通过代码来完成最简单的实现调用.本次通过简单的配置,来完 ...
- ASP.NET MVC5 与EF6学习系列
最近学习使用MVC5和EF6,博客园搜索了一番,写下这篇文章记录,以便学习使用. 一.ASP.NET MVC5 网站开发 @洞庭夕照写的博客系列 ASP.NET MVC5 网站开发实践 - 概述 AS ...
- modelbinder机制原理
ModelBinder介绍 一.问题描述 当运行一个Mvc时,你控制器中的Action方法需要参数数据:而这些参数数据包含在HTTP请求中,包括表单上的Value和URL中的参数等.但问题是控制器中的 ...
- 【Win10】解决 模拟器调试手机 错误-> 引导阶段... 无法找到指定路径......\2052\msdbgui.dll
去弄几天的Web服务,又弄了几天的CefSharp,都是给其它组的同学做了一下支持,终于又可以回来玩下Win10啦. 今天想试一下UWP在手机上的效果,就找了台WP手机开始升级,结果下载速度遥遥无期, ...
- Kali Linux Web 渗透测试视频教程— 第十三课-密码破解
Kali Linux Web 渗透测试— 第十三课-密码破解 文/玄魂 目录 Kali Linux Web 渗透测试— 第十三课-密码破解............................... ...