随笔分类 - SQL Server 管理

摘要:在SQL Server中,为Partition Scheme多次指定Next Used,不会出错,最后一次指定的FileGroup是Partition Scheme的Next Used,建议,在执行Partition Split操作之前,都要为Partition Scheme指定Next Used。 阅读全文
posted @ 2016-12-27 16:59 悦光阴 阅读(1805) 评论(0) 推荐(3) 编辑
摘要:SQL Server 并发控制 第一篇:并发模式和事务 SQL Server 并发控制 第二篇:隔离级别和锁(1) SQL Server 并发控制 第三篇:隔离级别和行版本(2) 隔离级别定义事务处理数据读取操作的隔离程度,隔离级别控制读操作的行为。在乐观并发模式下,使用行版本化技术,当对数据进行更 阅读全文
posted @ 2016-12-24 16:25 悦光阴 阅读(14997) 评论(4) 推荐(7) 编辑
摘要:本文用于收集在运维中经常使用的系统内置(built-in)函数,持续整理中 一,常用的获取元数据的函数 1,查看数据库的ID和Name db_id(‘DB Name’),db_name('DB ID') 2,查看对象的ID和Name,对象的Schema,对象的定义 OBJECT_ID ( 'sche 阅读全文
posted @ 2016-12-20 10:24 悦光阴 阅读(9133) 评论(2) 推荐(4) 编辑
摘要:在SQL Server中,普通表可以转化为分区表,而分区表不能转化为普通表,普通表转化成分区表的过程是不可逆的,将普通表转化为分区表的方法是: 在分区架构(Partition Scheme)上创建聚集索引,就是说,将聚集索引分区。 数据库中已有分区函数(partition function) 和分区 阅读全文
posted @ 2016-12-13 13:28 悦光阴 阅读(1607) 评论(2) 推荐(3) 编辑
摘要:未分区的表,相当于只有一个分区,只能存储在一个FileGroup中;对表进行分区后,每一个分区都存储在一个FileGroup,或分布式存储在不同的FileGroup中。对表进行分区的过程,实际上是将逻辑上完整的一个表,按照特定的字段拆分成多个分区,分散到相同或不同的FileGroup中,每一个部分叫 阅读全文
posted @ 2016-12-02 18:38 悦光阴 阅读(4785) 评论(0) 推荐(2) 编辑
摘要:在SQL Server中,对超级大表做数据归档,使用select和delete命令是十分耗费CPU时间和Disk空间的,SQL Server必须记录相应数量的事务日志,而使用switch操作归档分区表的老数据,十分高效,switch操作不会移动数据,只是做元数据的置换,因此,执行分区切换操作的时间是 阅读全文
posted @ 2016-12-01 18:55 悦光阴 阅读(3422) 评论(0) 推荐(5) 编辑
摘要:在SQL Server中,使用Create Database创建数据库,使用Alter Database命令,能够修改数据库的数据文件和日志文件。 一,创建数据库 1,在创建数据库时,最佳实践是: 创建一个或多个文件组,并设置默认文件组 每个文件组中的数据文件和CPU的内核数据相同,将文件均匀分布在 阅读全文
posted @ 2016-11-26 17:11 悦光阴 阅读(5647) 评论(1) 推荐(3) 编辑
摘要:Agent Job 是SQL Server提供的自动管理工具,用户可以创建一个Job,设置Schedule,这样SQL Server Agent就会在指定的时间自动执行任务。一个任务可以是一段TSQL脚本,也可以是一个SSIS Package。SQL Server把Job每一次执行的历史信息存放在系 阅读全文
posted @ 2016-10-17 16:22 悦光阴 阅读(5887) 评论(0) 推荐(5) 编辑
摘要:SQL Server 使用的资源受到操作系统的调度,同时,SQL Server在内部实现了一套调度算法,用于管理从操作系统获取的资源,主要是对内存和CPU资源的调度。一个好的数据库系统,必定在内存中缓存足够多的信息,以减少从物理硬盘中读取数据的次数;如果内存是系统瓶颈,那么SQL Server一定会 阅读全文
posted @ 2016-09-28 13:44 悦光阴 阅读(2384) 评论(6) 推荐(9) 编辑
摘要:SQL Server数据库系统的IO性能受到物理硬盘的IO延迟和SQL Server请求执行的IO操作的影响。在监控硬盘性能时,最主要的度量值(metric)是IO延迟,IO延迟是指从应用程序创建IO请求,到硬盘完成IO请求的时间延迟。如果物理硬盘不能及时完成IO请求,跟不上请求负载的速度,那么SQ 阅读全文
posted @ 2016-09-23 18:29 悦光阴 阅读(5300) 评论(2) 推荐(9) 编辑
摘要:Performance Monitor是Windows内置的一个可视化监控工具,能够在OS级别上实时记录系统资源的使用情况,通过收集和存储日志数据,在SQL Server发生异常时,能够还原系统当时的资源的使用情况,是对SQL Server进行Troubleshooting的首选工具。Perform 阅读全文
posted @ 2016-09-22 20:47 悦光阴 阅读(12361) 评论(4) 推荐(9) 编辑
摘要:性能计数器(Performance Counter)是量化系统状态或活动的一个数值,Windows Performance Monitor在一定时间间隔内(默认的取样间隔是15s)获取Performance Counter的当前值,并记录在Data Collections中,通过Performanc 阅读全文
posted @ 2016-09-22 10:49 悦光阴 阅读(2889) 评论(2) 推荐(7) 编辑
摘要:今天查看Job的History,发现Job 运行失败,错误信息是:“The transaction log for database 'xxxx' is full due to 'ACTIVE_TRANSACTION'.” 错误消息表明:数据库的事务日志文件空间耗尽,log 文件不能再存储新的tra 阅读全文
posted @ 2016-09-09 20:02 悦光阴 阅读(13070) 评论(1) 推荐(7) 编辑
摘要:Replication 自动创建来一个 Job:Replication monitoring refresher for distribution,这个Agent执行一个sp: dbo.sp_replmonitorrefreshjob ,在该SP中存在一个Loop,如下 create procedu 阅读全文
posted @ 2016-08-12 15:48 悦光阴 阅读(1354) 评论(0) 推荐(1) 编辑
摘要:使用Backup创建测试环境之后,发现testdb的Log File过大,达到400GB,由于测试环境实际上不需要这么大的Log Space,占用400GB的Disk Space实在浪费Disk Resource,于是使用DBCC Shrink收缩Log File: dbcc shrinkfile( 阅读全文
posted @ 2016-08-08 13:18 悦光阴 阅读(1344) 评论(0) 推荐(1) 编辑
摘要:在事务复制中,在发布服务器中执行了一个更新,例如:update orders set col=? Where ?,该操作产生大量的数据更新操作,在Log Reader存储事务和命令时,把该更新操作分解成多条command,每一个command只更新一条record,这些command 位于同一个Tr 阅读全文
posted @ 2016-08-02 23:29 悦光阴 阅读(940) 评论(0) 推荐(1) 编辑
摘要:在Publisher database中更新一个big table,数据行数是3.4亿多。由于没有更新 clustered Index key,因此,只产生了3.4亿多个Update Commands 和 1个Transaction,数据量还是很大的。在 Log reader 将 Commands 阅读全文
posted @ 2016-07-27 17:12 悦光阴 阅读(1049) 评论(0) 推荐(0) 编辑
摘要:我在三台安装SQL Server 2012的服务器上搭建分布式数据库,把产品环境中一年近1.4亿条数据大致均匀地存储在这三台服务器中,每台Server 存储4个月的数据,物理机的系统配置基本相同:内存16G,双核 CPU 3.6GHz,软件环境是Windows Server 2012 R,和SQL 阅读全文
posted @ 2016-06-19 19:34 悦光阴 阅读(1896) 评论(0) 推荐(0) 编辑
摘要:分布式数据库的优势是将IO分散在不同的Physical Disk上,每次查询都由多台Server的CPU,I/O共同负载,通过各节点并行处理数据来提高性能,劣势是消耗大量的网络带宽资源,管理难度大。在SQL Server 2012 版本中,创建水平切分的分布式数据库,必须分两步来实现:划分子集和对子 阅读全文
posted @ 2016-06-19 00:00 悦光阴 阅读(8360) 评论(4) 推荐(7) 编辑
摘要:今天遇到一个问题,有用户反应,在site上打开报表,一直loading,出不来结果。 遇到这种问题,我立刻simulate用户使用Filter Condition,问题repro,看来不是偶然事件,通过SQL Server Profile Capture 到执行的查询语句。 Step1,奇怪的是,在 阅读全文
posted @ 2016-06-14 19:20 悦光阴 阅读(1063) 评论(0) 推荐(0) 编辑