- 博客(66)
- 资源 (2)
- 收藏
- 关注
原创 checksum(),binary_checksum() 应该如何使用
最近看到一个有趣的系统函数应用问题。起因是A使用checksum(),对两行数据是否完全一致进行判断。后来使用了binary_checksum()进行判断。但在实际的运行过程中,发现会出现哈希碰撞的问题。程序表现不稳定。测试了一下SELECT CHECKSUM(9), CHECKSUM('asdfa', 9), CHECKSUM(123, GETDATE(), 'xyz'), BINARY_CHECKSUM(9), BINARY_CHECKS...
2020-09-23 13:30:02 925
原创 SQL Server I/O 块大小参考
SQL Server I/O 块大小参考表操作IO块大小Transaction Log Writer512Bytes ~ 60KBCheckpoint / Lazywriter8KB ~ 1MBRead-Ahead Scans128KB ~ 512KBBulk Loads256KBBackup / Restore1MBColumnStore Read-Ahead8MBFile Initialization8MBIn-Memor.
2020-08-25 10:34:45 526
翻译 Google Chrome 新广告拦截器的工作原理
转自: https://www.ctrl.blog/entry/chrome-adblocker google chrome 将在2018年2月15日开始对某些网站上的广告进行屏蔽。 笔者看了一下Chromium源代码,以更好的理解这个新的广告拦截器的工作机制。 安全浏览服务该服务用于阻止恶意软件,欺诈,网络钓鱼等不良行为。Chrome将定期从“安全浏览”下载
2018-02-05 11:28:39 2996
翻译 SQL Server 2017 如何在Linux的OMM-Killer下生存
在基于Windows的服务器上,当包括页面文件在内的所有可用内存都被占用时,服务器的性能会变得缓慢,并且会将内存不足错误记录到事件日志中。在Linux系统上,行为稍有不同。当服务器内存不足时,Linux内核将选择一个进程被终止,以恢复系统的平稳运行。Linux上的这种机制叫做OOM-Killer。更多信息请访问https://linux-mm.org/OOM_Killer 在运行SQL Serv
2017-11-10 11:10:05 1116
原创 SQL Server 2017 新的字符串聚合函数String_Agg
还记得第一次要做一个多行的字符串拼接是多么的痛苦. cross apply / stuff + XML path ; CONCAT 还有COALESCE 加上"+"拼接字符串的过程, 相信大家也是记忆犹新. 这次SQL Server 2017 中,引入了String_Agg函数, 经过测试可真是一招破敌啊. 下面来看一下效果吧. 官网参考 语法介绍上,可以看出由两部分组
2017-11-09 11:20:56 4798
原创 SQL Server 2017 数据库开发工具介绍
自从安装了SQL Server 2017 试用以来, 测试了几个感兴趣的点. 在使用过程中, 发现在原有SSMS的基础上, 还有几个微软的工具可以进行数据库开发. 工具 使用平台 SSMS Wi
2017-11-08 15:33:23 10911
原创 SQL Server 是如何在Linux上跑起来的
最近不停的听到SQL Server 2017的各种消息. ( CU1的发布; 新的发布策略) , 一直都有一个疑问, 一直是windows平台的主力数据库 SQL Server是如何拥抱Linux的呢? (Access也是被叫做数据库的) 求助于google,找到了SQL Server 官方的博客, 细细阅读了一遍. 原来inside是这样. 这篇文章下面的部分就是对于这篇文章的阅读笔记.
2017-11-03 13:03:59 3872
原创 SQL Server 2017 补丁体系结构MSM
SQL Server 2017 带来了很多新的开始, 就连补丁方式都不同了。原来的方式:(ISM)IncrementalServicingModel每2个月发布一次累积更新(CU)大约1年发行一次Service Pack (SP),这其中包含上面说的CU的更新,以及功能的完整性和支持性的增强功能。产品生命周期。在一个产品生命周期中,CU在下一个SP发布后
2017-10-08 22:48:44 1599
原创 虚拟内存不足造成的蓝屏_问题分析及解决
之前蓝屏的问题一直在脑子里面转, 沉下心来, 踏实走一遍看看. 1.虚拟内存文件是什么? 起什么作用? 2.如何确定虚拟内存文件的大小? 3.如何设置虚拟内存文件? 首先来回答问题1 Windows操作系统的内存管理是建立在虚拟内存的基础上的.每个进程都有自己的私有虚拟地址空间。当接近低内存资源的条件时,Windows将”最少”使用的内存页移动到称为页面文件的隐藏
2017-08-28 09:19:33 7484
转载 10X 程序员应该具备哪些素质
原文:http://antirez.com/news/112 Fred Brooks(《人月神话》的作者)最早在他的论文“没有银弹——软件工程的本质和偶然性(No Silver Bullet - Essence and Accidents of Software Engineering)”中提出了“10x 程序员”的概念。技术社区对于这个概念呈现出两级分化的观点。Redis 之父 Salvato
2017-06-26 14:47:13 630
原创 Oracle.补丁.体系结构
ORACLE数据库提供两种方式的补丁,一种是主动的Proactive Patches,另一种被动的Reactive Patches,过去的PSU,SPU/CPU,BP都是Proactive Patches。从12c(12.1.0.2)起数据库又提供了一个名为DBBP的补丁类型,并且改变了补丁策略。 Critical Patch Update(CPU) 2012年10月更名为SPU
2017-06-15 15:51:06 1261
转载 关于程序的理解_Terry Crowley
原文:Education of a Programmer 作者:Terry Crowley 翻译:雁惊寒 译者注: 本文作者在微软工作了将近21年,并拥有35年的行业经验。本文总结了作者这些年的所学所想,包括:对技术的态度、端到端、复杂性、异步性、分层与模块、性能、管理等多个方面。以下是译文,篇幅比较长。 要成为一名专家级的程序员,你需要精通大量的知识,包括:语言、API
2017-06-09 10:11:40 650
原创 Linux.命令.make
make GNU的工程化编译工具,用于编译众多相互关联的源代码,以实现工程化的管理,提高开发效率。 语法: make(选项)(参数) 选项: -f:指定“makefile”文件; -i:忽略命令执行返回的出错信息; -s:沉默模式,在执行之前不输出相应的命令行信息; -r:禁止使用build-in规则; -n:非执行模式,输出所有执行命令,但并不执行;
2017-06-09 10:00:29 367
原创 Linux.命令.env
env 显示系统中已存在的环境变量,以及在定义的环境中执行指令 语法 env(选项)(参数) 选项 -i 开始一个新的空的环境 -u 从当前的环境中删除指定的变量 参数 变量定义: 定义在新的环境中变量,定义多个变量定义用空格隔开.格式为 “变量名=值” 指定: 指定要执行的指令和参数. 测试:
2017-06-06 15:31:04 859
原创 数据库空间能撑多久? 容量规划
绝大多数数据库都在增长,而不是减小。作为DBA必须准备好空间耗尽的对应策略。 那么我们都需要监控哪些信息,用以支持我们对应空间的使用状况评估呢? 单个文件大小 文件中可使用空间量 文件的增长方式(百分比或固定增量) 磁盘可用空间 每个文件组的增速 如果你有监控工具,上述这些指标通常都在监控工具中.如果没有,下面的代码可以提供一些帮助. 先建立一张存储
2017-03-17 10:59:31 3399
转载 查看内存使用情况
-- 查询SqlServer总体的内存使用情况select type , sum(virtual_memory_reserved_kb) VM_Reserved , sum(virtual_memory_committed_kb) VM_Commited , sum(awe_allocated_kb) AWE_Allocated
2017-03-12 08:42:50 628
原创 sp_msforeachdb
有时我们想在SQL服务器上的所有数据库上运行查询或一组查询。 已经有太多次,涉及到这样的需求了. sp_msforeachdb就是这个没有被记录的存储过程.(MSDN,以及别的官方文档都没有记录) 但是它可以帮助你在所有数据库上执行查询. 没有被记录的存储过程 ,这点本身就是一个谜一样的存在. 难道这个存储过程有什么问题吗? (兼容性…) sp_h
2017-03-11 17:16:01 1053
原创 作业真的成功了吗?_链接服务器远程存储过程调用失败
工作环境中,之前遇到了一个问题. 作业中使用链接服务器远程存储过程调用. 实际是失败了,但代理作业并没有报出这个错误. 查了一下在2008年,就有这个报告了. https://connect.microsoft.com/SQLServer/feedback/details/337043/no-error-raised-when-a-remote-procedure-times-out
2017-03-11 09:43:47 1170
原创 SET ANSI_WARNINGS OFF 干了点儿啥?
在存储过程中经常会看到这个 SET ANSI_WARNINGS OFF .那么这个到底起了什么作用呢? SET的选项中 ANSI_WARNINGS 是什么? 官方的解释 简短总结就是: ON 对一下几种数据库引擎行为进行ISO判断(该怎么办) 在聚合的时候遇到NULL 在0作为被除数 字符串截位 OFF 引擎遵循非标准行为,这会降低数
2017-03-08 12:31:48 7024
原创 SQL Server 2016 SP_SpaceUsed 新参数@OneResultSet
这个新的参数@OneResultSet 就跟它的名字一样,将结果变成一个集合. 原来的SP_SpaceUsed将结果分成了两部分. 实际上使用sp_helptext sp_SpaceUsed 查看到的结果里面 create procedure sys.sp_spaceused --- 2003/05/19 14:00 @objname nvarchar(776) = null
2017-03-07 09:36:18 1230
转载 由定期作业引起的CPU峰值
这是一篇转文, 原文参考http://www.sqlservercentral.com/articles/Jobs+configuration/149036/ 如下图,可以看到一个周期性每几分钟出现的峰值. 经过筛查,我发现这些峰值可能与几个固定的作业有关.下面是查证作业周期时间的Query. /*Script source: http://www.sql
2017-03-07 08:42:53 694
原创 如何查看磁盘使用状况
最为DBA监控磁盘使用状况是非常非常非常(重要的事情说三遍)重要的工作. 磁盘空间资源的耗尽将造成实例错误,不能继续使用等等问题. 那么如何监控磁盘的使用状况? 自动: 报警应用系统监视器SMON,可以提供自动监控功能. 手动: 使用查询 SYS.DM_OS_VOLUME_STATS 使用Powershell 使用wmi 使用PERFMON
2017-03-06 13:45:17 1258
原创 使用UncaughtExceptionHandler重启线程
我们已经知道,Java中有两种异常,即已检测异常和未检测异常。已检测的异常必须在抛出语句(throws clause)的方法中指定或者捕获。未检测的异常不需要指定或捕获。因为run()方法不接受抛出语句,所以当一个检测的异常在一个Thread对象的 run()方法中抛出,我们需要对其进行捕获并做相应的处理。但是当一个未检测的异常在一个线程的run()方法中抛出,默认的行为是将堆栈跟踪信息写到 控制
2017-03-05 12:49:04 418
转载 分布式系统中的数据同步
许多人在日常工作中都会用到分布式系统,它的好处就是它所提供的稳定性,容错性以及伸缩性使我们能更容易地构建出稳定,高效的应用。然而分布式系统的使用非常具有挑战性,包括数据同步以及理解冲突的意义。分布式系统中的数据同步本身就是一项非常巨大的挑战。如果光看物理时间戳的话我们无法确定哪个版本的数据才是最新的,因为你无法确保所有的实体的物理时钟都是完美同步的。比如说,两台同步的服务器将时间戳写入到同一个
2017-03-05 12:43:19 1508
转载 全数据库查询字符串
if OBJECT_ID('fun_mu') is not null drop function fun_mugocreate function fun_mu(@tb varchar(100),@text varchar(8000))returns varchar(max)asbegindeclare @sql varchar(max)select @sql=ISNUL
2017-03-05 12:39:37 541
转载 如何自动检测死锁并发送警告邮件
并发事务处理中发生死锁是我们作为DBA不想看到的,但又无法避免的常见实际问题。 能否数据库自动检测发生死锁,并将此信息发送到管理员邮箱呢?Look here !首先,我们要捕捉到死锁状态。在SQL Server 中,捕捉状态最常用的方法是 跟踪(Trace) ,具体要跟踪的项目在sql server 中叫做跟踪标记 (trace Flags) .跟踪死锁,我们就用到了 1204
2016-12-10 16:08:51 1069
转载 编程语言的演化
名称 代表语言 核心概念 运行机制 关键突破 实现原理 主要目的 常见应用 元编程(Meta programming) Lisp/Ruby/JavaScript 元程序 动态生成代码或者自动修改执行指令 突破语言
2016-12-10 15:55:43 803
原创 字符串各进制之间的转换
--2进制转10进制--2进制转16进制--10进制转16进制--16进制转10进制CREATE FUNCTION dbo.F_Hex_Dec(@s varchar(max)) RETURNS bigint AS BEGIN DECLARE @i BIGINT , @result BIGINT DECLA
2016-12-04 09:51:30 913
转载 有效处理Java异常三原则
Java中异常提供了一种识别及响应错误情况的一致性机制,有效地异常处理能使程序更加健壮、易于调试。异常之所以是一种强大的调试手段,在于其回答了以下三个问题:什么出了错?在哪出的错?为什么出错?在有效使用异常的情况下,异常类型回答了“什么”被抛出,异常堆栈跟踪回答了“在哪“抛出,异常信息回答了“为什么“会抛出,如果你的异常没有回答以上全部问题,那么可能你没有很好地使用它们。有三个原则
2015-06-03 09:31:25 684
转载 PowerBuilder 面向对象
PB面向对象编程研究 1. 前言 众所周知,PowerBuilder是第四代面向对象开发语言。 面向对象程序设计的根本目的是实现数据的封装和隐藏。面向对象主要有三大特点,即封装性、继承性和多态性。 面向对象的封装性将数据与函数组织在同一个结构单元中,从而,实现数据和函数的关联以及数据对结构单元外的隐藏。进而实现结构单元与结构单元之间的弱耦合性。这里所说的结构单元就是类。 面向对象的继承性
2015-01-09 13:06:06 1924
原创 ssms 用户名密码存储位置
SQL Server Management Studio 2012 C:\Users\%username%\AppData\Roaming\Microsoft\SQL Server Management Studio\11.0\SqlStudio.binSQL Server Management Studio 2008C:\Users\%username%\AppData\
2014-11-15 09:45:29 3010
转载 WEB中文字体应用指南
推荐!WEB中文字体应用指南 而真正的挑战在于中文字体,由于中文字体组成的特殊性导致其体积过于庞大,除了操作系统内置的字体之外,我们很难在网站上应用其他的字体。在可选性很差的前提之下,如何正确的使用中文字体呢?首先,以下的字体声明都是很糟糕的,切忌使用:Font-family: “宋体”Font-family: “宋体”,Arial;Font-family: Arial,”
2014-08-06 14:55:13 782
原创 数据库常规Top 10
查看数据库基本运行信息时 : CPU IO Recompile Select 都是我们要查看的要点。可以利用一下语句进行查看--CPUSELECT TOP 10 total_worker_time AS TotalTime, total_worker_time/execution_count AS avg_cpu_cost, plan_handle, execution_
2013-12-18 08:19:32 2003 1
转载 Ubuntu 快捷键
在Ubuntu中不少大家熟悉的快捷键将,本文提供一些最常用的快捷键,将为你的Ubuntu操作带来便捷之旅。首先提供的是键盘快捷键:1、Super键(Win键) – 打开dash。2、长按Super键 – 启动Launcher。3、按住Super键,再按1,2,3等数字键 – 从Launcher打开一个应用程序,当你按住Super键时,每个应用程序图标上都会显示一个数
2013-11-12 10:44:06 810
转载 SQLSERVER数据库主要状态和切换路径
SQLSERVER数据库主要状态和切换路径一个SQLSERVER数据库会处于很多种状态,例如 ONLINE 、RESTORING 、RECOVERING 、RECOVERY_PENDING 、SUSPECT、EMERGENCY 、OFFLINE等等。只有在ONLINE的状态下,数据库才能被正常访问。下图主要反映了数据库的主要状态之间的切换路径 下面
2013-06-27 19:49:10 1040
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人