将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将数据移到另一个文件组之后清空文件组并删除文件 ...
随机推荐
- java操作word,excel,pdf
在平常应用程序中,对office和pdf文档进行读取数据是比较常见的功能,尤其在很多web应用程序中.所以今天我们就简单来看一下java对word.excel.pdf文件的读取.本篇博客只是讲解简单应 ...
- C# Delegate 匿名 Delegate
C#6.0新添加了 lambda的强力支持,用lambda的确可以节省好多代码,让代码看起来更简洁,更直观: 这里做一个笔记,C#的匿名委托 Demo class Program { static v ...
- Python字符转换
Python提供了ord和chr两个内置的函数,用于字符与ASCII码之间的转换. 如:>>> print ord('a') 97 >>> print chr(97 ...
- 个性二维码开源专题<液化/圆角/效果>
基础方法: ChangeFillShape //修改填充形状 ChangeFillShape(...) // 摘要: // 修改填充形状 // // 参数: // g: // 图形画板 // // F ...
- CentOS7 安装 mongodb
https://docs.mongodb.com/manual/tutorial/install-mongodb-enterprise-on-red-hat/
- CentOS系统下Hadoop 2.4.1集群安装配置(简易版)
安装配置 1.软件下载 JDK下载:jdk-7u65-linux-i586.tar.gz http://www.oracle.com/technetwork/java/javase/downloads ...
- Nginx学习笔记(八) Nginx进程启动分析
Nginx进程启动分析 worker子进程的执行循环的函数是ngx_worker_process_cycle (src/os/unix/ngx_process_cycle.c). 其中,捕获事件.分发 ...
- [ACM_暴力] ZOJ 3710 [Friends 共同认识 最终认识 暴力]
Alice lives in the country where people like to make friends. The friendship is bidirectional and if ...
- [WinAPI] API 4 [注册][创建][消息][第一个框架类窗口]
首先注册了窗口类,然后创建了一个窗口,创建窗口时指定的窗口的属性和窗口消息的处理函数.函数消息的处理函数大多调用系统默认函数来处理. #include<windows.h> /*全局变量* ...
- [ACM_暴力][ACM_几何] ZOJ 1426 Counting Rectangles (水平竖直线段组成的矩形个数,暴力)
Description We are given a figure consisting of only horizontal and vertical line segments. Our goal ...