DBA思考系列--学会拒绝不合理的需求   一直以来,个性都比较随意,一般很少拒绝开发人员的一些需求(有点老好人的感觉). 这点一直被老大诟病,也一直在反省!最近又有一件事情,让我觉得:应该学会拒绝不合理需求!先简单阐述一下事情经过 在一个SQL Server服务器上有一个作业,已经按照他们的需求设置了好几个Schedule了.如下所示,这个作业执行的Schedule是已经够复杂的了吧 最近开发人员又提出要求,要求拥有手工执行该作业的执行权限.原因是:有时候数据没有到位或修改了相关参数需要重新运…
诸多迹象昭示着凛冬将至,大萧条终于正式在全国各地拉开了序幕,很多80后的国人没有经历过苦日子,也没有经历过真正的金融危机.这场经济危机必将摧毁一些无视经济能力,盲目购房,盲目消费的家庭或个人.个人对经济.就业的看法比较消极,最近层出不穷的一些坏消息也让我焦虑不安.自己也说不清楚为什么这么焦虑,也许是动物本能的危机感.但愿是杞人忧天! 不清楚这个寒冬终将持续多久?也不清楚哪一天就波及到自己.家人.朋友! 对于国家来说,很有可能像日本那样出现一个失去发展和活力的二十年,甚至是更糟糕的结果.对于个人而…
原文转自:https://www.cnblogs.com/gaochundong/p/everyone_is_a_dba_sqlserver_architecture.html <人人都是 DBA>系列文章索引:  序号   名称  1 人人都是 DBA(I)SQL Server 体系结构 2 人人都是 DBA(II)SQL Server 元数据 3 人人都是 DBA(III)SQL Server 调度器 4 人人都是 DBA(IV)SQL Server 内存管理 5 人人都是 DBA(V)S…
笔者不久前写了一篇文章<做DBA必须学会,不会会死的11个Linux基本命令>,博文地址为:http://blog.csdn.net/ljunjie82/article/details/45022355 此篇文章,则是写的初中级DBA必需要学会的9个Linux网络命令.这些命令对一个DBA在维护管理.故障排除方面是否能高效的开展工作,起着举足轻重的作用. 1.ethtool Ethtool是用于查询及设置网卡參数的命令.用得最多的,莫过于查看网卡的速度,如百兆.千兆.万兆. 经常使用使用方法:…
原文:[Xamarin挖墙脚系列:Xamarin开发环境配置需求] 前言 因为操作的全是大块头,加大你们的内存,CPU网上飙.... 卤煮的机器配置  最近的版本部署包,百度云离线下载:版本:Xamarin 4.0.0.1717 http://pan.baidu.com/s/1c1ylyVI 官方文档 开发基于苹果或者谷歌的平台产品,需要安装各自对应平台下的SDK.例如:安卓,IOS的开发SDK包. 跨平台开发的产品,各自对应的支持.在Windows环境下,使用Xamarin.Viualstud…
在本章的三次作业里,每次作业我都有一个主题,分别是:托盘型共享数据.单步电梯运行优化.多部电梯运行优化,因而电梯优化实际是第二.三次作业.虽然后两次作业从性能分上看做得还不错,但阅读其他大佬博客,我深深地体会到鄙人朴素拙劣的调度算法能够取得这样的分数实属幸运,因此,对于这篇博客,我将只简略地介绍一下自己的调度算法,把重点放在关于电梯调度架构的思考上. 电梯调度算法 单电梯调度:对于每部电梯,我的调度算法都是朴素的LOOK算法,并且当休眠的电梯同时收到了可上可下的请求时,其会向从接人运行路程较短的…
1.窗口类的注册 a.windows程序中最简单的就是创建一个简单的窗口,而窗口程序的创建是基于窗口类的,窗口类决定了处理窗口消息的过程函数. b.一个窗口类可以用于创建多个窗口,也就是说窗口是窗口类的实例对象. c.所有的按钮窗口——包括下按按钮,复选框,单选框——都是基于窗口类来创建的.窗口类为这些窗口定义了窗口过程和一些其他的特性. d.当定义一个窗口的时候,我们还需要定义一些该窗口的特有的附加属性. 创建窗口(也就是创建一个类的实例),首先得先注册一个类,Windows中有Registe…
一直认为"懒"推进了科技的发展,因为"懒"而促生了各种各样的需求.科技的进步加速了各种信息的交互频率,站在台面上说是因为业务需要提高效率,成本需要降低,服务需要更好.但是,个人认为,最根本的原因还是是因为人的广义的懒惰,需要一种解题方式让原本复杂的事情变得简单.如此迭代,技术不断发展.因为懒,我们有了闪送:因为懒,我们有了各种个样的O2O.因为懒,我们不需要在各个电脑上都安装打印机驱动,而使用统一的打印盒子.因为懒,我们不想要开会的时候还去把电脑和投影设备做物理连接…
2012年初入职赶集,当时处在流量讯猛增长的阶段,3年DBA生涯收获坡多,其实坑更多(泪... 后来在做开发时,慢慢体会到 ”运维“ 和 “开发” 确实存在沟通问题:知识不对称.如何解决呢?先总结下这三年吧 DBA职责 市面上招聘 JD 一大堆,随变找几个,马上能找出共性 数据库系统的规划.设计.管理.迁移 数据库的日常维护.备份.优化及恢复 Master-Slave架构搭建.维护 业务系统上线支持,数据库设计评审,提供架构方案 数据库不局限于 MySQL, Oracle, 如果分的不细,还会有…
HBase是一个分布式的.面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”.就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力.HBase是Apache的Hadoop项目的子项目.HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库.另一个不同的是HBase基于列的而不是基于行的模式.…
什么?有个 SQL 执行了 8 秒! 哪里出了问题?臣妾不知道啊,得找 DBA 啊. DBA 人呢?离职了!!擦!!! 程序员在无处寻求帮助时,就得想办法自救,努力让自己变成 "伪 DBA". 索引 按页编号查看数据表信息 获取查询 SELECT 语句的执行次数排名 看看哪些 Ad-hoc Query 在浪费资源 查看当前处于等待状态的 Task 在等什么 查询谁在占着 Session 连接 查询程序占用的 SPID 信息 查询所有执行 SQL 对应的 sql_handle 查询最近…
工作中避免不了会去参考别人的思路和实现(代码),因此浏览博文和相关网站成了日常活动.在这一过程中,James看到很多博文都是满篇的代码,而没有相应的分析(文字描述或者流程图). 对于上述这种情况,James很是抵触:此外James在自己实现某个功能时,Ctrl+C和Ctrl+V的时候也是有的,但是过后会忘记的很快. James自己经历的"坑"多了,也有了自己的感觉和思考,在此James说说自己:为什么要拒绝Ctrl+C和Ctrl+V? 声明:本文并非适用于任何人,仅仅是James的一点…
什么?有个 SQL 执行了 8 秒! 哪里出了问题?臣妾不知道啊,得找 DBA 啊. DBA 人呢?离职了!!擦!!! 程序员在无处寻求帮助时,就得想办法自救,努力让自己变成 "伪 DBA". 索引 查看 Session 对应的 Thread 和当前 Command 侦测 Deadlocking 或阻塞问题 查看 Task 执行中哪个 Wait Type 最慢 查看当前 Task 的运行情况 查看 Lock Waits 状态 查看 Latch 等待情况 将所有 wait_type 按照…
什么?有个 SQL 执行了 8 秒! 哪里出了问题?臣妾不知道啊,得找 DBA 啊. DBA 人呢?离职了!!擦!!! 程序员在无处寻求帮助时,就得想办法自救,努力让自己变成 "伪 DBA". 索引 获取存储过程 SP 执行次数排名 查看哪个 SP 执行的平均时间最长 查看哪个 SP 执行的平均时间最不稳定 查看哪个 SP 耗费了最多的 CPU 时间 查看哪个 SP 执行的逻辑读最多 查看哪个 SP 执行的物理读最多 查看哪个 SP 执行的逻辑写最多 获取存储过程 SP 执行次数排名…
什么?有个 SQL 执行了 8 秒! 哪里出了问题?臣妾不知道啊,得找 DBA 啊. DBA 人呢?离职了!!擦!!! 程序员在无处寻求帮助时,就得想办法自救,努力让自己变成 "伪 DBA". 索引 找出哪些表的 Index 需要改进 在指定数据库中查找哪些表的 Index 需要改进 根据缓存的查询计划判断 SP 是否需要优化 发现那些 Index 的写远多于读的表 查看 Index 的 Statistics 最后更新时间 查看哪些 Index 被修改的最频繁 查看 Index 碎片化…
什么?有个 SQL 执行了 8 秒! 哪里出了问题?臣妾不知道啊,得找 DBA 啊. DBA 人呢?离职了!!擦!!! 程序员在无处寻求帮助时,就得想办法自救,努力让自己变成 "伪 DBA". 索引 数据文件和日志文件位置和大小 查看指定数据库文件的大小和可用空间 服务器 Disk 容量和挂载信息 查看 Disk 剩余空间 查询数据库设置的 Recovery Model 查看最近的 Full Backup 信息 获取所有数据库的 VLF 数量 SQL Server 的错误日志位置 查询…
什么?有个 SQL 执行了 8 秒! 哪里出了问题?臣妾不知道啊,得找 DBA 啊. DBA 人呢?离职了!!擦!!! 程序员在无处寻求帮助时,就得想办法自救,努力让自己变成 "伪 DBA". 索引 获取数据库的 CPU 使用率 过去一段时间里 CPU 利用率的历史情况 谁用 CPU 工作的时间最长 服务器上安装了多大的 Memory SQL Server 进程用了多少 Memory 是否申请新的 Memory 无法得到 SQL Server 的最大最小 Memory 配置 通过 Si…
什么?有个 SQL 执行了 8 秒! 哪里出了问题?臣妾不知道啊,得找 DBA 啊. DBA 人呢?离职了!!擦!!! 程序员在无处寻求帮助时,就得想办法自救,努力让自己变成 "伪 DBA". 索引 SQL Server 安装的是什么版本 Windows 操作系统是什么版本 SQL Server 是什么时候安装的 服务器主机名是什么 硬件服务器是谁制造的 服务器硬件是什么配置 服务器的 CPU 有几个核 服务器的 CPU 是什么型号 SQL Server 启动了哪些服务 查看指定服务运…
当在 SQL Server 数据库中创建一张表时,会在多张系统基础表中插入所创建表的信息,用于管理该表.通过目录视图 sys.tables, sys.columns, sys.indexes 可以查看新建的表的元数据信息. 下面使用创建 Customer 表的过程作为示例. USE [TEST] GO DROP TABLE [dbo].[Customer] GO CREATE TABLE [dbo].[Customer]( [ID] [int] NOT NULL, ) NOT NULL, ) N…
SQL Server 的数据库引擎通过事务服务(Transaction Services)提供事务的 ACID 属性支持.ACID 属性包括: 原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持久性(Durability) 事务日志(Transaction Log) 事务日志(Transaction Log)存储的是对数据库所做的更改信息,让 SQL Server 有机会恢复数据库.而恢复(Recovery)的过程就是使数据文件与日志保持一致的过程.…
SQL Server 数据库安装后会包含 4 个默认系统数据库:master, model, msdb, tempdb. SELECT [name] ,database_id ,suser_sname(owner_sid) AS [owner] ,create_date ,user_access_desc ,state_desc FROM sys.databases ; master master 数据库包含用于记录整个服务器安装信息和后续创建的所有数据库的信息,包括磁盘空间信息.文件分配信息.…
SQL Server 的内存管理是一个庞大的主题,涉及特别多的概念和技术,例如常见的 Plan Cache.Buffer Pool.Memory Clerks 等.本文仅是管中窥豹,描述常见的内存管理相关概念. 在了解内存管理之前,通过 sys.dm_os_memory_clerks 视图可以查询内存的使用职责(Memory Clerks),也就是内存的消耗者. SELECT [type], SUM(pages_kb) AS total_pages_kb FROM sys.dm_os_memor…
在 SQL Server 中,当数据库启动后,SQL Server 会为每个物理 CPU(包括 Physical CPU 和 Hyperthreaded)创建一个对应的任务调度器(Scheduler),Scheduler 可以看作为逻辑 CPU(Logical CPU). 根据 Affinity Mask 选项的配置,Scheduler 的状态被设置为 ONLINE 或 OFFLINE.使用下面的 SQL 来查询当前环境中 Scheduler 的状态. SELECT is_online ,[st…
SQL Server 中维护了一组表用于存储 SQL Server 中所有的对象.数据类型.约束条件.配置选项.可用资源等信息,这些信息称为元数据信息(Metadata),而这些表称为系统基础表(System Base Tables).在这些基础表中,存在于 master 数据库中的一部分基础表包含系统级范围的信息.存在于特定数据库(也包含 master db)中的基础表包含属于该特定数据库的对象和资源信息. 使用系统管理员身份登录,可以从 sys.objects 中查询所有的系统基础表. US…
在了解 SQL Server 数据库时,可以先从数据库的体系结构来观察.SQL Server 的体系结构中包含 4 个主要组成部分: 协议层(Protocols) 关系引擎(Relational Engine),也称为查询处理器(Query Processor) 存储引擎(Storage Engine) SQLOS 协议层(Protocols) 当应用程序与 SQL Server 数据库通信时,首先需要通过 SNI(SQL Server Network Interface)网络接口选择建立通信连…
[人物素描] 大学期间,担任过班委,加入过学生会,参加过社团,拿过奖学金......而印象最深刻的莫过于参加并组织过ACM集训,以及参加过导师的国家自然科学基金项目了.毕业时顺利拿到一波offer,并在腾讯SNG-PC客户端开发工程师岗和百度大数据部-机器学习数据挖掘工程师岗之间艰难抉择,最终放弃了企鹅,众里寻他签百度. [兴趣是最好的老师] 2012年9月4日晚,刚来到大学的我对大学充满着好奇,憧憬着接下来的四年里丰富而美好的大学生活.当时我来得有点早,寝室还没分配好,就暂时住在学长们的寝室里…
1.Zynq 学习裸跑系列 学会Zynq(1)搭建Zynq-7000 AP SoC处理器 作者:FPGADesigner 学会Zynq(2)Zynq-7000处理器的配置详解 作者:FPGADesigner 学会Zynq(3)Zynq的软件开发基础知识 作者:FPGADesigner 学会Zynq(4)GPIO中MIO的使用方法 作者:FPGADesigner 学会Zynq(5)GPIO中EMIO的使用方法 作者:FPGADesigner Zynq 7020笔记之 GPIO MIO 和EMIO的…
关于「The Data Way」 「The Data Way」是由 SphereEx 公司出品的一档播客节目.这里有开源.数据.技术的故事,同时我们关注开发者的工作日常,也讨论开发者的生活日常:我们聚焦开源,也鼓励开发者积极拥抱开源以外的多彩生活.这些,都将在「The Data Way」的节目中一一得到展现. 目前「The Data Way」已上线喜马拉雅.网易云音乐.小宇宙.Apple Podcasts.皮艇等音频平台,每双周周一更新,欢迎大家积极点击订阅,第一时间接收来自「The Data…
所有cs端工具集成了一个工具面板 -打开(IE) Map工具系列-01-Map代码生成工具说明 Map工具系列-02-数据迁移工具使用说明 Map工具系列-03-代码生成BySQl工具使用说明 Map工具系列-04-SQL合并执行工具 Map工具系列-05-添加业务参数工具 Map工具系列-06-销售营改增历史数据处理工具 Map工具系列-07-TFS变更集提取工具 Map工具系列-08-map控件查看器 Map工具系列-09-文件自动对比合并工具 more... 微信小程序之明源商城系列 1.…