摘要:
数据库运维人员,在维护数据库时,有时会遇到一些特殊的情况,例如,SQL Server实例无法访问,此时需要用到管理员在紧急情况下专用的连接;有时,在做一些系统级别的配置修改时,当前数据库不能被其他用户访问,必须把数据库切换到单用户模式。居安思危,在系统正常运行时,多做一些演练,避免在真正出现异常时, 阅读全文
摘要:
PowerBI 使用 内存的列式数据库 VertiPaq,用于对已发布的数据集进行数据压缩和快速处理,能够使PowerBI报表执行脱机访问,面向列的处理,高度优化对1:N关系的处理性能。关系是数据分析的基础,正因为数据之间存在关系,分析数据才有了意义。PowerBI支持的关系(Reliationsh 阅读全文
摘要:
DAX 表达式主要用于创建度量列(Measure),度量值是根据用户选择的Filter和公式,计算聚合值,DAX表达式基本上都是引用对应的函数,函数的执行有表级(Table-Level)上下文和行级(Row-Level)上下文之别;其交互行为都是通过表之间的关系实现的,用户选择的Filter,会通过 阅读全文
摘要:
最近做了几个PowerBI报表,对PowerBI的设计有了更深的理解,对数据的塑形(sharp data),不仅可以在Data Source中实现,例如在TSQL查询脚本中,而且可以在PowerBI中实现,例如,向数据模型中添加自定义字段,或者在报表数据显示时,根据数据表之间的关系做数据的统计。本文 阅读全文
摘要:
通常情况下,我们创建的表都是未分区的表,或者说,只有一个分区的表,数据只能存储在一个文件组(File Group)中,默认情况下,表数据存储在PRIMARY文件组。对表进行分区后,每一个分区都独立存储在文件组(File Group)中。把表分区,实际上是把逻辑上完整的表,按照特定的字段拆分成多个分区 阅读全文
摘要:
事务用于处理数据的一致性,事务的定义是,处于同一个事务中的操作是一个工作单元,要么全部执行成功,要么全部执行失败。把事务的概念应用到在实际的SSIS Package场景中,如何在Package中实现事务,事务的行为是什么样的,你真的了解吗? SSIS默认支持Task组件级别的事务,在默认情况下,单个 阅读全文
摘要:
最近接手一个项目,程序的基本框架是:程序A导出数据,以.tsv格式存储,数据列之间以tab间隔;程序B吃文档,把数据导入到数据库中,并把处理过的文档备份/移动到指定的目录中。为了快速开发,程序B设计成SSIS的Package,本文主要分享Package的设计思路,组件用法和注意事项。在设计Packa 阅读全文
摘要:
在SSIS工程的开发过程中,OLEDB 数据源和目标组件是最常用的数据流组件。从功能上讲,OLEDB 数据源组件用于从OLEDB 提供者(Provider)中获取数据,传递给下游组件,OLEDB提供者是外部数据源,SQL Server是其中一种OLEDB提供者;OLEDB目标组件用于把数据流插入到关 阅读全文
摘要:
SQL Server授予用户访问对象的权限,通常的模式是:Grants permissions on a securable to a principal(user or login),也就是说,授予权限的命令分为三部分:Permission,Securable 和 Principal,用一句话来解 阅读全文
摘要:
SQL Server数据库有完善的权限管理机制,对于存储过程,其权限分为查看定义,执行和修改,查看SP定义的权限是:VIEW DEFINITION ,执行存储过程的权限是:EXECUTE,修改SP的权限是:ALTER,但是该权限也能修改表结构,视图的定义等数据库对象。数据的读取权限是SELECT,这 阅读全文
摘要:
在数据库安全体系中,Login和User是两个最基本的安全主体(Principal),Login用于登陆到SQL Server实例,而User用于访问数据库。Login和User之间有一个映射关系,通过SID(安全标识,Security ID)连接到一起。在一个数据库中,如果一个User没有相应的L 阅读全文
摘要:
在数据库开发过程中,字符串和关系表的转化是一项基本技能。当字符串中存在分隔符时,有时将其转换成关系表数据,和其他数据表进行join查询,出现这种情况,是因为没有遵守关系数据库的设计范式,没有把字符串拆分成原子项存储,也有可能是数据传参数;有时会遇到相反的情况,需要将关系表的相关数据拼接成一个字符串显 阅读全文
摘要:
时光荏苒,一晃,我已过而立之年,人生之路已经走完小一半了,回头想想在上海工作的这几年,我的心理状态发生了很大的变化,从向往上海,到想逃离上海;从任性,依赖父母,到成熟,为父母和家庭分忧。然而,在上海待久了,安家的意愿越来越强烈,归属感越来越稀薄,对未来越来越迷茫,是时候,给自己的人生做一个反思了,出 阅读全文
摘要:
在数据库开发中,对两个关系表进行连接查询,能够直接做“逻辑或”的查询,而对于逻辑与和逻辑非的查询,则稍复杂点,需要编写额外的代码来实现。在关系型数据库中,所谓的连接,实际上是集合的包含,只要包含一项,就满足连接条件,实现的逻辑或,这种设计,能够满足绝大多数的查询需求。有时,对于一条数据,可能需要通过 阅读全文
摘要:
在传递数据时,XML和JSON是最常用的数据格式,SQL Server从很早的版本就开始支持XML格式,而对于JSON格式,SQL Server从2016版本开始支持。大多数数据库系统并没有升级到SQL Server 2016版本,因此在传递格式化的数据时,通常还是使用XML格式。对我而言,查询和解 阅读全文
摘要:
在事务复制中,发布服务会把日志记录到事务日志文件中,Replication Log Reader Agent是一个可执行的进程,用于监控发布数据库中的事务日志,把标记为复制的事务从日志文件读取到分发数据库distribution中。 调整Log Reader Profile 参数 在数据仓库中,通常 阅读全文
摘要:
数据库占用的存储空间,从高层次来看,可以查看数据库文件(数据文件,日志文件)占用的存储空间,从较细的粒度上来看,分为数据表,索引,分区占用的存储空间。监控数据库对象占用的硬盘空间,包括已分配,未分配,和未使用的空间占比,能够有效地管控存储空间,合理利用,避免部分文件空间不足,而其他文件浪费空间的问题 阅读全文
摘要:
数据库引擎是高度优化的闭环系统,基于执行计划的反馈,查询优化器在一定程度上自动优化现有的执行计划。查询优化的核心是索引优化,数据库引擎通过计数器统计关于索引操作的数据,统计的信息包括:使用次数、物理存储、底层操作的计数,以及缺失索引等,这些统计数据存储在内存中,是数据库引擎执行情况的真实反馈,高度概 阅读全文
摘要:
存储数据是为了查找数据,存储结构影响数据查找的性能。对无序数据进行查找,最快的查找算法是哈希查找;对有序数据进行查找,最快的查找算法是平衡树查找。在传统的关系型数据库中,聚集索引和非聚集索引都是平衡树(B-Tree)类型的存储结构,用于顺序存储数据,便于实现数据的快速查找。除了提升数据查找的性能之外 阅读全文
摘要:
在项目组待的时间久了,渐渐地跟微软的项目经理Michael熟悉起来了,跟他有过很多次深入的聊天,向他请教过很多关于人生,理想,技术上的问题,不得不说,项目经理是我神往的角色。虽然我没有亲身经历过,但是我认为做项目经理很有意思,把一个想法变成项目,服务于业务,这是我期望的工作。 佛者说:“一花一世界, 阅读全文