ShareName

小说:名字,孩子成长中不能忽视作者:王文更新时间:2019-03-21字数:56336

话音一落一朵火莲已经在人王伏羲身上盛开了,熊熊的不灭之火刹那之间就将离死不远的人王伏羲化为灰烬。

罗李华谈:属虎的人2016年运程

其实不是老天眷顾,而是二楼的施景忠见形势比较危急,临时采取了紧急应对措施,才奏效了。
李俅告辞走了,李庆安却有些心中烦乱,背着手在大帐里来回踱步,他没有想到李亨会出手,这头狼竟隐藏得如此之深,也没有想到他的野心竟是如此之大,当然,李庆安并不相信李亨会真的想和自己重新握手言好,自己的野心也同样难以掩盖,寻找自己支持无疑是与虎谋皮,可见他也只是想利用自己而已,利用结束后便扔掉,所以自己提出什么长远目标为条件,比如移民之类等等,无疑是不现实的。

太子府,哀声一片,蓝玉身死消息传来,太子妃哭成泪人,朱标坐在一旁唉声叹气,剩下的太子亲信同样面色阴沉,不管如何,蓝玉始终属于太子一党,蓝玉一死,太子这边实力大大削弱,下一个能够得到皇上信任统兵之人是谁变得尤为重要。

一、优点

aways on的优点,a. 构建主从数据库,分摊单点数据库压力。b.可以减少数据同步时间,提升用户体验。c.可以实现高可用,自动平滑切换。

二、缺点

及时同步最多只能提交3台,及时同步会导致各服务器性能下降。数据写入只能主库写入。基于服务器故障转移群集服务,需要服务器相互之间信任,非域下,数据服务本身需要互相信任。

三、具体实现步骤(基于阿里云服务器 Windows Server 2016 数据中心GUI版本)

  1. 数据库服务器镜像设置。(建议与生产环境的配置一致(主要是内存))

为了方便多台服务器的配置,减少配置时间,一些公共的配置放在此处。

  1. 购买临时服务器,建议系统盘在60GB大小,减少允许过程中系统存储空间不足的情况。
  2. 安装集群和IIS。
  3. 修改计算机名后缀ankec.net。
  4. 安装SQL Server 2016数据库服务。
  5. 安装SSMS客户端。
  6. 创建系统管理员账号 admincluster,并设置为administrators组成员(也可以直接使用administrator账号来操作),设置sql服务的启动账户为该账户。
  7. 设置数据库服务的cpu和内存等配置。
  8. 创建数据库证书导入导出存储过程。(参看附件1)
  9. 创建数据库备份存储过程。(参看附件2)
  10. 参照十万并发设置设置服务器,并设置服务器连接超时时间。
  11. 设置群集管理、IIS、数据库客户端、数据库服务端配置等快捷方式到桌面或者任务栏。
  12. 重启服务器(防止服务器本身系统问题占用过多内存)。
  13. 打镜像服务。
  14. 释放临时服务器。
  15. 通过数据库服务器镜像购买主数据库服务器。根据需要额外挂载数据磁盘。建议是数据库文件大小的10倍以上。
    1. 建议密码保持不变。
    2. 建立共享文件夹,设置everyone读写权限。
    3. 在数据库层级测试共享权限。(可以备份一个简单库到共享文件路径的方式进行测试)
    4. 设置数据库服务器名。(只能在此处设置,具体代码参看附件3,设置后重启数据库服务)
  16. 通过数据库服务器镜像购买从数据库服务器。根据需要额外挂载数据磁盘。建议是数据库文件大小的10倍以上。(多台可以同时购买)
    1. 建议密码与主数据库服务器保持不变。
    2. 在数据库层级测试共享权限。(可以备份一个简单库到共享文件路径的方式进行测试)
    3. 设置数据库服务器名。(只能在此处设置,具体代码参看附件3,设置后重启数据库服务)
  17. 故障转移群集搭建
    1. 配置服务器hosts名映射。将各台服务器名称和局域网IP的映射关系添加到所有服务器hosts文件中去。例如: 计算机名fuwuqiming(ip:172.18.13.2)需要添加两条记录到各服务器hosts中 172.18.13.2 fuwuqiming  和 172.18.13.2 fuwuqiming.ankec.net。(具体添加cmd代码可以自己构建,也可以手动添加,具体代码可以参看附件4)
    2. 各台服务器之间相互ping一下对方的名称,确保可以正常ping通。
    3. 主数据库建立群集 servercluster,将各服务器添加到此集群中,添加时采用服务器名+后缀的方式进行添加。(只有添加到群集中后才能进行下一步)
    4. 在各台数据库配置中,设置服务的属性中的aways on的√,重启数据库服务。
    5. 设置各服务器数据库的默认存放路径。(重要,特别是从库必须要设置,否则后面没有机会处理)
    6. 导出各数据库服务器的数据库证书到主数据库服务器的共享文件夹。(各数据库上调用导出存储过程)
    7. 导入除了本数据库服务器的证书外,其它的数据库服务器的证书。
  18. 搭建数据库的aways on
    1. 主数据库上建立数据库(还原数据库也可以)。设置数据库的模式为 完整备份模式。
    2. 备份数据库。
    3. 在aways on 上右键创建aways on,并根据向导进行操作,加入从数据库,在最后列中选择是。并根据向导引导一直点击下一步一直到关闭完成。
    4. 设置主数据的代理任务和自动备份任务。

至此,aways on 的配置结束。整个配置过程必须按照顺序一步一步进行,不能随意调整顺序,如果调整可能会造成无法预知的错误。如果出错后不能解决,可以考虑还原系统的方式来初始化。

 

 

注意事项:

1. 数据库权限问题,可以使用administrator来解决。

2. 数据库证书导出前,必须保证可以访问共享文件夹,否则不可继续,一旦继续,则会出现无法解决的错误。

附录1:

       导出证书

       
CREATE PROCEDURE CreateEndpointCert

 @ShareName SYSNAME ,

 @StrongPassword SYSNAME

AS BEGIN

 

--This must be executed in the context of Master

 IF (DB_NAME() <> "master")

 BEGIN

  PRINT N"This SP must be executed in master.  USE master and then retry."

  RETURN (-1)

 END

 

    DECLARE @DynamicSQL varchar(1000);

    DECLARE @CompName varchar(250);

 DECLARE @HasMasterKey INT;

    SELECT @CompName = CONVERT(SysName, SERVERPROPERTY("MachineName"));

 

-- Only create a master key if it doesn"t already exist

 

 SELECT @HasMasterKey = is_master_key_encrypted_by_server from sys.databases where name = "master"

 IF (@HasMasterKey = 0)

 BEGIN

 --Create a MASTER KEY to encrypt the certificate.

  SET @DynamicSQL = CONCAT("CREATE MASTER KEY ENCRYPTION BY PASSWORD = " ,  QUOTENAME(@StrongPassword, """"));

  EXEC (@DynamicSQL)

 END

 

--Create the certificate to authenticate the endpoint
SET @DynamicSQL = CONCAT("CREATE CERTIFICATE ", QUOTENAME(@CompName + "-Certificate"), " WITH SUBJECT = ", QUOTENAME(@CompName, """"),",EXPIRY_DATE=",QUOTENAME(20991231 ,"""") )

EXEC (@DynamicSQL);


--Create the database mirroring endpoint authenticated by the certificate.

    SET @DynamicSQL =

        CONCAT("CREATE ENDPOINT Endpoint_Mirroring

            STATE = STARTED

            AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)

            FOR DATABASE_MIRRORING (AUTHENTICATION = CERTIFICATE ",QUOTENAME(@CompName + "-Cert"), " , ENCRYPTION = REQUIRED ALGORITHM AES, ROLE = ALL)");

    EXEC (@DynamicSQL);

 

   --Back up the certificate to a common network share for import into other nodes in the cluster

    SET @DynamicSQL = CONCAT("BACKUP CERTIFICATE ",QUOTENAME(@CompName + "-Cert")," To FILE = ", QUOTENAME( @ShareName + "SQL-" + @CompName + ".cer", """"));

    EXEC (@DynamicSQL);

END

GO

 

 

导入证书

CREATE PROCEDURE InstallEndpointCert

    @CompName SYSNAME,

 @ShareName SYSNAME,

 @StrongPassword SYSNAME

AS BEGIN

    DECLARE @DynamicSQL varchar(1000);

    DECLARE @MyCompName varchar(250);

    SELECT @MyCompName = CONVERT(SysName, SERVERPROPERTY("MachineName"));

   --Don"t need to create LOGINs for the local system

    IF (@MyCompName <> @CompName)

    BEGIN

        SET @DynamicSQL = CONCAT("CREATE LOGIN ", QUOTENAME (@CompName + "-Login"), " WITH PASSWORD= ", QUOTENAME( @StrongPassword, """"));

        EXEC (@DynamicSQL);

 

        SET @DynamicSQL = CONCAT("CREATE USER ", QUOTENAME( @CompName + "-User"), " FOR LOGIN ", QUOTENAME(@CompName + "-Login"));

        EXEC (@DynamicSQL);

 

        SET @DynamicSQL = CONCAT("CREATE CERTIFICATE ", QUOTENAME(@CompName +"-Cert"), " AUTHORIZATION ", QUOTENAME(@CompName +"-User"), " FROM FILE = ", QUOTENAME(@ShareName + "SQL-" + @CompName + ".cer" , """"));

        EXEC (@DynamicSQL);

 

        SET @DynamicSQL = CONCAT("GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO ", QUOTENAME(@CompName +"-Login"));

        EXEC (@DynamicSQL);

 END

END

GO

 

 

附录2:

 

附录3:

修改数据库名称,修改后要重启服务

if serverproperty("servername")   <>   @@servername   

begin   

    declare   @server   sysname   

    set   @server   =   @@servername    

    exec   sp_dropserver   @server   =   @server 

    set   @server   =   cast(serverproperty("servername")   as   sysname)   

    exec   sp_addserver   @server   =   @server   ,   @local   =   "LOCAL"   

END 

 

  查询名称是否一致

use master 

go 

select @@servername 

select serverproperty("servername")

 

附录4:

写入hosts命令:

echo 172.18.12.153 iZiig0d4mlg0ksZ >> C:WindowsSystem32driversetchosts

 

附录5:

十万服务器并发设置

服务器设置:C:WindowsMicrosoft.NETFramework64v4.0.30319Configmachine.config

<processModel enable="true" maxWorkerThreads="100" maxIoThreads="100" minWorkerThreads="50" minIoThreads="50" requestQueueLimit="100000"/>

 

在%systemroot%System32inetsrvconfigapplicationHost.config中可以查看到该设置:

<serverRuntime appConcurrentRequestLimit="100000" />   

 

服务器设置set.bat 内容:

echo "开始设置"

reg add HKLMSystemCurrentControlSetServicesHTTPParameters /v MaxConnections /t REG_DWORD /d 100000

reg add HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesHTTPParameters /v MaxFieldLength /t REG_DWORD /d 32768

reg add HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesHTTPParameters /v MaxRequestBytes /t REG_DWORD /d 32768

reg add HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters /v MaxUserPort /t REG_DWORD /d 65534

reg add HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters /v TcpTimedWaitDelay /t REG_DWORD /d 30

net stop http  & net start http & iisreset

echo "设置结束"

 

参看链接:

如何在没有域的环境中搭建AlwaysOn(一)

http://www.cnblogs.com/i6first/p/6040363.html

 

如何在没有域的环境中搭建AlwaysOn(二)

http://www.cnblogs.com/i6first/p/6047538.html

 

ClassLink迁移示例(链接vpc和经典网络)

https://help.aliyun.com/document_detail/57949.html?spm=5176.doc58095.6.604.5QiNT1

https://help.aliyun.com/document_detail/55051.html

 

SQL Server 2016 简体中文企业版(数据库服务安装程序)

http://tieba.baidu.com/p/4675269271

 

下载 SQL Server Management Studio 17.2(数据库客户端)

https://docs.microsoft.com/zh-cn/sql/ssms/download-sql-server-management-studio-ssms

 

十万连接配置

http://www.cnblogs.com/dudu/archive/2013/06/08/iis_webserver_settings.html

http://www.cnblogs.com/dudu/archive/2009/11/10/1600062.html

http://www.jb51.net/article/36073.htm

 

编辑:邓龙文

发布:2019-03-21 00:34:31

当前文章:http://cnsdbtzg.com/2018h45nxs6s2s/index.html

渴了累了,青少年少喝红牛和可乐! 爱情·你是我猜不到的不知所措 家长观念中的误区 不经历痛苦,怎能获得成长? 那些对你好的人 2011成长营:参加国际大赛的经历 杨绛先生送给年轻人的9句话,值得一读再读! 冬季放生龟鳖类要考虑的注意事项

74820 78057 53737 52994 99566 8192614813 85026 63884

我要说两句: (0人参与)

发布