随笔分类 - SQL Server DBA
摘要:首先是 在服务器上发现SQLServer占用内存过大,128G服务器内存它占用高达100多G。于是就去找解决方案,找了几篇文章发现都是通过修改SQLServer服务器最大内存让其释放占用内存,如图所示,我把最大内存修改为128MB 发现问题 然后我就发现我的SQLServer服务无法启动了,由于连接
阅读全文
摘要:SQL Server在删除数据后,会重新利用这部分空间,所以如果不是空间紧张的情况下,可以不回收。回收一般先回收日志文件,因为这个回收速度非常快,可以短时间内清理出一部分可用空间。回收步骤: 1、查看日志文件大小【一般回收比较大的】 --适用于RDS For SQL Server2012 SELEC
阅读全文
摘要:SELECT CONVERT(CHAR(100), SERVERPROPERTY('Servername')) AS Server, msdb.dbo.backupset.database_name, msdb.dbo.backupset.backup_start_date, msdb.dbo.ba
阅读全文
摘要:本文讨论 SQL Server 的下一个版本,即 SQL Server 2022。这将涵盖 SQL Server 2022 提供的最新公告、版本和所有令人兴奋的功能。 介绍 在组织大规模数字化的世界中,及时处理和分析数据是当务之急。Microsoft 正在战略性地迈向未来,他们优先以尽可能最好的方式
阅读全文
摘要:使用扩展事件监视 SQL Server 中的死锁 Extended Event是一个系统监控工具,有助于从 SQL Server 收集事件和系统信息。借助 XEvent,我们还可以从 SQL Server 捕获死锁信息。首先,我们将启动 SQL Server Management Studio 并在
阅读全文
摘要:SQL Server 中一些最常见的 SPID 状态及其含义: RUNNING: 此状态表示会话正在运行一个或多个批处理。启用多活动结果集 (MARS) 后,一个会话可以运行多个批次。这实际上意味着,使用此会话连接到 SQL Server 的客户端已经提交了 SQL Server 要处理的查询,并且
阅读全文
摘要:最近数据库连接总隔段时间出现provider: TCP 提供程序, error: 0 - 由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作。 的错误。但这并不是SQL Server服务本身导致了此问题,实际上是来自 Windows系统,由机器的内存或TCP端口问题导致。我这里是由于连接过多,
阅读全文
摘要:在今天的文章里,我想谈下SQL Server里锁升级(Lock Escalations)。锁升级是SQL Server使用的优化技术,用来控制在SQL Server锁管理里把持锁的数量。我们首先用SQL Server里所谓的锁层级(Lock Hierarchy )开始,因为那是在像SQL Serve
阅读全文
摘要:我是华丽的分割线 Create PROCEDURE Recover_Deleted_Data_Proc @Database_Name NVARCHAR(MAX), @SchemaName_n_TableName NVARCHAR(Max), @Date_From DATETIME='1900/01/
阅读全文
摘要:Go to: Tools -> Options -> Query Results -> SQL Server -> Results to Grid -> Retain CR/LF on copy or Save and make sure the option is ticked.
阅读全文
摘要:"数据就是一切!"我们都曾听过这种大胆的说法,但其实事实真是这样,而且数据还无处不在。如今,每个企业和组织发展都需要依赖大量的数据,数据也成为了企业最有价值的资产。为了让数据发挥最大的价值,通常我们都会采用数据库监控工具,本文将为大家介绍 6 款最好用的数据库监控工具。 在开始介绍这些工具之前,我们
阅读全文
摘要:经常会需要分析SQLSERVER的阻塞情况,尤其是某些SQL操作异常缓慢从而怀疑是有人在搞事情的情况下。网上有许多一模一样的帖子,是关于sp_who_lock这个存储过程的,然而,网上流传的这个是略有问题的(被阻塞的SQL输出有误),为此改造了一下实现,顺便优化了一下输出结构: CREATE PRO
阅读全文
摘要:一、 创建链接服务器 1、添加连接服务,sp_addlinkedserver EXEC sp_addlinkedserver @server='192.168.0.1',--被访问的服务器别名( @srvproduct='', @provider='SQLOLEDB', @datasrc='192.
阅读全文
摘要:最近在给一个客户做调优的时候发现一个很有意思的现象,对于一个复杂查询(涉及12个表)建立必要的索引后,语句使用的IO急剧下降,但执行时间不降反升,由原来的8秒升到20秒。 通过观察执行计划,发现之前的执行计划在很多大表连接的部分使用了Hash Join,由于涉及的表中数据众多,因此查询优化器选择使用
阅读全文
摘要:相信很多SQL Server DBA或开发人员在重建或重组大表索引时,都会相当郁闷,不知道索引重建的进度,这个对于DBA完全是一个黑盒子,对于系统负载非常大的系统或维护窗口较短的系统,你会遇到一些挑战。例如,你创建索引的时候,很多会话被阻塞,你只能取消创建索引的任务。查看这些索引维护操作的进度、预估
阅读全文
摘要:最近遇到一个向表插入数据时,抛出 “当前事务无法提交,而且无法支持写入日志文件的操作。”的异常, 详细如下; 此操作只是一个简单的insert操作, 经过排查原因是此表上有对应insert触发器。原因是 里面对应写有try catch,并且将设置了SET XACT_ABORT ON; 我们知道触发器
阅读全文
摘要:最近见很多人问到如何根据一个存储过程的结果集创建临时表,如果存储过程的结果集字段固定则可以事先建好再写入数据,但如果结果集不固定就无法事先建了,下面来测试下如何根据不定字段结果集创建临时表。 SELECT * INTO #temp_table FROM OPENDATASOURCE('SQLOLED
阅读全文