将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将数据移到另一个文件组之后清空文件组并删除文件 ...
随机推荐
- web form 复合控件
DropDownList 下拉列表 会被编译为select option ps.name 服务端常用,id 客户端常用 一般用法: 一.将数据放进去 方法一:同WinForm相同,给定数据源,然后绑定 ...
- 【转】python fabric实现远程操作和部署
fabric title是开发,但是同时要干开发测试还有运维的活……为毛 task*3 不是 salary * 3 (o(╯□╰)o) 近期接手越来越多的东西,发布和运维的工作相当机械,加上频率还蛮高 ...
- nodejs+express使用html和jade
nodejs+express经常会看到使用jade视图引擎,但是有些人想要访问普通的html页面,这也是可以的: var express = require('express'); var port ...
- asp.net简单小爬虫
所谓爬虫简单点说,就是把别人网站上的东西爬下来,至于爬做什么用就看你自己了,比如:把别人网站上的东西爬下来放在自己网站中(感觉有点像小偷^v^). 这里随便写了一个爬虫代码(可以自己再去进行完善): ...
- 天气预报数据API
http://www.weather.com.cn/data/cityinfo/101010100.html//过期: http://api.36wu.com/Weather/GetMoreWeath ...
- Win7 远程 Ubuntu 桌面 mate desktop,并实现中文输入法
一. 安装mate desktop: $sudo apt-add-repository ppa:ubuntu-mate-dev/ppa $sudo apt-add-repository ppa:ubu ...
- log-malloc2 0.2.4 发布
log-malloc2 0.2.4 发布了,该版本修复了日志格式输出的 bug. og-malloc2 是一个 malloc 日志预加载库,用于检测内存泄漏问题.
- LoadRunner测试50人同时登陆下单
LoadRunner测试50人同时登陆下单 一.LoadRunner简介 LoadRunner,是一种预测系统行为和性能的负载测试工具.通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找 ...
- 【Win10】UAP/UWP (通用程序) 开发初体验(1) 之 开发准备
一.准备: 1.准备一个 10074或更高版本的Win10.可以通过 https://insider.windows.com/ 地址,加入Windows 的会员俱乐部免费获取的. 2.下载Visual ...
- 从源代码分析Universal-Image-Loader中的线程池
一般来讲一个网络访问就需要App创建一个线程来执行,但是这也导致了当网络访问比较多的情况下,线程的数目可能积聚增多,虽然Android系统理论上说可以创建无数个线程,但是某一时间段,线程数的急剧增加可 ...