摘要:
在SQL Server中,如果我想授予一个用户klb拥有创建表的权限,但是我又不想授予其数据库角色db_ddladmin,因为这样会扩大其权限,那么授予下面权限可行吗?如下所示: USE AdventureWorks2014;<!--CRLF-->GO<!--CRLF-->GRANT CREATE 阅读全文
随笔分类 - 数据库技术(MS SQL)
The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION
2020-11-25 13:35 by 潇湘隐者, 2638 阅读, 收藏,
摘要:
如果你的存储过程或其他脚本出现下面这个错误,一般是因为ROLLBACK TRANSACTION在逻辑上缺少匹配的BEGIN TRANSACTION或者没有开始一个事务(也有可能此事务已经提交),但是你做了事务回滚操作(ROLLBACK TRANSACTION),否则就可能出现这种错误。 Msg 39 阅读全文
SQL Server 2014下@@SERVERNAME返回NULL值浅析
2020-11-20 11:30 by 潇湘隐者, 826 阅读, 收藏,
摘要:
开发同事反馈在一台开发服务器(SQL Server 2014 Developer Edition (64-bit) 12.0.6024.0)上,配置函数@@SERVERNAME返回NULL值。如下截图所示 其实出现这种问题,配置函数@@SERVERNAME返回NULL,一般是系统视图sys.serv 阅读全文
Zabbix告警:SQL Instance MSSQLSERVER: Could not allocate a new page
2020-11-11 12:07 by 潇湘隐者, 1501 阅读, 收藏,
摘要:
Zabbix的监控出现告警,具体的告警信息如下:“SQL Instance MSSQLSERVER: Could not allocate a new page”和“D::Disk space is low(used > 80%)" 第一个告警是Zabbix template for Microso 阅读全文
SQL Server 2014 Upgrade后启动不了的案例
2020-11-09 09:55 by 潇湘隐者, 1933 阅读, 收藏,
摘要:
一朋友在升级SQL Server 2014后, SQL Server启动不了,寻求我的帮助。检查SQL Server 2014的错误日志,具体错误信息如下: 2020-11-08 10:00:58.28 spid8s Dropping procedure [dbo].[sp_syscollector 阅读全文
SQL Server邮件相关SQL语句出现严重的ASYNC_NETWORK_IO等待事件案例
2020-09-25 12:10 by 潇湘隐者, 773 阅读, 收藏,
摘要:
DPA监控发现一台SQL Server服务器最近两天执行系统存储过程msdb.dbo.sp_MailItemResultSets中的某个SQL时,出现较严重的ASYNC_NETWORK_IO等待。如下截图所示 进一步分析发现,主要是执行存储过程msdb.dbo.sp_MailItemResultSets中下面这段SQL语句出现ASYNC_NETWORK_IO等待 SELECT ... 阅读全文
SQL Server解惑——标识列的限制和跳号现象
2020-09-03 08:29 by 潇湘隐者, 1900 阅读, 收藏,
摘要:
1:每个表只能创建一个标识列。 如下测试所示,如果表中有一个标识列,新增一个标识列就会遇到错误“Multiple identity columns specified for table 'TEST'. Only one identity column per table is allowed.“ CREATE TABLE dbo.TEST( ID INT IDE... 阅读全文
SQL Server事务日志备份的一些疑问浅析
2020-09-02 09:17 by 潇湘隐者, 2224 阅读, 收藏,
摘要:
这里简单总结一下关于SQL Server事务日志备份的一些疑问,如有其它更多疑问,欢迎你们留言讨论。 事务日志备份频繁有性能影响吗? 关于事务日志备份,如果设置得非常频繁有什么性能影响吗? 这个是不少人的疑惑,频繁的事务日志备份是否影响性能呢?其实这是一个谬论。关于这些问题,我们先来做个假设,假设两小时内产生了30G大小的事务日志,那么对于下面几种事务日志备份策略: 1... 阅读全文
SQL Server数据库还原或分离附加后程序集遇到的SQL CLR问题
2020-06-16 11:32 by 潇湘隐者, 1114 阅读, 收藏,
摘要:
工作中遇到一个案例:备份还原过后或者对数据库分离&附加后(移动数据库文件),发现一些权限为EXTERNAL_ACCESS和UNSAFE程序集对应的CLR函数,在调用的时候会出现一些错误。下面特意用YourSQLDba备份还原到一个测试环境,然后调用CLR函数,就会遇到如下错误: USE YourSQLDba;GOSELECT *FROM [yUtl].[clr_GetFolder... 阅读全文
SQL Server中CLR表值函数(table-valued function)不能使用WITH(NOLOCK)
2020-06-10 20:30 by 潇湘隐者, 991 阅读, 收藏,
摘要:
在SQL Server中,普通的表值函数(table-valued function)是可以使用表提示(Hints-Table)的,那么CLR类型的表值函数(table-valued function)是否也可以使用表提示(Hints-Table)呢? 相信很多人都没有留意过这个问题。 下面我以YourSQLDba中现成的CLR表值函数来演示一下这个问题。如果自己手头有自定义CLR表值函数的,... 阅读全文
SQL Server 2017错误日志中出现“Parallel redo is shutdown for database 'xxx' with worker pool size [2]."浅析
2020-05-16 12:54 by 潇湘隐者, 1382 阅读, 收藏,
摘要:
在SQL Server 2017的错误日志中出现"Parallel redo is started for database 'xxx' with worker pool size [2]"和“Parallel redo is shutdown for database 'xxx' with worker pool size [2].”这种信息,这意味着什么呢? 如下所示 Date ... 阅读全文
YourSQLDba低版本的一个Bug的浅析
2020-05-08 17:07 by 潇湘隐者, 480 阅读, 收藏,
摘要:
帮人分析解决一个YourSQLDba备份报错问题,个人觉得有点意思,顺手记录一下分析思路,大体解决思路如下: 首先,找到YourSQLDba作业YourSQLDba_FullBackups_And_Maintenance的报错邮件或者作业的错误日志信息,检查YourSQLDba出错的详细信息。 YOURSQLDBA.MAINT.ShowHistoryErrors 96 发现YourSQ... 阅读全文
SQL Server中GETDATE转换时间时注意事项
2020-03-28 12:26 by 潇湘隐者, 1564 阅读, 收藏,
摘要:
在SQL Server中,有时候查询数据时,需要限定查询时间范围。此时需要对时间进行运算, 如下所示: USE AdventureWorks2014;GOSELECT *FROM HumanResources.EmployeeWHERE ModifiedDate > GETDATE() - 20; 例如,获取前一天的时间,可以用下面这样的SQL语句。 SE... 阅读全文
SQL Server 2008 R2执行存储过程sp_MailItemResultSets引起大量PREEMPTIVE_OS_WAITFORSINGLEOBJEC等待
2020-03-24 23:44 by 潇湘隐者, 800 阅读, 收藏,
摘要:
从监控工具DPA中发现一个数据库(SQL Server 2008 R2)的等待事件突然彪增,下钻分析发现数据库执行存储过程sp_MailItemResultSets时,引起了非常严重的等待(High Wait),而主要的等待事件为PREEMPTIVE_OS_WAITFORSINGLEOBJEC。 如下截图所示: 查询正在执行的SQL,发现会话正在执行下面SQL(存储过程sp_MailItemR... 阅读全文
Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool
2020-03-16 11:55 by 潇湘隐者, 11065 阅读, 收藏,
摘要:
如果应用程序遇到了下面错误信息,那么意味着连接池(connection pool)的连接数量由于一些原因导致其超过了Max Pool Size参数的限制。 英文错误信息: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occ... 阅读全文
SQL Server 2014下Database Mail Engine进程消耗大量CPU资源
2020-03-12 23:36 by 潇湘隐者, 802 阅读, 收藏,
摘要:
今天发现监控的一个SQL Server数据库实例的CPU有些异常,如下所示,系统消耗的CPU(O/S CPU Utilization)和数据库实例消耗的CPU(Instance CPU Utilization)有较大出入,登录服务器检查,发现Database Mail Engine进程消耗了20%作业的CPU资源。而且是持续消耗这么多CPU资源。 首先我想的是数据库是否... 阅读全文
SQL Server大表如何快速删除数据
2020-03-09 13:41 by 潇湘隐者, 17869 阅读, 收藏,
摘要:
在SQL Server中,如何快速删除大表中的数据呢? 回答这个问题前,我们必须弄清楚上下文环境和以及结合实际、具体的需求,不同场景有不同的应对方法。 1: 整张表的数据全部删除 如果是整张表的数据全部清空、删除,这种场景倒是非常简单,TRUNCATE TABLE肯定是最快的。 反而用DELETE处理的话,就是一个糟糕的策略。 2: 大表中删除一部分数据 对于... 阅读全文
SQL Server解惑——对象命名的唯一性小结
2020-02-21 11:48 by 潇湘隐者, 2090 阅读, 收藏,
摘要:
关于SQL Server数据库中的对象命名的唯一性问题。例如表、索引、约束等数据库对象,有时候DBA在做数据库维护时,经常要创建对象或重命名对象,此时就会遇到一个问题,对象命名的唯一性问题。虽然是一个小小的问题,估计不少人搞不清,在看文章前,你可以先回答几个问题 1: 表名在数据库是不是唯一? 不同的Schema下,是否可以存在同名的表? 2: 索引名在数据库是不是唯一? 不同的Sch... 阅读全文
SQL Server等待事件—PAGEIOLATCH_EX
2020-02-11 15:36 by 潇湘隐者, 3452 阅读, 收藏,
摘要:
什么是PAGEIOLATCH_EX等待事件? 下面我们将对PAGEIOLATCH_EX等待事件的相关资料做一个简单的归纳、整理。关于PAGEIOLATCH_EX,官方文档的简单介绍如下: PAGEIOLATCH_EX: Occurs when a task is waiting on a latch for a buffer that is in an I/O request. The l... 阅读全文
为什么你SQL Server中SQL日期转换出错了呢?
2020-01-11 15:40 by 潇湘隐者, 3461 阅读, 收藏,
摘要:
开发人员有时候使用类似下面SQL将字符串转换为日期时间类型,乍一看,这样的SQL的写法是没有什么问题的。但是这样的SQL其实有时候就是一个定时炸弹,随时可能出现问题(),下面简单对这种情况进行一个简单概括。 SELECT CONVERT(DATETIME, '2020-01-13 6:46:42'); 如果你将连接数据库的登录名的默认语言修改为Aribc,然后去执行上面SQL语句,... 阅读全文
浙公网安备 33010602011771号