
SQL Server 数据库管理
文章平均质量分 80
niyi0318
这个作者很懒,什么都没留下…
展开
-
SQL Server的“高可用性”与“灾难恢复” 之三 日志传送
SQL Server有多种技术可以用于实现自动创建冗余数据拷贝,提供数据灾难恢复的功能。其中,日志传送(logshipping)是最早出现的技术之一。虽然日志传送“年纪”很大,但是它依旧凭借着其独有的特点,在SQLServer的灾难恢复技术中扮演着重要的角色。日志传送的结构日志传送的工作机制非常简单。它主要是通过最基本的数据库事务日志备份和还原任务,来保持两台或者多台机器之间数据库同步,以原创 2012-10-17 11:19:23 · 4392 阅读 · 1 评论 -
阻塞与死锁 之二 锁资源模式和兼容性
SQL Server数据库引擎具有多粒度锁定,允许一个事务锁定不同类型的资源。为了尽量减少锁定的开销,数据库引擎自动将资源锁定在适合任务的级别。锁定在较小的粒度(例如行上)可以提高并发度,但开销较高,因为如果锁定了许多行,就需要维护很多锁。锁定在较大的粒度(例如表)上,会降低并发度,因为锁定整个表限制了其他事务对表中任意部分的访问,但其开销较低,因为需要维护的锁数目较少。数据库引擎通常必须获取原创 2012-10-19 10:12:22 · 1073 阅读 · 0 评论 -
SQL Server 损坏修复 之一 常见错误解读
SQL Server 对数据库损坏的错误类型做了细化,在此对几个典型的错误作一下介绍。 错误信息是:“在文件 '%ls'中、偏移量为 %#016I64x 的位置执行 %S_MSG 期间,操作系统已经向 SQL Server 返回了错误 %ls。”“The operating systemreturned error %ls to SQL Server during a %S_MSGat原创 2012-10-18 11:07:52 · 7608 阅读 · 1 评论 -
SQL Server 2012 新功能简介之二 性能的提升
通过在数据库引擎中引入列存储技术,SQL Server成为第一个能够真正实现列存储的万能主流数据库系统。列存储索引将在SQL Server分析服务(SSAS,PowerPivot的重要基础)中开发的VertiPaq技术和一种称作批处理的新型查询执行范例结合起来,为常见的数据仓库查询提速,效果十分惊人。在测试场景下,星型联接查询及类似查询使客户体验到了近100倍的性能提升。 全面改进全文搜索原创 2012-10-19 10:33:05 · 1643 阅读 · 0 评论 -
语句调优 之一 是否是因为做了物理I/O而导致的性能不佳
用什么办法能知道一条语句的运行有没有做物理I/O呢?怎样才能知道,一条语句在数据提前缓存在内存里的前提下,要运行多久呢?这个信息管理员要打开set statisticsio on 和set statistics time on开关以后,运行语句,才能得到。例如运行下面这段话,因为它在运行之前使用dbccdropcleanbuffers指令清除了缓冲池里所有缓存的页面,所以一定会做物理I/O动作原创 2012-10-19 10:23:20 · 89 阅读 · 0 评论 -
阻塞与死锁 之四 如何监视锁的申请,持有和释放
在分析不同形式的语句执行对申请锁行为的影响之前,管理员要先了解怎么去监视一个连接当前持有的锁,以及怎么去监视一个语句的执行过程中,SQL Server对锁的申请和释放行为。检查一个连接当前锁持有的锁 通常可以使用sp_lock这句命令来列出当前SQL Server里所有的连接持有的锁的内容。我们也可以查询sys.dm_tran_locks这张系统动态管理视图来实现。SELECT原创 2012-10-19 10:16:22 · 1167 阅读 · 0 评论 -
阻塞与死锁 之一 锁产生的背景
事务是关系型数据库的一个基础概念。它是作为单个逻辑工作单元执行的一系列操作。一个逻辑工作单元必须有4个属性,称为原子性、一致性、隔离性和持久性属性(ACID),只有这样才能成为一个事务。 原子性事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。比如一个事务要修改100条记录,要不就100条都修改,要不就都不修改。不能发生只修改了其中50条,而另外50条没有改的情况。原创 2012-10-19 10:11:23 · 841 阅读 · 0 评论 -
SQL Server 损坏修复 之二 DBCC CHECKDB
DBCC CHECKDB指令可以完成两项任务:(1)检查数据库里有没有损坏发生。(2)尽力修复数据库损坏,使数据能够重新被正常访问。所以哪怕是一个正常运行的数据库,也建议定期运行这句指令,以确保没有损坏发生。对于已经发生访问错误的数据库,应该在第一时间运行这句指令,了解损坏的范围和程度。那么DBCCCHECKDB究竟做了哪些检查呢?在做些什么DBCC CHECKDB通过依次执行下列操作原创 2012-10-18 11:08:26 · 6959 阅读 · 0 评论 -
数据库备份与恢复 之七 应对由于备份损坏导致的还原错误
数据库管理员最大的梦魇,莫过于已经做了备份,但是在想恢复的时候,发现备份文件也是坏的。这将意味着数据库的丢失,后果非常可怕。发生这种情况的原因一般有3个:· 备份文件和数据库放在同一个(或一组)物理硬盘上。硬盘出故障,备份也保不住。· 备份介质损坏;或者做的是网络备份,数据在网络传输中发生了损坏。· 数据库在做完整备份、文件备份或者文件组备份的原创 2012-10-18 11:07:32 · 5412 阅读 · 1 评论 -
阻塞与死锁 之三 事务隔离级别与锁的申请和释放
数据库有并发操作的时候,修改数据的事务会影响同时要去读取或修改相同数据的其他事务。如果数据存储系统没有并发控制,则事务可能会看到以下负面影响:· 脏读:当一个事务开始更新数据,但是这一个事务并没有完成提交,这时候,第二个事务开始读取数据,把第一个事务所更改的数据读了出来。第二个事务读取的数据是临时的,而且很危险的,因为有可能第一个事务最终做rollback操作·原创 2012-10-19 10:14:03 · 2083 阅读 · 0 评论 -
阻塞与死锁 之五 分析
总结以上分析,如果数据库应用开发者或管理员想要影响SQLServer锁的申请和释放行为,以缓解阻塞或死锁问题,需要考虑的因素有:1. 事务隔离级别的选定。事务隔离级别越高,隔离度就越高,并发度也就越差。如果选择了比较高的隔离级别,SQLServer不可避免地要申请更多的锁,持有的时间也会增加。所以在设计应用的时候,一定要和用户谈好,尽量选择默认的隔离级别(READCOMMITTED)。原创 2012-10-19 10:20:38 · 878 阅读 · 0 评论 -
SQL Azure
关键词:云计算,微软云技术,Azure云数据库服务,专注于解决方案而非基础架构安装、建立、修补和维护数据库需要花费大量的时间和精力,但是并不能够帮助解决业务问题。期望获得业务敏捷性的企业还需要作出更多的努力,进一步扩展灵活性、维护高可用性,并为全球性的客户群体提供服务。作为Windows Azure平台的一部分, SQL Azure通过一整套云数据库服务来帮助客户解决这些问题。SQL Azure原创 2012-11-07 14:25:25 · 715 阅读 · 0 评论 -
微软大数据解决方案
关键词:大数据,解决方案,hadoop,apache总体介绍为了从数据中寻找商业价值,如今的企业面临着越来越多的挑战:首先,新的设备和传感器不断出现,导致数据持续激增和硬件成本迅速下降。如今,更多的企业需要存储TB甚至PB的数据。其次,当客户既以关系型格式存储结构化数据,又存储非结构化数据时(例如WORD或者PDF文件、图像、视频和地理空间数据),数据会更加复杂。事实上,行业分析师证实,超过80%原创 2012-11-07 14:05:24 · 12336 阅读 · 1 评论 -
微软大数据平台
关键字: 大数据,hadoop,big data,微软大数据什么是大数据 身处一个信息爆炸的时代,数据成为企业中不可或缺的重要部分。无论是统计,分析还是预测,企业为了做出决策对数据的依赖性越来越高。从最开始的ERP, CRM系统数据到后来的web2.0电子商务,广告,移动,协作的数据到今时今日wiki,blog,天气图像,文字,影音等等。我们把现在的的数据叫做大数据(big data)。原创 2012-11-06 10:29:41 · 1741 阅读 · 1 评论 -
SQL Server 2012 列存储索引
关键字:sqlserver 2012,列存储索引,column index 概述 SQL Server 2012 通过采用列式存储的索引,大大提高了数据仓库的查询效率。这种全新的索引与其它新功能相结合,在一些特定应用场景下可以将数据仓库的查询性能提高数百倍甚至数千倍,对于一些决策支持类的查询,通常也可以达到10倍左右的性能提升。这些性能的提升,都是通过大家所熟悉的T-SQL语句以及SQL Serv原创 2012-10-19 10:45:04 · 23331 阅读 · 0 评论 -
SQL Server 2012 新功能简介之五 数据的可靠性,一致性
数据质量服务数据质量服务(DQS)作为SQL中一项全新的服务,能够帮助企业实现端到端的数据管理。DQS提供客户可以使用的知识驱动工具,允许数据管理员创建并维护一个数据质量知识库(DataQuality Knowledge Base),这个知识库对于提高数据质量很有帮助,并且能够简化数据管理。具体而言,客户可以使用企业的相关知识信息来完成数据的配置、清除及匹配,对于数据质量可以完全放心。DQS可原创 2012-10-19 10:36:13 · 1580 阅读 · 0 评论 -
SQL Server 2012 新功能简介之三 企业安全性及合规管理
SQL Server在审核功能方面的改进使其灵活性和可用性也得到一定程度的增强,这能够帮助企业更加自如地应对合规管理所带来的问题。· SQL Server所有版本中均提供了数据审核功能,这样一来,企业可以在所有版本中使用原先只面对企业版开放的审核功能,因此更多彻底审核在SQL Server数据库范围内得以进行,从而实现了审计规范化,这同时也为SQL Server带来了更好的性能及原创 2012-10-19 10:34:00 · 1132 阅读 · 0 评论 -
SQL Server 损坏修复 之三 不同部位损坏的应对
如果数据库或数据库备份受损,在检查数据库完整性的时候,会发现各种各样的错误。在这一节里,我们针对不同的损坏部位,给出不同的应对方法。首先,我们创建一个测试数据库。 CREATE DATABASE TESTDBGOUSE TESTDBGOCREATE TABLE TESTTABLE(ID int,NAME nvarchar(50)) --建立两个索引,其原创 2012-10-18 11:08:57 · 6182 阅读 · 1 评论 -
SQL Server 2012 新功能简介之一 安全性和高可用性
SQL Server AlwaysOn全新的SQL Server AlwaysOn将灾难恢复解决方案和高可用性结合起来,可以在数据中心内部、也可以跨数据中心提供冗余,从而有助于在计划性停机及非计划性停机的情况下快速地完成应用程序的故障转移。AlwaysOn提供了如下一系列新功能:· AlwaysOn AvailabilityGroups 是一个全新的功能,可以大幅度提高数据库原创 2012-10-19 10:32:01 · 2463 阅读 · 1 评论 -
SQL Server 2012 新功能简介之四 数据发现
PowerView从业务主管到信息工作者,微软向各级用户提供基于网络的高交互式数据探索、数据可视化及数据显示体验,这使得自助式报表服务成为现实。现如今,任何人都可以在仅仅数秒的时间内完成一个报表的创建,并且只需点击一下鼠标就能改变数据的表现形态,还可以通过增加强大的定时动画序列来快速识别数据所反映出来的趋势及异常,或者通过阅读大量现有商业洞见的相关材料提出更加有说服力的论点。 Pow原创 2012-10-19 10:35:27 · 1248 阅读 · 0 评论 -
SQL Server 损坏修复 之四 Database Mirroring和AlwaysOn的页面自动修复功能
在SQL Server 2008Enterprise或更高版本上有一个很诱人的新功能。如果某个配置了数据库镜像或者AlwaysOn的数据库发生数据页面访问错误(823、824和829),数据库伙伴会自动尝试解决错误。无法读取页的伙伴会从其他伙伴请求新副本。如果此请求成功,则将以新副本替换不可读的页,这通常会解决发生在镜像或AlwaysOn的主服务器上的页面损坏。1. 数据库镜像的页面自动修原创 2012-10-18 11:09:17 · 1933 阅读 · 0 评论 -
数据库备份与恢复 之三 选择备份策略和恢复模式
SQL Server提供了足够多的技术来做各种各样的数据库备份。作为一个数据库管理员,应该选择怎样的备份策略呢?建议您问自己两个问题。(1)您管理的数据库最多能够容忍多长时间的数据丢失?(2)您准备投入多少人力物力来做数据库备份与恢复策略?问题似乎有点残酷。但是世界上大多数事情,要获得越好的效果,就需要越多的投入。数据库备份策略尤其是这样。不考虑镜像技术(包括SQLServer自己的数原创 2012-10-17 16:29:33 · 2265 阅读 · 0 评论 -
SQL Server 2012 新一代的高可用技术AlwaysOn 之七 监视AlwaysOn可用性组的运行状态
SQL Server 2012提供了非常多的信息来方便你监视可用性组的运行状态。系统视图和动态管理视图首先,AlwaysOn提供了大量的系统视图和动态管理视图,可以通过视图来监视以下对象的状态:(1) 可用性组所在的Windows故障转移群集· sys.dm_hadr_cluster· sys.dm_hadr_cluster_membe翻译 2012-10-17 13:42:18 · 3751 阅读 · 1 评论 -
SQL Server 2012 新一代的高可用技术AlwaysOn 之三 AlwaysOn的数据同步原理
像数据库镜像技术一样,AlwaysOn会在各个副本上都维护一套数据拷贝。主副本上发生的数据变化,会同步到辅助副本上。所以和镜像一样,AlwaysOn也要完成三件事:1.把主副本上发生的数据变化记录下来2.把这些记录传输到各个辅助副本3.把数据变化在辅助副本上同样完成一遍。那AlwaysOn又是怎么做的呢?在主副本和辅助副本上,SQL Server都会启动相应的线程,完成相应的任务翻译 2012-10-17 13:28:37 · 6478 阅读 · 2 评论 -
SQL Server 2012 新一代的高可用技术AlwaysOn 之二 AlwaysOn的基本架构
要部署一套AlwaysOn的方案,必须首先要部署一套Windows2008或者Windows2008 R2的群集环境。在Windows群集的节点上,你可以在群集的节点上安装SQLServer单机实例,也可以使用群集中的多个节点安装SQLServer群集实例。无论是单机实例,还是群集实例,只要这些实例上都配置了同一个AlwaysOn可用性组,这些实例就被称为该可用性组的可用性副本(Availabil翻译 2012-10-17 13:22:25 · 15984 阅读 · 0 评论 -
SQL Server的“高可用性”与“灾难恢复” 之四 数据库镜像
根据前面的介绍读者会发现,故障转移群集技术和日志传送技术都不是那么“完美”。故障转移群集可以让系统在遇到故障时自动恢复,但是不能提供数据冗余,以对抗数据库损坏事故。日志传送可以提供冗余的数据拷贝,但是主数据库和辅助数据库之间的时间差可能比较长,故障切换也比较麻烦。所以仅有这两种技术,还是不能满足SQLServer用户的需求。数据库镜像功能首次出现在SQL Server 2005 SP1中。它设原创 2012-10-17 11:23:38 · 4595 阅读 · 2 评论 -
SQL Server的“高可用性”与“灾难恢复” 之二 故障转移群集
SQL Server使用最广的高可用性技术叫做故障转移群集(SQLServer Failover Cluster)。这是一项基于Windows故障转移群集的一种技术。SQLServer故障转移群集技术集成了微软技术一贯简单易用的特点,在部署和管理上都非常容易,同时又能提供非常良好高可用性,因此目前得到了非常广泛的使用。可以说,它是SQL2012之前的各个版本,实现高可用性的必选技术。故障转移群原创 2012-10-17 11:12:13 · 15385 阅读 · 1 评论 -
SQL Server的“高可用性”与“灾难恢复” 之五 复制
复制(replication)也是SQLServer上一个非常“资深”的功能了。它采用了独特的“发布-订阅”的模式,将SQLServer中的数据分发到各个服务器或客户端上去。需要说明的是,复制并不是一个为灾难恢复而设计的的功能,它更注重的,是数据同步。用复制来作为灾难恢复的解决方案,往往是使用较多的代价和资源,但只是实现的效果很一般,可以说是性价比不高。大多数情况下,你可以使用日志传送或者数据原创 2012-10-17 11:28:46 · 3507 阅读 · 1 评论 -
SQL Server的“高可用性”与“灾难恢复” 之六 高可用和灾难恢复技术的选择
通过前面的介绍,相信你对各种高可用和灾难恢复技术已经有一定程度的了解。这些技术都已经被广泛的应用在了全世界的各种企业环境中,为应用持续运行提供保障。高可用和灾难恢复技术的比较每一种技术都有其优点和局限,这些因素决定了它适用于怎么样的环境。要比较各种不同的高可用和灾难恢复技术,就要了解它们的优点和局限。这样才能根据你的需求选择最合适的一款。故障转移群集故障转移群集是SQL Serve原创 2012-10-17 11:32:28 · 5283 阅读 · 1 评论 -
数据库备份与恢复 之六 带有FILESTREAM功能的数据库备份和恢复
从SQL Server 2008开始,数据库引入了FILESTREAM这个功能。对于BLOB数据,如Images, Video, Word文档等等,可以存放在文件系统中,而不是在数据库文件里。这对数据库备份和恢复有什么影响呢。我们通过一个例子,来检查一下带有FILESTREAM功能的数据库备份和恢复方案。 第一步,在数据库服务级别,启动FILESTREAM,我们可以打开数据库的配置管理器,原创 2012-10-17 16:36:59 · 1399 阅读 · 1 评论 -
SQL Server 2012 新一代的高可用技术AlwaysOn 之一 总体介绍
前一章我们讨论了SQLServer过去几个版本所包含的高可用性和灾难恢复技术,也详细地介绍了它们彼此的优缺点。可能你对高可用的要求非常高,任何一种技术都无法完全满足你的要求。而把几种技术组合起来,又会给部署和维护带来太多的复杂性。你会觉得有一点遗憾,为什么没有一种更强大更完善的技术来满足你所有的诉求呢?从SQLServer 2012开始,SQLServer引入了一种新的高可用技术,它的名字叫做Al翻译 2012-10-17 13:12:33 · 22358 阅读 · 0 评论 -
数据库备份与恢复 之四 选择数据库还原方案
为了帮助用户能以最快的速度还原数据库,SQLServer也在不断引入新的还原方法。SQL Server一共可以支持4个级别的数据还原: 数据库(“数据库完整还原”)级还原和恢复整个数据库。数据库在还原和恢复操作期间会处于离线状态。 数据文件(“文件还原”)级还原和恢复一个数据文件或一组文件。在文件还原过程中,包含相应文件的文件组在还原过程中自动变为离线状态。访问离线文件组的原创 2012-10-17 16:33:13 · 2227 阅读 · 0 评论 -
SQL Server 2012 新一代的高可用技术AlwaysOn 之六 可读的辅助数据库
相对数据库镜像,AlwaysOn的一个重要优势就是可以将辅助数据库配置成可读模式。这极大地增强了数据库整体的伸缩性。通过将只读请求分流到辅助数据库,主副本的工作负载得到了减轻,读和写之间的冲突可以得到缓解,辅助副本的硬件资源也能得到利用。同时,通过AlwaysOn的“只读路由”功能,只读操作可以动态地被转向辅助副本。在一定程度上,可以实现对终端用户透明。利用这个功能,SQLServer可以实现工作翻译 2012-10-17 13:39:33 · 5359 阅读 · 1 评论 -
数据库备份与恢复 之五 系统数据库备份与恢复
前面我们讲的备份与恢复,都是集中在用户数据库上。SQLServer还维护着一组系统级数据库(称为“系统数据库”),这些数据库对于服务器实例的运行至关重要。每次进行过系统更新后,都必须备份多个系统数据库。必须备份的系统数据库包括msdb、master和model。如果有任何数据库在服务器实例上使用了复制,则还必须备份distribution系统数据库。备份这些系统数据库,就可以在发生系统故障(例如硬原创 2012-10-17 16:34:47 · 1879 阅读 · 2 评论 -
数据库备份与恢复 之二 备份概述
SQL Server的开发部门一直在致力完善SQL Server的备份恢复功能,希望帮助数据库管理员用最小的代价保证数据安全。所以基本上每个版本在这方面都有功能扩充。丰富的功能带来的一个副作用是,在联机丛书或其他介绍备份恢复的文档里,会看到很多种备份方法,让人有点莫衷一是。它们之间是什么关系呢?这里让我们来梳理一下。SQL Server数据库分数据文件和日志文件。为了使得数据库能够恢复到某个一原创 2012-10-17 16:23:10 · 1121 阅读 · 0 评论 -
数据库备份与恢复 之一 概述
数据安全是数据库的生命。管理员可以小心地在软件层面配置各种安全策略,防止数据的意外丢失。可是再小心,也很难保证数据的100%安全。难免会有一些意外灾难发生,例如: 使用者错误比如,一个有管理员权限的使用者不小心把整张表都删掉了;或者安全策略有漏洞,数据被人恶意修改。 硬件故障比如硬盘损坏,里面的数据文件无法再被访问;或者服务器整个故障,甚至无法启动。 自然灾害例原创 2012-10-17 16:21:10 · 1259 阅读 · 0 评论 -
SQL Server的“高可用性”与“灾难恢复” 之一 总体介绍
作为一个数据库服务,SQL Server其实可以分成两个部分:1) SQL Server服务本身SQL作为一个应用服务,接受用户的连接,处理用户发过来的各项请求等。这部分功能是由一组安装在Windows上的可执行文件来提供的。如果这部分出问题,就需要恢复Windows系统、网络连接、SQLServer的可执行文件、以及SQL的一切相关配置。如何能保证这部分的正常运行,在系统故障时能够快速原创 2012-10-17 10:52:07 · 8124 阅读 · 4 评论 -
SQL Server 2012 新一代的高可用技术AlwaysOn 之八 总结
通过前面的介绍,你可以发现AlwaysOn是一项集合了故障转移群集、数据库镜像和日志传送的优点于一身的、功能强大的“高可用性+灾难恢复”技术。有了它,你不需要通过结合多种技术,就可以获得一个或多个和本地完全同步的远程数据副本,像群集一样,副本之间可以进行自动故障转移,同时还可以对客户端完全透明。通过AlwaysOn来构架方案,能够降低部署的难度以及后期维护的复杂度。如果你对你的SQLServer数翻译 2012-10-17 13:43:13 · 3452 阅读 · 3 评论 -
SQL Server 2012 新一代的高可用技术AlwaysOn 之五 AlwaysOn的故障转移形式
前面我们介绍了AlwaysOn是如何实现副本之间的数据同步的。那它的另一大功能:故障转移又是怎么实现的呢?首先,来了解下AlwaysOn是如何发现可用性组出现问题的。由于AlwaysOn可用性组是建立在Windows故障转移群集之上的,因此和SQLServer群集类似的,AlwaysOn可用性组也需要一个群集resourceDLL来连接Windows群集和SQLServer实例。由于可用性翻译 2012-10-17 13:36:10 · 7021 阅读 · 2 评论 -
微软私有云
关键词:云计算,私有云,hyper-v什么是私有云私有云是云服务在企业专用资源上的实施,无论这些资源是否在本地。私有云为专用资源提供额外的控制及定制方法,客户可以从中享受到许多公共云计算所带来的的好处,包括自助服务、可伸缩性、较强的灵活性等。私有云可以实现两种云服务模型:云基础设施服务(IaaS)和云平台服务(PaaS)。IaaS允许客户使用基础设施资源(计算、网络及存储),以此来提供服务;Paa原创 2012-11-07 13:49:23 · 14960 阅读 · 10 评论