SQLServer 服务器架构扩展之数据库扩展的一些步骤

愚人节那晚,公司进行了全面系统架构更改。
下面只列出了数据库方面该考虑的一些信息,并不完全列出所有步骤及脚本


【服务器准备】-------------------------------------------------------------------------

确定计算机IP,计算机名称
将服务器加入域环境
SSD加入须添加卷,方可出现该盘
将本机防火墙关闭(或者运行程序SQLserver通过、或者允许1433端口通过)
安装组件:.Net framwork 3.51(服务器管理器——功能——添加功能——勾选下面的.Net framwork 3.51)
SqlServer Enterprise 安装密钥准备
创建业务库文件保存路径
备份业务库空库、报表数据库、报表证书到新服务器


【数据库准备】--------------------------------------------------------------------------------

默认内装账户:	NT AUTHORITY\NETWORK SERVICE (全文索引和browser默认服务不变)
自启动服务:	SqlServer代理、 SqlServer Database Engine、 Report Services
需要添加账户域管理员:域\username
Reporting services 配置:	安装但不配做报表服务器
(其余默认安装!有2台服务器数据库非自己安装,结果ssis没有安装!维护计划不可用!)

还原分库的空库(参考脚本)
(其中包括:数据库选项、分区、用户、主键、索引、约束、各对象、扩展属性、权限、程序集、证书等)
迁移登录账号及密码到新库(参考脚本)
使用个人账号和域账号登录数据库,测试是否成功
更改数据库登录模式为: “混合模式(SqlServer 身份验证和windows身份验证)”
创建业务库存放目录及数据库备份目录
启用IP/TCP协议(打开配置管理器—SqlServer的协议,须重启SqlServer服务)
SqlServer服务账号可能没有读写文件夹的权限,在文件夹中添加
新库暂时设置回复模式:简单模式(确认隔离级别)
数据文件每个分区初始大小预先设置10GB,增长设置30MB(日志增长一样)
系统参数配置(clr enabled,max server memory (MB),max worker threads重启服务生效)
	
还原报表数据库(参考脚本)
关联报表数据库用户及登录名(参考脚本)
配置及部署报表服务,多余的部署服务器删除
测试打开连接报表数据库


【创建发布】(提前创建)----------------------------------------------------------------------

创建N个分库的发布
发布数据库:P
要发布的对象:(选择所有发布项目)
	排除的存储过程: sp_getsubscriptionpendingcmds,sp_spUserCounter2_getallsubscriptionpendingcmds
	排除的标量函数: Birth_(Birth_开头的函数)
发布类型: 具有可更新订阅的事务发布
筛选的表: (先不筛选)
(不用立即创建快照!)
运行代理的统一登录账户:sql
注意发布名称
创建完成后,右键发布属性,修改冲突解决策略:保留订阅服务器更改!(注意!)
用脚本添加行筛选:(参考脚本)(注意筛选条件!!FN % n=1/2/……)
确认航筛选已添加
更改作业的所有者:sa


【创建订阅】--------------------------------------------------------------------------------

分库中创建订阅
推送订阅——>选择订阅库P——>连续运行——>对更改进行排队并在可能时提交
运行代理的登录账户(分发):sql
发布服务器中更改作业所有者:sa
点击发布中的订阅:选择“重新初始化”——>立即生成新快照、标志为要重新初始化
(先创建完成一个快照后再启动另一个,快照锁表)
等待初始化完成,完成后看是否已经生成了同步触发器

(创建快照:25分钟,应用快照:17~19小时)
(报表服务配置可放到这里再配置部署)

创建连接总库的的“连接服务器”(参考脚本)
删除 V_NoXML_ 视图(14个,之前数据对比用)(参考脚本)
初始化后需重新分区(参考脚本)
设置表属性设置:LOCK_ESCALATION(参考脚本)
添加自定义的视图触发器(参考脚本)
添加busixxxx的对象权限(参考脚本)(dbo.f_split 表值函数权限,未包括再之前的脚本中)



【升级中……】--------------------------------------------------------------------------------
前期:不断备份分库到总库并还原,使数据库处于还原状态
升级中……(主要数据对比,2.5小时内完成)
确认数据没有在复制
停止总库及原来分库的SQLserver代理
备份日志尾部,拷贝到总库还原分库
更改参数max server memory (MB),减少限制,增大内存
对比数据:排除日志及作业管理表	6张千万的表(2hours),其余所有表(20minutes),1张扩展表(超1.5h,不做对比)
(不可对比,删除外键)


【后续工作必要】--------------------------------------------------------------------------------
更改参数max server memory (MB),限制内存
更新数据库统计信息: EXEC sys.sp_updatestats   
设置分库为完整模式!ALTER DATABASE [P] SET RECOVERY FULL WITH NO_WAIT
创建相关作业
创建备份方案,并进行第一次完整备份


---------------------------------------------------------------------------------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值