-
SQL查询服务器硬盘剩余空间
关键代码如下所示:DECLARE@tb1Table(drivevarchar(20),[MB可用空间]varchar(20))[email protected]...
数据库操作教程 2022-09-23 18:10:38 -
SQLServer数据库中开启CDC导致事务日志空间被占满的原因
SQLServer中开启CDC之后,在某些情况下会导致事务日志空间被占满的现象为:在执行增删改语句(产生事务日志)的过程中提示,Thetransactionlogfordatabase'***'isfulldueto'REPLICATION'(数据库“***”的事务日志已满,原因为“REPLICATION”).CDC以及复制的基本原理粗略地讲,对于日志的使用步骤如下: 1,每当基础表(开启了CDC或者replication的表)产生事务性操作(增删改)之后,对应的事务日志写入日志文件, 2,此时的日志被状态被标记为Replication,也即处于待复制状态,这个活动状态跟数据库的还原模式无关,即便是简单还原模式, 3,然后有后台进程来读取这个日志,根据事务日志的内存写入目标表, 这个目标对于cdc来说是记录数据变化的系统表, 对于replication来说是写入distribution这个库 4,步骤3完成之后,事务日志被标记为正常状态,如果是简单还原模式,被后台进程解析过的事务日志被截断,可以重用如果上述中间的第三个步骤出现问题,也即后台进程无法解析日志后释放可用...
数据库操作教程 2022-09-23 18:10:32 -
SQLServer磁盘请求超时的833错误原因及解决方法
最近遇到一个SQLServer服务器响应极度缓慢,并且出现客户端请求报错的情况,在数据库中的errorlog中出现磁盘请求超过15s才完成的error消息。对于此类问题,到底是存储系统或者磁盘的故障,还是SQLServer自己的问题,亦或是应用程序引发的呢?又要如何解决?本文将对引起此问题的某一方面的因素进行简单的分析,但是无法涵盖所有潜在的可能性,因此遇到类似问题还要做具体的分析...
数据库操作教程 2022-09-23 18:10:00 -
一个统计表每天的新增行数及新增存储空间的功能
使用文中提供的代码做一个统计表每天的新增行数及新增存储空间的功能实现步骤如下:1.创建表创建表,存储每天的表空间占用情况CREATETABLE[dbo]...
数据库操作教程 2022-09-23 17:45:50 -
SQLServer中NULL的正确使用与空间占用
我们常在SQLServer的使用或维护中遇上NULL,那么什么是NULL?如下是MSDN给出的一段简短描述(见“NullValues”):AvalueofNULLindicatesthatthevalueisunknown.AvalueofNULLisdifferentfromanemptyorzerovalue.Notwonullvaluesareequal.Comparisonsbetweentwonullvalues,orbetweenaNULLandanyothervalue,returnunknownbecausethevalueofeachNULLisunknown.通俗的讲,NULL就是一个值,而且这个值是未知的(unknown);NULL不能等价任何值,甚至都不等价它自己,即NULL不等于NULL。为了清晰的理解上述的内容,我们创建一个测试表Test_NULL,然后对表插入2条含有NULL值的记录,并进行相关验证操作:--创建一张允许NULL值的表CREATETABLETest_NULL(numINTNOTNULLPRIMARYKEY,fnameNVARCHAR(50)...
数据库操作教程 2022-09-23 17:40:36 -
SQL语句实现查询SQLServer内存使用状况
SELECTtype,--Clerk的类型sum(virtual_memory_reserved_kb)asvm_Reserved_kb,--保留的内存sum(virtual_memory_committed_kb)asvm_Committed_kb,--提交的内存sum(awe_allocated_kb)asawe_Allocated_kb,--开启AWE后使用的内存sum(shared_memory_reserved_kb)assm_Reserved_kb,--共享的保留内存sum(shared_memory_committed_kb)assm_Committed_kb,--共享的提交内存sum(single_pages_kb)asSinlgePage_kb,--BufferPool中的Stolen的内存sum(multi_pages_kb)asMultiPage_kb--MemToLeave的内存FROMsys.dm_os_memory_clerksGROUPBYtypeORDERBYtype--查询BufferPool/MemoryToLeaveSELECTsum(virtua...
数据库操作教程 2022-09-23 17:37:58 -
SqlServer如何通过SQL语句获取处理器(CPU)、内存(Memory)、磁盘(Disk)以及操作系统相关信息
在SQLSERVER中如何通过SQL语句获取服务器硬件和系统信息呢?下面介绍一下如何通过SQL语句获取处理器(CPU)、内存(Memory)、磁盘(Disk)以及操作系统相关信息。如有不足和遗漏,敬请补充...
数据库操作教程 2022-09-23 17:37:39 -
如何查看SQLSERVER中某个查询用了多少TempDB空间
在SQLServer中,TempDB主要负责供下述三类情况使用:内部使用(排序、hashjoin、worktable等)外部使用(临时表,表变量等)行版本控制(乐观并发控制) 而对于内部使用,一些比较复杂的查询中由于涉及到了大量的并行、排序等操作时就需要大量的内存空间,每一个查询在开始时都会由SQLServer预估需要多少内存,在具体的执行过程中,如果授予的内存不足,则需要将多出来的部分由TempDB处理,这也就是所谓的SpilltoTempDB。 通过下述语句可以观察到某个查询对TempDB造成了多少读写:DECLARE@readBIGINT,@writeBIGINT;SELECT@read=SUM(num_of_bytes_read),@write=SUM(num_of_bytes_written)FROMtempdb.sys.database_filesASDBFJOINsys.dm_io_virtual_file_stats(2,NULL)ASFSONFS.fil...
数据库操作教程 2022-09-23 17:31:48 -
揭秘SQLServer2014有哪些新特性(1)-内存数据库
简介 SQLServer2014提供了众多激动人心的新功能,但其中我想最让人期待的特性之一就要算内存数据库了。去年我再西雅图参加SQLPASSSummit2012的开幕式时,微软就宣布了将在下一个SQLServer版本中附带代号为Hekaton的内存数据库引擎...
数据库操作教程 2022-09-23 17:26:20 -
优化SQLServer的内存占用之执行缓存
首先说明一下SQLServer内存占用由哪几部分组成。SQLServer占用的内存主要由三部分组成:数据缓存(DataBuffer)、执行缓存(ProcedureCache)、以及SQLServer引擎程序...
数据库操作教程 2022-09-23 17:09:08 -
用SQL统计SQLServe表存储空间大小的代码
其实SQLServer提供了一个sp_spaceused的系统存储过程可以实现该功能,下面就是调用的SQL:复制代码代码如下:createtable#tb(表名sysname,记录数int,保留空间varchar(10),使用空间varchar(10),索引使用空间varchar(10),未用空间varchar(10))insertinto#tbexecsp_MSForEachTable'EXECsp_spaceused''?'''select*from#tbgodroptable#tb这样就可以枚举出每个表存储空间的详细使用情况!...
数据库操作教程 2022-09-23 17:07:19 -
浅谈SQLServer对于内存的管理[图文]
理解SQLServer对于内存的管理是对于SQLServer问题处理和性能调优的基本,本篇文章讲述SQLServer对于内存管理的内存原理。二级存储(secondarystorage) 对于计算机来说,存储体系是分层级的...
数据库操作教程 2022-09-23 17:02:37