摘要:
一台数据库服务器的事务日志备份作业偶尔会出现几次备份失败的情况,具体的错误信息为: DATE/TIME: 2018/7/30 12:10:52 DESCRIPTION: BackupDiskFile::CreateMedia: Backup device 'M:\DB_BACKUP\LOG_BACKUP\xxxx_[2018-07-30_06h03m10_Mon]_logs.TR... 阅读全文
随笔分类 - 数据库技术(MS SQL)
SQL Server 2012还原一直卡在ASYNC_IO_COMPLETION浅析
2018-07-18 15:15 by 潇湘隐者, 1727 阅读, 收藏,
摘要:
在SQL Server 2012(11.0.7001.0)下面在还原一个数据库(备份文件40多G大小,实际数据库大小300G),在还原过程中,出现一直等待ASYNC_IO_COMPLETION,如下测试截图所示,已经等待了72分钟了,但是还原比例依然为0% SELECT r.session_id , r.command , r.start_time, ... 阅读全文
SQL Server的优化器会缓存标量子查询结果集吗
2018-06-05 13:48 by 潇湘隐者, 921 阅读, 收藏,
摘要:
在这篇博客“ORACLE当中自定义函数性优化浅析”中,我们介绍了通过标量子查询缓存来优化函数性能: 标量子查询缓存(scalar subquery caching)会通过缓存结果减少SQL对函数(Function)的调用次数, ORACLE会在内存中构建一个哈希表来缓存标量子查询的结果。 那么SQL Server的优化器是否也会有类似这样的功能呢? 抱着这样的疑问,动手测试了一下,准备测试环境 ... 阅读全文
SQL Server中如何识别、查找未使用的索引(unused indexes)
2018-05-22 23:10 by 潇湘隐者, 2191 阅读, 收藏,
摘要:
在SQL Server中,索引是优化SQL性能的一大法宝。但是由于各种原因,索引会被当做“银弹”滥用,一方面有些开发人员(甚至是部分数据库管理员)有一些陋习,不管三七二十一,总是根据所谓的"感觉"或“经验”先增加一些索引,而不管这些索引是否未被使用或是否合理。另外一方面在数据库的生命周期中,需求总是在变化,业务也在变化,有些当初创建的有效索引可能已经变成了unused index了。变成了数据... 阅读全文
SQL SERVER中LIKE使用变量类型不同输出结果不一致解惑
2018-05-21 23:09 by 潇湘隐者, 3517 阅读, 收藏,
摘要:
一同事在写脚本时,遇到一个关于LIKE里面使用不同的变量类型导致查询结果不一致的问题,因为这个问题被不同的人问过好几次,索性总结一下,免得每次都要解释一遍,直接丢一篇博客岂不是更方便!其实看似有点让人不解的现象背后实质跟数据类型的实现有关。 下面我们构造这样一个类似的简单案例。如下所, CREATE TABLE TEST(ID INT IDENTITY(1,1), NAME... 阅读全文
SQL Server Replication的分发服务器的快照文件夹位置查找
2018-05-17 22:57 by 潇湘隐者, 1569 阅读, 收藏,
摘要:
SQL Server分发服务器配置中,需要配置快照文件夹(Snapshot Folder),用于存储发布的数据和架构文件的工作目录,那么如何查找当前SQL Server数据库服务器的分发服务器的快照文件夹位置呢? 如果配置了具体发的发布和订阅,那么可以在对应的发布的属性-》快照文件里面查看,如果还没有配置具体的发布和订阅,这个需要怎么查看呢? ... 阅读全文
服务器 'xxxx' 已被定义为分发服务器。若要将该服务器重新配置为分发服务器,必须首先卸载现有的分发服务
2018-05-17 22:11 by 潇湘隐者, 716 阅读, 收藏,
摘要:
使用AWS DMS(Database Migration Service)将SQL Server数据库同步到AWS的Data Lake上,需要在本地源数据库上配置复制,在配置分发向导最后一步时,遇到下面错误: TITLE: Microsoft.SqlServer.ConnectionInfo------------------------------ SQL Server cou... 阅读全文
查看Windows服务器安装了那些SQL Server组件
2018-05-17 11:56 by 潇湘隐者, 4879 阅读, 收藏,
摘要:
如何查看Windows服务器安装了那些SQL Server组件呢? 最近就遇到这样一个需求,需要知道Windows服务器是否安装了Replication组件,那么有几种方法查看Windows服务器安装了哪些SQL Server组件呢?下面总结一下这方面的方法,希望对遇到这样问题的人有所帮助! 1:通过SQL Server Features Discovery Report查看。 ... 阅读全文
备份链中断导致差异备份报错案例
2018-05-09 15:40 by 潇湘隐者, 1113 阅读, 收藏,
摘要:
最近一台SQL Server服务器部署SQL Server Backup后,发现每晚的差异备份老是失败,报如下错误: Msg 3035, Level 16, State 1, Line 1 无法执行数据库"xxxx" 的差异备份,因为不存在当前数据库备份。请去掉WITH DIFFERENTIAL 选项后重新发出BACKUP DATABASE 以执行数据库的完整备份。 Msg 3013, L... 阅读全文
SQL Server遗失管理权限账号密码怎么办?
2018-04-24 16:19 by 潇湘隐者, 2664 阅读, 收藏,
摘要:
假如一个SQL Server实例只允许“SQL身份认证”模式登录数据库,而糟糕的是你忘记了sa的密码(sa出于安全考虑应该被禁用,这里仅仅为了描述问题)或其它具有sysadmin角色的登录名的密码?个人就遇到这样一个案例,HK一同事在一台测试服务器安装了一个测试用途的SQL Server数据库,然后这个同事离职前没有交接这个测试服务器任何信息。那现在就麻烦了。我没有任何权限,我如何获取sysadm... 阅读全文
SQL Server系统视图sys.master_files不能正确显示数据库脱机状态
2018-04-21 00:27 by 潇湘隐者, 1440 阅读, 收藏,
摘要:
最近发现在SQL Server数据库(目前测试过SQL Server 2008, 2012,2014,2016各个版本)中,即使数据库处于脱机(OFFLINE)状态,但是sys.master_files中依然显示是联机状态。本文测试环境为Microsoft SQL Server 2014 (SP2) (KB3171021) - 12.0.5000.0 (X64) 。具体测试过程如下所示: ... 阅读全文
[翻译]SQL Server等待事件—THREADPOOL
2018-04-18 16:32 by 潇湘隐者, 1421 阅读, 收藏,
摘要:
前言: 本文是对SQLSkills上一篇关于SQL Server中THREADPOOL等待的博客的翻译,本文也不是完全翻译,有些地方适当加入了自己的一些认知。如有翻译不对或不好的地方,敬请指出,大家一起学习进步。尊重原创和翻译劳动成果,转载时请注明出处。谢谢! 英文原文地址:https://www.sqlskills.com/help/waits/threadpool/ 翻... 阅读全文
The operation could not be performed because the OLE DB provider 'SQLOLEDB' was unable to begin a distributed transaction
2018-04-12 22:06 by 潇湘隐者, 1181 阅读, 收藏,
摘要:
今天遇到一起关于分布式事务错误的案例,如下所示,执行SQL脚本时报错, 错误信息具体如下所示: [OLE/DB provider returned message: 新事务不能登记到指定的事务处理器中。 ] OLE DB error trace [OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x80... 阅读全文
SQL Server查看视图定义总结
2018-04-11 14:01 by 潇湘隐者, 27487 阅读, 收藏,
摘要:
在SQL Server中如何查看数据库视图的定义呢? 其实官方文档已经有一个较详细的总结了,这里在官方文档的基础上,我们再深入展开分析一下,例如如何获取系统视图的定义。知其然知其所以然吗。 1:使用SQL Server Management Studio(SSMS) 在“对象资源管理器”中,首先找到对应数据库中需要查看定义的视图,右键单击获取对象的定义脚本。这种方式非常简单。在此略过。... 阅读全文
SQL Server元数据损坏(metadata corruption)修复
2018-04-08 10:14 by 潇湘隐者, 2156 阅读, 收藏,
摘要:
在升级一个SQL Server 2000的数据库时,遇到了一致性错误,其中有几个错误是元数据损坏(metadata corruption),特意研究了一下这个案例,因为以前也零零散散的遇到过一些一致性相关错误,但是难得遇到元数据损坏的案例。 如下所示,数据库从SQL Server 2000还原到SQL Server 2008以后,在做一致性检查时,发现有元数据损坏(metadata cor... 阅读全文
单用户模式启动SQL Server实例总结
2018-04-06 14:53 by 潇湘隐者, 10819 阅读, 收藏,
摘要:
在SQL Server的数据库维护过程中,有时候在一些特殊情况下需要在单用户模式下启动SQL Server实例。 下面总结一下单用户模式启动SQL Server的几种方式: 1:命令模式(sqlservr.exe)启动 首先在命令窗口中切换到Binn目录(这个要视SQL Server实际安装路径情况而定,另外,多实例情况下,必须切换到对应路径),如果你对sqlservr.exe命令不熟... 阅读全文
SQL Server等待事件—RESOURCE_SEMAPHORE_QUERY_COMPILE
2018-03-14 00:23 by 潇湘隐者, 2833 阅读, 收藏,
摘要:
等待事件介绍 关于等待事件RESOURCE_SEMAPHORE_QUERY_COMPILE,官方的介绍如下: Occurs when the number of concurrent query compilations reaches a throttling limit. High waits 阅读全文
Azure SQL Virtual Machine报Login failed for user 'NT Service\SqlIaaSExtension'. Reason: Could not find a login matching the name provided
2018-03-12 09:27 by 潇湘隐者, 1522 阅读, 收藏,
摘要:
在一台位于HK的Azure SQL Virtual Machine上修改排序规则,重建系统数据库后,监控发现大量的登录失败告警生成,如下所示: DESCRIPTION: Login failed for user 'NT Service\SqlIaaSExtension'. Reason: Could not find a login matching the name provid... 阅读全文
SQL Server使用侦听器IP访问时遇到"The target principal name is incorrect. Cannot generate SSPI context"
2018-02-07 14:45 by 潇湘隐者, 3180 阅读, 收藏,
摘要:
在测试SQL Server 2016 Always On时,在创建侦听器后,在客户端使用SSMS, 可以用侦听器名称访问Always On集群,但是使用侦听器IP访问时遇到"The target principal name is incorrect. Cannot generate SSPI context" TITLE: Connect to Server ------... 阅读全文
MS SQL 事务日志管理小结
2018-01-15 10:43 by 潇湘隐者, 3628 阅读, 收藏,
摘要:
本文是对SQL Server事务日志的总结,文章有一些内容和知识来源于官方文档或一些技术博客,本文对引用部分的出处都有标注。 事务日志介绍 在SQL Server中,事务日志是数据库的重要组件,如果系统出现故障,则可能需要使用事务日志将数据库恢复到一致状态。每个SQL Server数据库都拥有自己的事务日志,用于记录所有事务以及每个事务对数据库所做的修改。那么数据库的哪... 阅读全文
浙公网安备 33010602011771号