随笔分类 - SQL Server
摘要:数据文件的备份,可以通过Job,设置Schedule自动管理,而手工编写TSQL脚本,实现起来十分灵活,并且能够分布式备份。在数据量不大时,你使用backup database,能够把数据库备份到指定的硬盘中,但是,当数据库增长到很大的size时,数据库的备份文件,即使压缩,也会达到很大,甚至超过单
阅读全文
摘要:在SQL Server 中,master 数据库记录系统级别的元数据,例如,logon accounts, endpoints, linked servers, and system configuration settings,同时,master 数据库记录其他数据库及其文件的位置,因此,在启动S
阅读全文
摘要:数据库还原的操作,分两步进行:第一步,验证(verify)备份文件;第二步,根据备份策略还原数据库; 参考《备份和还原 第一篇:开始数据库备份》,备份策略是: 一周一次完整备份,一天一次差异备份,一小时一次事务日志备份 数据/日志的每次备份都使用一个单独的备份文件,数据备份的扩展名是 .bak,日志
阅读全文
摘要:数据库备份分为数据文件备份和日志文件备份,数据文件的备份分为:完整备份和差异备份。在SQL Server 2012中,能够将数据分布式备份到不同的存储设备上,一般情况,只将数据备份到一个备份文件(.bak)中,只有在备份超大的数据库时,才需要分布式备份,对于备份集(backup set),备份介质(
阅读全文
摘要:Agent Job 是SQL Server提供的自动管理工具,用户可以创建一个Job,设置Schedule,这样SQL Server Agent就会在指定的时间自动执行任务。一个任务可以是一段TSQL脚本,也可以是一个SSIS Package。SQL Server把Job每一次执行的历史信息存放在系
阅读全文
摘要:SQL Server 使用的资源受到操作系统的调度,同时,SQL Server在内部实现了一套调度算法,用于管理从操作系统获取的资源,主要是对内存和CPU资源的调度。一个好的数据库系统,必定在内存中缓存足够多的信息,以减少从物理硬盘中读取数据的次数;如果内存是系统瓶颈,那么SQL Server一定会
阅读全文
摘要:SQL Server数据库系统的IO性能受到物理硬盘的IO延迟和SQL Server请求执行的IO操作的影响。在监控硬盘性能时,最主要的度量值(metric)是IO延迟,IO延迟是指从应用程序创建IO请求,到硬盘完成IO请求的时间延迟。如果物理硬盘不能及时完成IO请求,跟不上请求负载的速度,那么SQ
阅读全文
摘要:Performance Monitor是Windows内置的一个可视化监控工具,能够在OS级别上实时记录系统资源的使用情况,通过收集和存储日志数据,在SQL Server发生异常时,能够还原系统当时的资源的使用情况,是对SQL Server进行Troubleshooting的首选工具。Perform
阅读全文
摘要:性能计数器(Performance Counter)是量化系统状态或活动的一个数值,Windows Performance Monitor在一定时间间隔内(默认的取样间隔是15s)获取Performance Counter的当前值,并记录在Data Collections中,通过Performanc
阅读全文
摘要:今天查看Job的History,发现Job 运行失败,错误信息是:“The transaction log for database 'xxxx' is full due to 'ACTIVE_TRANSACTION'.” 错误消息表明:数据库的事务日志文件空间耗尽,log 文件不能再存储新的tra
阅读全文
摘要:Replication 自动创建来一个 Job:Replication monitoring refresher for distribution,这个Agent执行一个sp: dbo.sp_replmonitorrefreshjob ,在该SP中存在一个Loop,如下 create procedu
阅读全文
摘要:使用Backup创建测试环境之后,发现testdb的Log File过大,达到400GB,由于测试环境实际上不需要这么大的Log Space,占用400GB的Disk Space实在浪费Disk Resource,于是使用DBCC Shrink收缩Log File: dbcc shrinkfile(
阅读全文
摘要:在事务复制中,在发布服务器中执行了一个更新,例如:update orders set col=? Where ?,该操作产生大量的数据更新操作,在Log Reader存储事务和命令时,把该更新操作分解成多条command,每一个command只更新一条record,这些command 位于同一个Tr
阅读全文
摘要:在Publisher database中更新一个big table,数据行数是3.4亿多。由于没有更新 clustered Index key,因此,只产生了3.4亿多个Update Commands 和 1个Transaction,数据量还是很大的。在 Log reader 将 Commands
阅读全文
摘要:我在三台安装SQL Server 2012的服务器上搭建分布式数据库,把产品环境中一年近1.4亿条数据大致均匀地存储在这三台服务器中,每台Server 存储4个月的数据,物理机的系统配置基本相同:内存16G,双核 CPU 3.6GHz,软件环境是Windows Server 2012 R,和SQL
阅读全文
摘要:分布式数据库的优势是将IO分散在不同的Physical Disk上,每次查询都由多台Server的CPU,I/O共同负载,通过各节点并行处理数据来提高性能,劣势是消耗大量的网络带宽资源,管理难度大。在SQL Server 2012 版本中,创建水平切分的分布式数据库,必须分两步来实现:划分子集和对子
阅读全文
摘要:今天遇到一个问题,有用户反应,在site上打开报表,一直loading,出不来结果。 遇到这种问题,我立刻simulate用户使用Filter Condition,问题repro,看来不是偶然事件,通过SQL Server Profile Capture 到执行的查询语句。 Step1,奇怪的是,在
阅读全文
摘要:在进程开始执行时,进程首先申请虚拟地址空间VAS(Virtural Address Space),VAS是进程能够访问的地址空间,由于VAS不是真正的物理内存空间,操作系统必须将VAS隐射到物理内存空间,进程才能存储进程上下文(process context),真正执行下去。VAS可能比物理内存大很
阅读全文
摘要:一,RECOVERY PENDING状态 今天修改了SQL Server的Service Account的密码,然后重启SQL Server的Service,发现有db处于Recovery Pending状态。 Recovery Pending状态是指:数据库在还原(recovery)时遇到跟资源相
阅读全文
摘要:早上来到公司,发现用于整理索引碎片的Job跑失败了,查看job history,发现以下错误消息: ALTER INDEX failed because the following SET options have incorrect settings: 'QUOTED_IDENTIFIER'. V
阅读全文