使用alwayson后如何收缩数据库日志的方法详解_数据库其它

来源:脚本之家  责任编辑:小易  

方法有两种:1、刷新BIOS,关闭bios设置关机USB充电2、打开设备管理器,在网络适配器里面找到Realtek PCIe Fe Family controller 这一项,点击属性,在高级里面找到(关机 网络唤醒)这一项,在右边选择关机,最后点确定就可以了www.zgxue.com防采集请勿采集本网。

问题描述:

您好,Y400的alway on usb,关机充电功能在您设置完成后,在关机状态下,需要您连接电源适配器才可以正常使用的。

在使用了alwayson后,主从库实时同步,原理是通过事务日志同步的,所以造成主数据库的事务日志一直在使用,而且无法收缩主数据库的事务日志。

企业版一致在用。主要是因为我们不是特别在意License的费用。Always on这个功能的实用性很强,在实时交易系统中,为了保证性能,我们总是通过以前主要是通过数据库复制,现在可以使用Always On

在主从库同步时,收缩数据库是不起作用的。由于主数据库无法收缩,所以从数据库的日志也会一直跟着增长,造成磁盘空间一直增长。

Sm0.0是内部系统默认CPU状态位,表示Cpu运行,也就是CPU一运行,sm0.0就一直通,作常通点用,

网上大量的收缩日志的方法,基本上都不管用,怀疑根本没有在实际环境中使用过,以下方案是我在实际中使用后总结记录的。

be 动词放在助动词,情态动词,be动词后面,或者实意动词前。第一句话因为有情态动词should,所以把always放在了be的前面,这时候相对于should把be动词看作是实意动词。第二句只有be动词,所以

解决方案:

在windows server 2016之前,配置端点的加密的方式有两种:域用户授权和证书加密,升级到windows server 2016后,如果不使用域搭建AlwaysOn,那么就只能选择证书加密的方式了。3.1创建一个共享目录,允许

最开始发现这个问题后,也是研究了好久,发现的方法,先是全手动操作。因为这些操作,并不能用语句来实现自动化,所以一直是手动处理的。

可能人都是比较懒的吧(人只有懒,才能促进机械自动化,才会有各种发表创造!不是吗?呵呵),一直想能过脚本,实现自动化。

今天终于摸索出来了,总结一下。

大概的思路如下

通过脚本将alwayson从库,从可用性数据库是移除,就是取消主从同步,这样主库变成单库模式了。然后再收缩事务日志,收缩后再把主从数据库加上。

考虑到有一点,操作中需要删除从库上的数据库,为防止操作错误,把主库的数据库删除了,这个操作相当危险啊,所以将脚本分为三个。在两个机器上来回操作。

第一个脚本在db1上执行。

第二个脚本在db3上执行

第三个脚本在db1上执行

(这里db1是主库,db3是从库。不要问我db2呢,因为创建时先创建的db2后来db2有问题删除了。你根据你的实际情况替换就行了。)

待时机成熟,或者加上判断,可以考虑将以下三个脚本合成一个脚本,然后一键执行,或者加到定时任务,每月自动执行一次。

以下脚本经过亲测可用

syncdb 为alwayson同步的名字,

DBSERVER1和DBSERVER3是主从数据库的名称。DBSERVER1为主库,DBSERVER3为从库。

:Connect DBSERVER1 -U sa -P abc@123 是使用SQLCMD模式连接数据库,请修改后面的密码。

test为数据库名称。

1、取消主从同步

--- YOU MUST EXECUTE THE FOLLOWING SCRIPT IN SQLCMD MODE.:Connect DBSERVER1 -U sa -P abc@123 USE [master] GO ALTER AVAILABILITY GROUP [syncdb] REMOVE DATABASE [test];GO

2 删除从库上的数据库,在收拾后,再添加上。

:Connect DBSERVER3 -U sa -P abc@123 USE [master]GO DROP DATABASE [test]GO

3.备份事务日志,收缩日志文件,添加从库数据库。

--- YOU MUST EXECUTE THE FOLLOWING SCRIPT IN SQLCMD MODE.:Connect DBSERVER1 -U sa -P abc@123 USE [master] GO BACKUP LOG [test] TO DISK='NUL:'with STATS = 10gouse [test]goDBCC SHRINKFILE (N'test_log' , 20480)GO USE [master] GO ALTER AVAILABILITY GROUP [test]ADD DATABASE [test]; GO :Connect DBSERVER1 -U sa -P test@123 BACKUP DATABASE [test] TO DISK = N'\\dbserver3\e$\share\test.bak' WITH COPY_ONLY, FORMAT, INIT, SKIP, REWIND, NOUNLOAD, COMPRESSION, STATS = 5 GO :Connect DBSERVER3 -U sa -P test@123 RESTORE DATABASE [test] FROM DISK = N'\\dbserver3\e$\share\test.bak' WITH NORECOVERY, NOUNLOAD, STATS = 5 GO :Connect DBSERVER1 -U sa -P test@123 BACKUP LOG [test] TO DISK = N'\\dbserver3\e$\share\test.trn' WITH NOFORMAT, NOINIT, NOSKIP, REWIND, NOUNLOAD, COMPRESSION, STATS = 5 GO :Connect DBSERVER3 -U sa -P test@123 RESTORE LOG [test] FROM DISK = N'\\dbserver3\e$\share\test.trn' WITH NORECOVERY, NOUNLOAD, STATS = 5 GO :Connect DBSERVER3 -U sa -P test@123 -- Wait for the replica to start communicatingbegin trydeclare @conn bitdeclare @count intdeclare @replica_id uniqueidentifier declare @group_id uniqueidentifierset @conn = 0set @count = 30 -- wait for 5 minutes if (serverproperty('IsHadrEnabled') = 1)and (isnull((select member_state from master.sys.dm_hadr_cluster_members where upper(member_name COLLATE Latin1_General_CI_AS) = upper(cast(serverproperty('ComputerNamePhysicalNetBIOS') as nvarchar(256)) COLLATE Latin1_General_CI_AS)), 0) <> 0)and (isnull((select state from master.sys.database_mirroring_endpoints), 1) = 0)begin select @group_id = ags.group_id from master.sys.availability_groups as ags where name = N'yorkdb'select @replica_id = replicas.replica_id from master.sys.availability_replicas as replicas where upper(replicas.replica_server_name COLLATE Latin1_General_CI_AS) = upper(@@SERVERNAME COLLATE Latin1_General_CI_AS) and group_id = @group_idwhile @conn <> 1 and @count > 0beginset @conn = isnull((select connected_state from master.sys.dm_hadr_availability_replica_states as states where states.replica_id = @replica_id), 1)if @conn = 1begin-- exit loop when the replica is connected, or if the query cannot find the replica statusbreakendwaitfor delay '00:00:10'set @count = @count - 1endendend trybegin catch-- If the wait loop fails, do not stop execution of the alter database statementend catchALTER DATABASE [test] SET HADR AVAILABILITY GROUP = [syncdb];GOGO 

在执行:Connect 命令前记得把SQLCMD模式打开

打开后,你能看到SQLCMD命令是灰色的。

到此这篇关于使用alwayson后如何收缩数据库日志的文章就介绍到这了,更多相关alwayson数据库日志内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网!

三星always on设置方法1、进入安全中百心—权限管理—设置相关选项全部允度许。2、在“一问般”栏中点击启用服务,然后在“外观”栏—“自定义Watchface”—答—Clock Style。3、选择喜欢的表盘样式专,点击类似“播放”的按钮进行预览,最后属确定即可内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • sql server alwayson读写分离配置图文教程
  • sql server 2016 alwayson新增功能图文详解
  • sql server 2016 无域群集配置 alwayson 可用性组图文教程
  • windows2012配置sqlserver2014alwayson的图解
  • sqlserver 2012中设置alwayson解决网络抖动导致的提交延迟问题
  • 基于win2008 r2的wsfc实现 sql server 2012高可用性组(alwayson group)
  • 关于adox的相关知识
  • sql 左连接和右连接的使用技巧(left join and right join)
  • sql server中datetime字段去除时间代码收藏
  • neo4j安装配置入门教程
  • mssql 区分大小写的详细说明
  • db2数据库常用操作命令大全
  • sql select distinct的使用方法
  • 推荐sql server一些常见性能问题的解决方法
  • 50条sql查询技巧、查询语句示例
  • sqlite不支持right join的解决办法group by
  • 三星always on怎么设置
  • 笔记本电脑关机后电池耗电严重 ,一晚耗电10%左右,Always on USB 和电源选项中的快速启动已经关闭。
  • 为什么有些PLC程序有Always On 开头 有些没有
  • sb is always on call 神马意思,什么语境下使用谢。
  • y400设置完了always on usb还是不能用
  • sql server always on使用什么存储
  • 西门子STEP 7micro/win smart 编程时SM0.0显示always on什么原因?
  • always be on 跟be always on的区别?
  • 如何在没有域的环境中搭建AlwaysOn
  • 如何让excel编辑窗口"Always On Top"?
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全mssqlmysqlmariadboracledb2mssql2008mssql2005sqlitepostgresqlmongodbredisaccess数据库文摘数据库其它首页sql server alwayson读写分离配置图文教程sql server 2016 alwayson新增功能图文详解sql server 2016 无域群集配置 alwayson 可用性组图文教程windows2012配置sqlserver2014alwayson的图解sqlserver 2012中设置alwayson解决网络抖动导致的提交延迟问题基于win2008 r2的wsfc实现 sql server 2012高可用性组(alwayson group)关于adox的相关知识sql 左连接和右连接的使用技巧(left join and right join)sql server中datetime字段去除时间代码收藏neo4j安装配置入门教程mssql 区分大小写的详细说明db2数据库常用操作命令大全sql select distinct的使用方法推荐sql server一些常见性能问题的解决方法50条sql查询技巧、查询语句示例sqlite不支持right join的解决办法group bysql join on 用法mysql mysqldump命令使用详解sqlserver、mysql、oracle三种数sql中代替like语句的另一种写法如何让sql运行得更快关于adox的相关知识如何取得一个表的所有字段名用逗sql server下数据库链接的使用方sql server 2005的表分区sql 查询语句积累详解sqlite中的查询规划器sqlserver 高级复 制 排错 技巧ado.net数据库访问技术数据库的四种隔离级别[转载]让sql运行得更快设置ca证书来强化postgresql的安全性的教对分区表进行alter-switch时遇到的错误access转化成sql2000需要注意的几个问题小以前架征途时的合区的sql语句代码备份access转sqlserver数据库的注意事项
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved