摘要: BCP 命令的参数很多,使用 -h 查看帮助信息,注意:参数是区分大小写的 使用BCP命令导出和导入数据常用的参数如下 bcp {[[database_name.][schema_name]].{table_name | view_name} | "query"} {in | out | query 阅读全文
posted @ 2017-09-19 13:04 王思聪6 阅读(308) 评论(0) 推荐(0)
摘要: Execute Process Task 用于在Control Flow中执行应用程序,常用于对加密的数据进行解压。 1,RequireFullFileName 属性:是否需要完整的文件路径,如果在FullPath下没有找到文件,那么Task失败。File是Task执行的应用程序文件,默认值是Tru 阅读全文
posted @ 2017-09-19 13:03 王思聪6 阅读(374) 评论(0) 推荐(0)
摘要: 1,利用优先约束来并发处理数据,Data Flow Task 和 Data Flow Task 1 是并发执行的,而 Data Flow Task2 必须等到 Data Flow Task 和 Data Flow Task 1 执行完成之后,才开始执行。 2,如何从一个数据源表中并发处理数据,设计思 阅读全文
posted @ 2017-09-19 13:03 王思聪6 阅读(475) 评论(0) 推荐(0)
摘要: max,min,sum,avg聚合函数会忽略null值,但不代表聚合函数不返回null值,如果表为空表,或聚合列都是null,则返回null。count 聚合函数忽略null值,如果聚合列都是null或表为空表,则返回0。 共性:Null values are ignored. 一,聚合函数忽略NU 阅读全文
posted @ 2017-09-19 13:03 王思聪6 阅读(674) 评论(0) 推荐(0)
摘要: NULL表示unknown,不确定值,所以任何值(包括null值)和NULL值比较都是不可知的,在on子句,where子句,Merge或case的when子句中,任何值和null比较的结果都是false,这就是NULL设下的陷阱,我被坑过。 有一次,我使用Merge同步数据,由于target表中存在 阅读全文
posted @ 2017-09-19 13:02 王思聪6 阅读(322) 评论(0) 推荐(0)
摘要: 在SSISDB中,能够使用TSQL脚本执行Package;每执行一次Package,SSIS都会创建一个Operation 和一个执行实例(Execution Instance),每个Execution Instance都有唯一的标识 ExecutionID,数据类型是bigint; 有些Packa 阅读全文
posted @ 2017-09-19 13:02 王思聪6 阅读(446) 评论(0) 推荐(0)
摘要: 一,SSIS Parameter Value 的type 一个Parameter的Value共有三种类型,分别是Design Value,Server Value,Execution Value。 Design Value是指设计值,在SSDT中设计package时,为某一个Parameter指定的 阅读全文
posted @ 2017-09-19 13:02 王思聪6 阅读(729) 评论(0) 推荐(0)
摘要: 今天学习SSISParameter的用法,记录学习的过程。 Parameters能够在Project Deployment Model下使用,不能在Package Deployment Model使用。在Package Deployment Model下,使用Package Configuratio 阅读全文
posted @ 2017-09-19 13:02 王思聪6 阅读(388) 评论(0) 推荐(0)
摘要: Default约束的作用是在insert语句执行时,如果未显式给指定的column赋值,那么使用默认值给column赋值;如果在Insert命令中显式为指定的Column赋值,那么将插入显式值。每一列只能有一个default约束。 在执行update命令时,如果为Column指定default值,实 阅读全文
posted @ 2017-09-19 13:01 王思聪6 阅读(1132) 评论(0) 推荐(0)
摘要: Check约束用以限制单列或多列的可能取值范围。 1,在check约束中(check(expression)),如果expression返回的结果是Unknown,那么check返回的结果是true。 create table dbo.dt_check ( id int null constrain 阅读全文
posted @ 2017-09-19 13:01 王思聪6 阅读(730) 评论(0) 推荐(0)
摘要: 在传递数据时,XML和JSON是最常用的数据格式,SQL Server从很早的版本就开始支持XML格式,而对于JSON格式,SQL Server从2016版本开始支持。大多数数据库系统并没有升级到SQL Server 2016版本,因此在传递格式化的数据时,通常还是使用XML格式。对我而言,查询和解 阅读全文
posted @ 2017-09-19 13:00 王思聪6 阅读(189) 评论(0) 推荐(0)
摘要: unique约束使用unique index来限制列值的唯一性; 创建unique约束之后,column中允许插入null值,unique 约束将两个null值看作是相同的(即null=null为true),null和其他任何非null值都不相等。 一,unique约束分为column level和 阅读全文
posted @ 2017-09-19 13:00 王思聪6 阅读(757) 评论(0) 推荐(0)
摘要: 在数据库开发中,对两个关系表进行连接查询,能够直接做“逻辑或”的查询,而对于逻辑与和逻辑非的查询,则稍复杂点,需要编写额外的代码来实现。在关系型数据库中,所谓的连接,实际上是集合的包含,只要包含一项,就满足连接条件,实现的逻辑或,这种设计,能够满足绝大多数的查询需求。有时,对于一条数据,可能需要通过 阅读全文
posted @ 2017-09-19 12:59 王思聪6 阅读(422) 评论(0) 推荐(0)
摘要: 在数据库开发过程中,字符串和关系表的转化是一项基本技能。当字符串中存在分隔符时,有时将其转换成关系表数据,和其他数据表进行join查询,出现这种情况,是因为没有遵守关系数据库的设计范式,没有把字符串拆分成原子项存储,也有可能是数据传参数;有时会遇到相反的情况,需要将关系表的相关数据拼接成一个字符串显 阅读全文
posted @ 2017-09-19 12:30 王思聪6 阅读(174) 评论(0) 推荐(0)
摘要: 时光荏苒,一晃,我已过而立之年,人生之路已经走完小一半了,回头想想在上海工作的这几年,我的心理状态发生了很大的变化,从向往上海,到想逃离上海;从任性,依赖父母,到成熟,为父母和家庭分忧。然而,在上海待久了,安家的意愿越来越强烈,归属感越来越稀薄,对未来越来越迷茫,是时候,给自己的人生做一个反思了,出 阅读全文
posted @ 2017-09-19 12:30 王思聪6 阅读(179) 评论(0) 推荐(0)
摘要: 在数据库安全体系中,Login和User是两个最基本的安全主体(Principal),Login用于登陆到SQL Server实例,而User用于访问数据库。Login和User之间有一个映射关系,通过SID(安全标识,Security ID)连接到一起。在一个数据库中,如果一个User没有相应的L 阅读全文
posted @ 2017-09-19 12:17 王思聪6 阅读(201) 评论(0) 推荐(0)
摘要: 在每个MongoDB(版本 3.2.9) Instance中,都有一个本地数据库(local),用于存储 Replication 进程的信息和本地数据。local 数据库的特性是:位于local数据库中的数据和集合不会被 Replication 进程复制到其他MongoDB instance上。如果 阅读全文
posted @ 2017-09-19 12:11 王思聪6 阅读(346) 评论(0) 推荐(0)
摘要: 在设计一个新系统的Table Schema的时候,不仅需要满足业务逻辑的复杂需求,而且需要考虑如何设计schema才能更快的更新和查询数据,减少维护成本。 模拟一个场景,有如下Table Schema: Product(ID,Name,Description) 在设计思路上,ID是自增的Identi 阅读全文
posted @ 2017-09-19 12:11 王思聪6 阅读(126) 评论(0) 推荐(0)
摘要: 在执行Package时,SSISDB都会创建唯一的OperationID 和 ExecutionID,标识对package执行的操作和执行实例(Execution Instance),并记录operation message,统计executable的执行时间,便于developers 优化pack 阅读全文
posted @ 2017-09-19 12:11 王思聪6 阅读(381) 评论(0) 推荐(0)
摘要: 在MongoDB(版本 3.2.9)中,分片集群(sharded cluster)是一种水平扩展数据库系统性能的方法,能够将数据集分布式存储在不同的分片(shard)上,每个分片只保存数据集的一部分,MongoDB保证各个分片之间不会有重复的数据,所有分片保存的数据之和就是完整的数据集。分片集群将数 阅读全文
posted @ 2017-09-19 12:10 王思聪6 阅读(246) 评论(0) 推荐(0)
摘要: 在MongoDB(版本 3.2.9)中,数据的分发是指将collection的数据拆分成块(chunk),分布到不同的分片(shard)上,数据分发主要有2种方式:基于数据块(chunk)数量的均衡分发和基于片键范围(range)的定向分发。MongoDB内置均衡器(balancer),用于拆分块和 阅读全文
posted @ 2017-09-19 12:10 王思聪6 阅读(413) 评论(0) 推荐(0)
摘要: 在MongoDB(版本 3.2.9)中,分片是指将collection分散存储到不同的Server中,每个Server只存储collection的一部分,服务分片的所有服务器组成分片集群。分片集群(Sharded Clustered)的服务器分为三中类型:Router(mongos),Config 阅读全文
posted @ 2017-09-19 12:10 王思聪6 阅读(247) 评论(0) 推荐(0)
摘要: 项目组有一个数据库备份的Job运行异常,该Job将备份数据存储到remote server上,平时5个小时就能完成的备份操作,现在运行19个小时还没有完成,backup命令的Wait type是 ASYNC_IO_COMPLETION: 根据MSDN 官方文档的定义:Occurs when a ta 阅读全文
posted @ 2017-09-19 12:00 王思聪6 阅读(212) 评论(0) 推荐(0)
摘要: 数据库使用Table来存储海量的数据,细分Table结构,数据最终存储在Table Column中,因此,在设计Table Schema时,必须慎重选择Table Column的Data Type,数据类型不仅决定了Column能够存储的数据范围和能够进行的操作,而且合适的数据类型还能提高查询和修改 阅读全文
posted @ 2017-09-19 12:00 王思聪6 阅读(237) 评论(0) 推荐(0)
摘要: SQL Server的IO性能受到物理Disk的IO延迟和SQL Server内部执行的IO操作的影响。在监控Disk性能时,最主要的度量值(metric)是IO延迟,IO延迟是指从Application创建IO请求,到Disk完成IO请求的时间延迟。如果物理Disk不能及时完成IO请求,跟不上请求 阅读全文
posted @ 2017-09-19 11:59 王思聪6 阅读(377) 评论(0) 推荐(0)
摘要: Performance Monitor是Windows内置的一个可视化监控工具,能够在OS级别上实时记录系统资源的使用情况,通过收集和存储日志数据,在SQL Server发生异常时,能够还原系统当时的资源的使用情况,是对SQL Server进行Troubleshooting的首选工具。Perform 阅读全文
posted @ 2017-09-19 11:59 王思聪6 阅读(2033) 评论(0) 推荐(0)
摘要: 性能计数器(Performance Counter)是量化系统状态或活动的一个数值,Windows Performance Monitor在一定时间间隔内(默认的取样间隔是15s)获取Performance Counter的当前值,并记录在Data Collections中,通过Performanc 阅读全文
posted @ 2017-09-19 11:59 王思聪6 阅读(241) 评论(0) 推荐(0)
摘要: 相比图形数据的查询,Neo4j更新图形数据的速度较慢,通常情况下,Neo4j更新数据的工作流程是:每次数据更新都会执行一次数据库连接,打开一个事务,在事务中更新数据。当数据量非常大时,这种做法非常耗时,大多数时间耗费在连接数据库和打开事务上,高效的做法是利用Neo4j提供的参数(Parameter) 阅读全文
posted @ 2017-09-19 11:58 王思聪6 阅读(717) 评论(0) 推荐(0)
摘要: 副本集(Replica Set)是一组MongoDB实例组成的集群,由一个主(Primary)服务器和多个备份(Secondary)服务器构成。通过Replication,将数据的更新由Primary推送到其他实例上,在一定的延迟之后,每个MongoDB实例维护相同的数据集副本。通过维护冗余的数据库 阅读全文
posted @ 2017-09-19 11:58 王思聪6 阅读(121) 评论(0) 推荐(0)
摘要: SQL Server 使用的资源受到操作系统的调度,同时,SQL Server在内部实现了一套调度算法,用于管理从操作系统获取的资源,主要是对内存和CPU资源的调度。一个好的数据库系统,必定在内存中缓存足够多的信息,以减少从物理硬盘中读取数据的次数;如果内存是系统瓶颈,那么SQL Server一定会 阅读全文
posted @ 2017-09-19 11:58 王思聪6 阅读(203) 评论(0) 推荐(0)
摘要: 一些看似简单的数据操作,当作用于海量数据集时,就会出现“意料之外,却在情理之中”的问题,海量数据操作,需要采用特殊方法,才能“曲径通幽”。在删除海量数据时,需要注意日志的增长,索引碎片的增加和数据库的恢复模式,特别是利用大容量日志操作,来减少日志的增长和提高数据插入的速度。对于大数据去重,通过一些小 阅读全文
posted @ 2017-09-19 11:57 王思聪6 阅读(370) 评论(0) 推荐(0)
摘要: 在初始化Reporting Service时,SSRS会自动创建数据库[ReportServer],用于存储报表元数据,报表订阅,以及凭证(Credential)和连接信息等身份验证信息,身份验证数据非常重要,为了保护敏感数据,Reporting Service支持对称性密钥(Symmetric k 阅读全文
posted @ 2017-09-19 11:57 王思聪6 阅读(151) 评论(0) 推荐(0)
摘要: PM问:“Vic,现在ETL Job跑到哪一个Package了,正在执行哪个Task?”,第一次遇到这个问题时,一下就懵逼了,只能硬着头皮说:“我看看”。 在做项目开发时,这个问题很常见,但是,被很多ETL开发工程师忽略了,可能是因为,这不是一个直接可以给出答案的命题。 在做大数据处理时,ETL P 阅读全文
posted @ 2017-09-19 11:57 王思聪6 阅读(272) 评论(0) 推荐(0)
摘要: 在关系型数据库的世界中,无值和NULL值的区别是什么?一直被这个问题困扰着,甚至在写TSQL脚本时,战战兢兢,如履薄冰,害怕因为自己的一知半解,挖了坑,贻害后来人,于是,本着上下求索,不达通幽不罢休的决心(开个玩笑),遂有此文。 学习过关系型数据库的伙伴都知道,NULL是指不确定的值,在数据库中绝对 阅读全文
posted @ 2017-09-19 11:56 王思聪6 阅读(329) 评论(0) 推荐(0)
摘要: 在项目组待的时间久了,渐渐地跟微软的项目经理Michael熟悉起来了,跟他有过很多次深入的聊天,向他请教过很多关于人生,理想,技术上的问题,不得不说,项目经理是我神往的角色。虽然我没有亲身经历过,但是我认为做项目经理很有意思,把一个想法变成项目,服务于业务,这是我期望的工作。 佛者说:“一花一世界, 阅读全文
posted @ 2017-09-19 11:55 王思聪6 阅读(161) 评论(0) 推荐(0)
摘要: 数据库引擎是高度优化的闭环系统,基于执行计划的反馈,查询优化器在一定程度上自动优化现有的执行计划。查询优化的核心是索引优化,数据库引擎通过计数器统计关于索引操作的数据,统计的信息包括:使用次数、物理存储、底层操作的计数,以及缺失索引等,这些统计数据存储在内存中,是数据库引擎执行情况的真实反馈,高度概 阅读全文
posted @ 2017-09-19 11:54 王思聪6 阅读(231) 评论(0) 推荐(0)
摘要: 存储数据是为了查找数据,存储结构影响数据查找的性能。对无序数据进行查找,最快的查找算法是哈希查找;对有序数据进行查找,最快的查找算法是平衡树查找。在传统的关系型数据库中,聚集索引和非聚集索引都是平衡树(B-Tree)类型的存储结构,用于顺序存储数据,便于实现数据的快速查找。除了提升数据查找的性能之外 阅读全文
posted @ 2017-09-19 11:54 王思聪6 阅读(213) 评论(0) 推荐(0)
摘要: 内存优化表(Memory-Optimized Table,简称MOT)使用乐观策略(optimistic approach)实现事务的并发控制,在读取MOT时,使用多行版本化(Multi-Row versioning)创建数据快照,读操作不会对数据加锁,因此,读写操作不会相互阻塞。写操作会申请行级锁 阅读全文
posted @ 2017-09-19 11:53 王思聪6 阅读(351) 评论(0) 推荐(0)
摘要: 数据库引擎接收到一个新的查询请求(Batch或SP),查询优化器会生成执行计划,并缓存到内存中;下次再次执行相同的查询请求时,数据库引擎从复用已经缓存的执行计划,换句话,数据库引擎为每一个查询请求生成执行计划,并把已经生成的执行计划缓存起来,当接收到相同的查询请求时,数据库引擎复用已缓存的执行计划。 阅读全文
posted @ 2017-09-19 11:53 王思聪6 阅读(172) 评论(0) 推荐(0)
摘要: 数据库占用的存储空间,从高层次来看,可以查看数据库文件(数据文件,日志文件)占用的存储空间,从较细的粒度上来看,分为数据表,索引,分区占用的存储空间。监控数据库对象占用的硬盘空间,包括已分配,未分配,和未使用的空间占比,能够有效地管控存储空间,合理利用,避免部分文件空间不足,而其他文件浪费空间的问题 阅读全文
posted @ 2017-09-19 11:53 王思聪6 阅读(389) 评论(0) 推荐(0)
摘要: SQL Server 2016支持哈希查找,用户可以在内存优化表(Memory-Optimized Table)上创建Hash Index,使用Hash 查找算法,实现数据的极速查找。在使用上,Hash Index 和B-Tree索引的区别是:Hash Index 是无序查找,Index Key必须 阅读全文
posted @ 2017-09-19 11:52 王思聪6 阅读(140) 评论(0) 推荐(0)
摘要: 在逝去的2016后半年,由于项目需要支持数据的快速更新和多用户的高并发负载,我试水SQL Server 2016的In-Memory OLTP,创建内存数据库实现项目的负载需求,现在项目接近尾声,系统运行稳定,写一篇博客,记录一下使用内存数据库的经验。 SQL Server 2016的In-Memo 阅读全文
posted @ 2017-09-19 11:52 王思聪6 阅读(274) 评论(0) 推荐(0)
摘要: Resource Governor的出现,解决了在一台SQL Server实例上,管理多用户工作负载和资源隔离的需求,它允许管理员限制系统处理Requsts时所耗费的CPU 和 Memory资源的数量,在一定程度上,限制和隔离了runaway查询。对于SQL Server 2012,用户能够基于工作 阅读全文
posted @ 2017-09-19 11:51 王思聪6 阅读(215) 评论(0) 推荐(0)
摘要: 数据持久化是还原的前提,没有数据的持久化,就无法还原内存优化表的数据,SQL Server In-Memory OLTP的内存数据能够持久化存储,这意味着内存数据能够在SQL Server实例重启之后自动还原。在创建持久化的内存优化表时,必须设置选项:memory_optimized=on,dura 阅读全文
posted @ 2017-09-19 11:51 王思聪6 阅读(672) 评论(0) 推荐(0)
摘要: AlwaysOn是在SQL Server 2012中新引入的一种高可用技术,从名称中可以看出,AlwaysOn的设计目标是保持数据库系统永远可用。AlwaysOn利用了Windows服务器故障转移集群(Windows Server Failover Clustering,简称WSFC)的健康检测和自 阅读全文
posted @ 2017-09-19 11:50 王思聪6 阅读(488) 评论(0) 推荐(0)
摘要: Windows服务器故障转移集群(Windows Server Failover Cluster,简称WSFC)使用仲裁投票(Quorum Voting)决定集群的健康状况,或使故障自动转移,或使集群离线。当集群中的结点发生故障时,会由其他结点接手继续提供服务,不过,当结点之间通信出现问题,或大多数 阅读全文
posted @ 2017-09-19 11:50 王思聪6 阅读(331) 评论(0) 推荐(0)
摘要: 在Windows Server 2012 R2 DataCenter 环境中搭建集群之前,首先要对Windows服务器故障转移集群(Windows Server Failover Cluster,简称WSFC)有基本的了解。WSFC必须部署在域管理环境中,由多台服务器组成,每台服务器称作一个“结点” 阅读全文
posted @ 2017-09-19 11:50 王思聪6 阅读(337) 评论(0) 推荐(0)
摘要: 通过授予和拒绝(Grant/Deny)命令控制用户的权限,只能控制用户对数据库对象的访问权限,这意味着,用户访问的粒度是对象整体,可以是一个数据表,或视图等,用户要么能够访问数据库对象,要么没有权限访问,就是说,一个数据库对象,通过授予和拒绝用户的权限/角色(Permission或Role),无法使 阅读全文
posted @ 2017-09-19 11:50 王思聪6 阅读(351) 评论(0) 推荐(0)
摘要: 资源组是由一个或多个资源组成的组,WSFC的故障转移是以资源组为单位的,资源组中的资源是相互依赖的。一个资源所依赖的其他资源必须和该资源处于同一个资源组,跨资源组的依赖关系是不存在的。在任何时刻,每个资源组都仅属于集群中的一个结点,该结点就是资源组的活跃结点(Active Node),由活跃结点为应 阅读全文
posted @ 2017-09-19 11:49 王思聪6 阅读(337) 评论(0) 推荐(0)
摘要: 在关系型数据库系统中,为了满足第三范式(3NF),需要将满足“传递依赖”的表分离成单独的表,通过Join 子句将相关表进行连接,Join子句共有三种类型:外连接,内连接,交叉连接;外连接分为:left join、right join、full join;内链接是:inner join,交叉连接是:c 阅读全文
posted @ 2017-09-19 11:48 王思聪6 阅读(342) 评论(0) 推荐(0)
摘要: SSRS是微软的高度集成的报表服务,通过报表服务配置管理器(Reporting Service Configuration Manager,简称RSCM),能够轻松实现报表的配置和管理,本文主要分享凭证和邮件的配置。 一,配置凭证(Credentials) 1,配置报表服务账户(Service Ac 阅读全文
posted @ 2017-09-19 11:35 王思聪6 阅读(298) 评论(0) 推荐(0)
摘要: 1,查看表的元数据信息 在TSQL 查询编辑器中,选中一个表,如图 点击Alt+F1,就可以查看表的元数据,列的定义和ID列等 2,使用Alt批量插入逗号 在TQL语句中,有时为了使用 in 子句,必须将很多数据添加到(value_List)列表中,如何快速的添加逗号,可以使用Alt键。 TSQL代 阅读全文
posted @ 2017-09-19 11:33 王思聪6 阅读(177) 评论(0) 推荐(0)
摘要: 将Excel作为数据源,将数据导入数据库,是SSIS的一个简单的应用,下图是示例Excel,数据列是code和name 第一部分,Excel中的数据类型是数值类型 1,使用SSDT创建一个package,创建Excel data source component,SSDT会在Connection M 阅读全文
posted @ 2017-09-19 11:32 王思聪6 阅读(442) 评论(0) 推荐(0)
摘要: Java GC就是JVM记录仪,书画了JVM各个分区的表演。 什么是 Java GC Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和溢出的问题,也不需要像 阅读全文
posted @ 2017-09-19 11:31 王思聪6 阅读(157) 评论(0) 推荐(0)
友情链接:回力球鞋 | 中老年高档女装