SQL Server 2017 AlwaysOn AG 自动初始化(十三)

其他需要知道的事情在自动种子设定期间事务日志不能被截断自动种子设定延迟日志截断。如果主副本上数据库负载很高,那么将显著产生大量日志,那么可能有填满日志文件的风险。当然大多数情况下日志文件设置为自动增长,没有设置限制,也要监控在自动种子设定期间日志文件所在磁盘空间的使用情况。Sys.databases视图的LOG_REUSE_WAIT_DESC列反应了延迟日志截断的原因。然而,当由于自动种子设定而延

原创 点赞1 阅读602 收藏0 评论0 2018-06-14

SQL Server 2017 AlwaysOn AG 自动初始化(十二)

何时不使用自动种子设定在某些情况下,自动种子设定可能不是初始化次要副本的最优选择。 自动种子设定过程中,SQL Server 通过网络执行备份以进行初始化。 如果数据库非常大或者次要副本是远程副本,此过程会很缓慢。 在备份过程中,无法截断这些数据库的事务日志,因此,如果繁忙的数据库初始化过程耗时冗长,则可能导致事务日志大幅增加。 在将数据库添加到具有自动种子设定的可用性组之前,请先评估数据库大小、

原创 点赞1 阅读745 收藏0 评论0 2018-06-14

SQL Server 2017 AlwaysOn AG 自动初始化(十一)

何时不使用自动种子设定在某些情况下,自动种子设定可能不是初始化次要副本的最优选择。 自动种子设定过程中,SQL Server 通过网络执行备份以进行初始化。 如果数据库非常大或者次要副本是远程副本,此过程会很缓慢。 在备份过程中,无法截断这些数据库的事务日志,因此,如果繁忙的数据库初始化过程耗时冗长,则可能导致事务日志大幅增加。 在将数据库添加到具有自动种子设定的可用性组之前,请先评估数据库大小、

原创 点赞1 阅读499 收藏0 评论0 2018-06-14

SQL Server 2017 AlwaysOn AG 自动初始化(十)

创建自动种子设定的可用性组的性能考虑SQL Server 使用固定数目的线程进行自动种子设定。 在主实例中,SQL Server 对每个 LUN 使用一个线程来读取更改。 在辅助实例中,SQL Server 对每个 LUN 使用一个线程来初始化数据库。在自动种子设定过程中,在主副本上的数据库的日志备份继续增长,不能被截断,直到数据库的自动种子设定完成。然后,事务日志可以使用日志备份来截断。在一个繁

原创 点赞1 阅读664 收藏0 评论0 2018-06-14

SQL Server 2017 AlwaysOn AG 自动初始化(九)

SQL Server VDI备份原理分析SQL Server提供了虚拟设备接口(VDI)API,用于帮助独立的应用程序提供商,支持将SQL Server的备份和恢复操作集成到他们的产品中。这些API设计为提供最大可靠性和性能,支持所有的备份和恢复功能,包括所有的热备和快照备份能力。在早期SQL Server版本,VDI备份需要3个线程来完成备份。一个控制线程来接收备份命令,两个辅助线程来处理VDI

原创 点赞1 阅读901 收藏0 评论0 2018-06-14

SQL Server 2017 AlwaysOn AG 自动初始化(八)

监控自动种子设定  系统动态管理视图 sys.dm_hadr_automatic_seeding 在主要副本上,查询 sys.dm_hadr_automatic_seeding 以检查自动种子设定过程的状态。 对于每个种子设定过程,该视图都将返回一行。 例如: SELECT start_time,    complet

原创 点赞1 阅读734 收藏0 评论0 2018-06-14

SQL Server 2017 AlwaysOn AG 自动初始化(七)

在现有可用性组上启用某个辅助副本的自动种子设定 在主副本上执行ALTER AVAILABILITY GROUP [<availability_group_name>]    MODIFY REPLICA ON '<secondary_node>'    WITH (SEEDING_MODE

原创 点赞1 阅读427 收藏0 评论0 2018-06-14

SQL Server 2017 AlwaysOn AG 自动初始化(六)

在现有可用性组上停止某个辅助副本的自动种子设定在主副本上执行ALTER AVAILABILITY GROUP [<availability_group_name>]MODIFY REPLICA ON '<secondary_node>'WITH (SEEDING_MODE = MANUAL)GO上述脚本将取消当前正在进行种子设定的某个辅助副本,并阻止 SQL

原创 点赞1 阅读677 收藏0 评论0 2018-06-14

SQL Server 2017 AlwaysOn AG 自动初始化(五)

暂时阻止主副本将更多的数据库种子设定到辅助副本可以拒绝可用性组创建数据库的权限。在辅助副本上执行ALTER AVAILABILITY GROUP [<availability_group_name>] DENY CREATE ANY DATABASEGO

原创 点赞1 阅读410 收藏0 评论0 2018-06-14

SQL Server 2017 AlwaysOn AG 自动初始化(四)

查看数据库同步进度如果数据库在为自动种子设定配置的可用性组中,你可以查询 sys.dm_hadr_automatic_seeding 系统视图来监视种子设定进度。 对于处于为自动种子设定配置的可用性组中的每个副本的每个数据库,以下查询都返回一行。在主副本上执行SELECT start_time,ag.name,db.database_name,current_state,performed_see

原创 点赞1 阅读638 收藏0 评论0 2018-06-14

SQL Server 2017 AlwaysOn AG 自动初始化(三)

创建具有自动种子设定的可用性组1. 创建端点每个副本都需要一个镜像端点进行通信,默认TCP端口为5022。CREATE ENDPOINT [Hadr_endpoint] STATE=STARTEDAS TCP (LISTENER_PORT = 5023, LISTENER_IP = ALL)FOR DATA_MIRRORING (ROLE = ALL, AUTHENTICATION = WINDO

原创 点赞1 阅读671 收藏0 评论0 2018-06-14

SQL Server 2017 AlwaysOn AG 自动初始化(二)

必备条件文件路径要求在 SQL Server 2016 中,自动种子设定要求数据和日志文件路径在参与可用性组的每个 SQL Server 实例上均相同。 在 SQL Server 2017 中,你可以使用不同的路径,但是 Microsoft 建议,当所有副本都承载于相同的平台(例如 Windows 或 Linux)时,使用相同的路径。 跨平台可用性组针对副本具有不同的路径。若你的数据文件在副本上位

原创 点赞1 阅读1731 收藏0 评论0 2018-06-14

SQL Server 2017 AlwaysOn AG 自动初始化(一)

技术背景在 SQL Server 2012 和 2014 中,初始化 SQL Server Always On 可用性组中的次要副本的唯一方法是使用备份、复制和还原。SQL Server 2016 引入了用于初始化次要副本的新功能 - 自动种子设定(automatic seeding)。自动种子设定使用日志流传输将使用 VDI 的备份流式传输到使用所配置终结点的可用性组的每个数据库的次要副本。 最

原创 点赞1 阅读1515 收藏0 评论0 2018-06-14

组托管服务帐户(Group Managed Service Accounts,即gMSAs)

组托管服务帐户(Group Managed Service Accounts,即gMSAs)组托管服务帐户是针对多个服务器的 MSA。 Windows 为在一组服务器上运行的服务管理服务帐户。 Active Directory 自动更新组托管服务帐户密码,而不重启服务。 你可以配置 SQL Server 服务以使用组托管服务帐户主体。 从 SQL Server 2014 开始,SQL Server

原创 点赞2 阅读7643 收藏0 评论2 2018-06-14

金融行业数据库安全审计

数据库安全审计行业要求:审计内容是否至少包括:用户的添加和删除、审计功能的启动和关闭、审计策略的调整、权限变更、系统资源的异常使用、重要的系统操作(如用户登录、退出)等。数据库开启情况:需开启相关内容的数据库审计功能,方能满足需求。审计内容SQL ServerOracle1用户的添加和删除可满足可满足2审计功能的启动和关闭可满足部分满足(关闭可审计)3审计策略的调整可满足可满足4权限变更可部分满足

原创 点赞1 阅读973 收藏0 评论0 2018-06-14

金融行业服务器安全审计

服务器安全审计行业要求:服务器主机的审计内容是否包括:用户的添加和删除、审计功能的启动和关闭、审计策略的调整、权限变更、系统资源的异常使用、重要的系统操作(如用户登录、退出)等。服务器开启情况:默认未开启,需要安全专家评估开启哪些审计条目,以配置相关审核功能。Windows微软KB 977519详细描述了Windows操作系统安全日志里记录的各种与安全和审核有关的事件。基础审核功能开启:组策略管理

原创 点赞1 阅读616 收藏0 评论0 2018-06-14

AlwaysOn 2017 新特性和提升

AlwaysOn 2017新特性和提升AlwaysOn 2017一些新特性和增强:l 可用性组参数配置:最小提交辅助副本数(REQUIRED_COPIES_TO_COMMIT)l 读取缩放可用性组(Read-scale availability groups)l Linux上的可用性组l Linux上的故障转移群集实例l 跨平台的可用性组可用性组参数配置:最小提交辅助副本数(REQUIRED_CO

原创 点赞1 阅读8664 收藏0 评论3 2018-05-23

AlwaysOn 2016 新特性和提升

AlwaysOn 2016新特性和提升AlwaysOn可用性组作为SQL Server 2012的新特性被引入,它增强了数据库镜像和故障转移集群技术,提供了高可用和灾难恢复。在SQL Server 2016中AlwaysOn有些特性的增强要求运行在Windows Server 2016上。然而,如果你仍然运行在Windows Server 2012 R2上,仍然有很多提升是可用的。AlwaysOn

原创 点赞2 阅读3354 收藏1 评论0 2018-05-23

SQL 2017 SQLPS执行Add-SqlAvailabilityDatabase异常

SQL Server 2017 SQLPS执行Add-SqlAvailabilityDatabase遇到问题这个错误简直逆天,查了下该cmdlet的帮助常规参数里有Debug。执行Debug,输出如下:PS C:\Windows\system32> Add-SqlAvailabilityDatabase -InputObject $ag -Database $DatabaseList -Deb

原创 点赞2 阅读3505 收藏0 评论0 2018-05-23

SQLPS不同版本的差异

服务器上装了SQL Server 2014的默认实例,以及SQL Server 2017的命名实例SQL2017$env:PSModulePath为%SystemRoot%\system32\WindowsPowerShell\v1.0\Modules\;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\PowerShell\Modules

原创 点赞1 阅读1259 收藏0 评论0 2018-05-23

WSFC仲裁模型优化方案选型

WSFC仲裁模型优化方案选型生产环境某系统数据库高可用环境描述生产环境某系统部署为主、备、灾备三节点SQL Server 2014 AlwaysOn AG,操作系统为Windows Server 2012 Standard,环境基于域(Domain)和Windows故障转移集群(WSFC)。无见证磁盘,采用多数节点仲裁。主、备都有投票权,灾备无投票权。默认启用了动态仲裁,默认动态仲裁随机挑选一个节

原创 点赞2 阅读3335 收藏0 评论0 2018-03-23

SMB协议漏洞分析

SMB协议漏洞分析2017年,勒索病毒WannaCry和Petya利用SMB 1.0暴露的漏洞,利用Windows操作系统445端口进行传播。不同SMB版本在Windows出现的顺序: CIFS – Windows NT 4.0 SMB 1.0 – Windows 2000 SMB 2.0 – Windows Server 2008 and Windows Vista SP1 SMB 2.1 –

原创 点赞1 阅读4132 收藏0 评论0 2018-03-09

SQL Server AlwaysOn中445端口使用的调查报告

SQL Server AlwaysOn中445端口使用的调查报告第一部分:来自微软官方的文档说明Microsoft Knowledge Base article 832017: Service overview and network port requirements for Windows针对我们生产环境SQL Server 2014 AlwaysOn FCI & AG混合部署,基于A

原创 点赞2 阅读10000+ 收藏1 评论2 2018-03-05

SQL Server time(2)类型存储为int后如何转换

time(2)类型将毫秒保留两位,应用程序将time(2)类型转换为int存储到SQL Server后,以下两种方法均可将int转换为time(2): --方法1 DECLARE @T intSET @T = 10455836SELECT DATEADD(hour, (@T / 1000000) %

原创 点赞1 阅读1975 收藏0 评论0 2018-02-13

SQL Server查询备份日期和备份设备名

查询备份日期和备份设备名,用于检查某日的备份是否执行。SELECT b.backup_finish_date,a.physical_device_name FROM dbo.backupmediafamily a INNER JOIN dbo.backupset b ON a.media_set_id=b.media_

原创 点赞1 阅读1592 收藏0 评论0 2018-02-08

临时和持久化的网络驱动器映射

临时创建一个网络驱动器映射:(New-Object -ComObject WScript.Network).MapNetworkDrive("Z:", "\\TEST-PC\USERS")创建一个持久化的网络驱动器映射:# New-PSDrive 加上 -Persist 参数使得驱动器在 PowerShell 之外可见。# 要真正地创建一个永久的网络驱动器,

原创 点赞1 阅读1510 收藏0 评论0 2018-02-08

SQL Server解密存储过程

        SQL Server 对象加密方法:在存储过程,函数,视图的“As”位置前加上“with encryption”;如果是触发器,就在“for”位置前加“with encryption”。解密过程:1.执行如下脚本,开启管理员连接(DAC),创建解密存储过程。USE master    

原创 点赞2 阅读4679 收藏0 评论0 2018-02-08

Powershell如何在Start-Job的Scriptblock里传参?

如何在Start-Job的Scriptblock里传参?方法1:利用本地变量,从一个可扩展的字符串,使用[scriptblock]::create方法创建脚本块:$v1 = "123" $v2 = "asdf" $sb = [scriptblock]::Create("Write-Host

原创 点赞2 阅读5955 收藏0 评论0 2018-02-02

Powershell连接多服务器执行SQL脚本

$query = " select @@servername" $csvFilePath = "c:\Scripts\queryresults.csv"   $instanceNameList = get-content c:\Scripts\serverli

原创 点赞1 阅读1471 收藏0 评论0 2017-12-13

等级保护项目SQL Server审计方案

根据等级保护项目SQL Server审计需求,将SQL Server Default Trace文件保存半年以上。解决方案对于用户来讲,Default Trace只能关闭或开启该跟踪,无法修改任何参数。因此,我们只有将跟踪文件同步出来保存。计划在备域控服务器上,通过Windows自带的robocopy来同步集中交易数据库的*.trc文件到本地,长期

原创 点赞2 阅读1601 收藏0 评论0 2017-12-13
写文章