SQL Server Administration
Larry-Qian
An observer
展开
-
微软认证培训路径纵览
转载 2015-07-10 10:52:43 · 1651 阅读 · 0 评论 -
Finding SQL Server Deadlocks Using Trace Flag 1222
ProblemI have been getting sporadic deadlocks on my SQL Server. How can I track down the queries that are causing the deadlocks so I can resolve the issue?SolutionThere are a few ways you转载 2017-02-13 14:17:16 · 404 阅读 · 0 评论 -
Current Running Queries
Following script is perhaps the most executed script in my 10 year Database Administration career. The script has been my first line of defense in any performance monitoring problem and has helped m转载 2016-08-08 10:01:59 · 361 阅读 · 0 评论 -
Hide databases from user
业务场景:需要给特定用户开放特定DB的权限,但是又不希望让他看到其他的DB.解决方法:1.DENY VIEW ANY DATABASE TO [USER] --首先关闭用户所有DB的查看权限2.EXEC dbo.sp_changedbowner @loginame = N'USER' --修改特定DB的所有者为用户这样一来用户登陆SSMS以后只能看到所有者是自己的DB.原创 2016-08-03 10:13:18 · 248 阅读 · 0 评论 -
SQL CASE Express Limitation
一个很简单的带有CASE的查询语句,CASE PH.DocumentState WHEN 0 THEN '0-Draft' WHEN 10 THEN '10-In review' WHEN 20 THEN '20-Rejected' WHEN 30 THEN '30-Approved' WHEN 35 THEN '35-In external review' WHEN 40原创 2016-02-17 14:32:16 · 490 阅读 · 0 评论 -
MS SQL Server的存储过程签名
SQLSERVER 2005开始提供的对存储过程签名(signature)是我非常喜欢的。 如果我们要编写一个存储过程,执行该存储过程里的代码需要权限P,并且我们想要用户Alice可以执行这个存储过程,但是我们不想将权限P直接赋予给用户Alice,我们可以用证书(certificate)对这个存储过程进行签名来完成这一需求: a) 如果P是一个数据库级别的权限,那我们可以转载 2015-09-25 10:16:10 · 379 阅读 · 0 评论 -
谈谈SQL 语句的优化技术 (2)
三、优化SQL语句的系统设计原则 仅仅简化还是不够。SQL语句的优化在系统的设计阶段就要通盘考虑。系统设计越合理,需要优化或后期返工的地方就越少。系统逻辑流程如果不合理,那么常会导致本来需要一个操作就可以解决的问题却要作好几个操作才能实现,反映在数据库上就是发出过多或过复杂的SQL语句。所以数据库系统设计是系统高性能运行的首要关键。 很多系统开发者更关心功能的实现而不是数据库系统的转载 2015-09-25 16:30:18 · 420 阅读 · 0 评论 -
谈谈SQL 语句的优化技术 (1)
一、引言 一个凸现在很多开发者或数据库管理员面前的问题是数据库系统的性能问题。性能不理想的系统中除了一部分是因为应用程序的负载确实超过了服务器的实际处理能力外,更多的是因为系统存在大量的SQL语句需要优化。本文通过一个例子讲述如何应用简化技术来优化SQL 语句,也讨论在系统设计阶段应该考虑的和语句性能密切相关的一些问题。 如果读者不知道应该优化数据库系统的哪些SQL语句,那么建议读转载 2015-09-25 16:29:49 · 629 阅读 · 0 评论 -
T-SQL语句优化的常见技巧
在SQL server 的性能优化过程中,TSQL的语句优化是很重要的一环。当您使用各种手段找出系统最需要优化的语句后,应该如何对该语句进行优化呢?下面列出一些TSQL 语句优化的常见技巧。 1. 语句的执行计划分析 首先要对该语句的执行计划(execution plan)进行分析,找出语句运行慢的原因。比如说, 举一个的例子, Table 'myTa转载 2015-09-25 16:29:13 · 445 阅读 · 0 评论 -
为什么NOLOCK反而返回更少的数据
NOLOCK的作用有的时候还是很强大的。通常我们的理解是NOLOCK不需要申请S锁,从而避免因他人做数据修改引起的阻塞,也就是说NOLOCK理应返回更多的数据才对(比如新插入的行还没提交,也顺手牵羊一起返回了)。然而,在某种情况下,NOLOCK反而返回了更少的数据,并且可以确认的是,当前没有人在删数据,那么到底是为什么呢? 重现步骤:脚本1:======use test;g转载 2015-09-25 10:23:10 · 353 阅读 · 0 评论 -
SQL Server排查包含换行符的字段
系统主数据在第一次导入的时候,往往是通过业务用户提供的excel来的。其中经常会包含有换行符。日后在报表使用到这些字段的时候,导出Excel时就会遇到换行的问题。类似问题的解决办法也很简单,就是在数据库一层先进行排查。在sql server当中,换行符有以下三种:-- 制表符 CHAR(9)-- 换行符 CHAR(10)-- 回车 CHAR(13) --排查原创 2015-08-19 15:17:39 · 5308 阅读 · 0 评论 -
查找SQL Server Blocking进程
更新数据仓库的时候,遇到有人正在查询报表,会导致更新操作无法进行。比较简单粗暴的方法是查找到blocking进程,把它强行杀掉:P1.查找blocking进程。SPID为进程号,QUERY为进程的查询TSQL语句,先观察以避免误杀。SELECT SPID=p.spid, DBName = convert(CHAR(20),d.name), Pro原创 2015-08-14 17:09:23 · 892 阅读 · 0 评论 -
卸载Visual Studio导致SSMS无法打开
硬盘吃紧,而且因为用的是VS2005和VS2013,于是就把所有带VS2010字眼的程序统统给卸载了。没想到启动SSMS2014的时候提示错误“Cannot find one or more components. Please reinstall the application.”然后按部就班地把SQL Server 2014和VS2013全部卸载重装,结果问题依旧。正准备重新把原创 2015-07-15 23:15:27 · 3271 阅读 · 0 评论 -
Time Remain of "In Recovery"
某次重启SQL SERVER数据库服务器以后,数据库无法使用(显示“In recovery”)可以通过windows event log查看到它的恢复进度1.打开 Event viewer2.找到Windows log —— Application —— Source:MSSQLSERVER3.Filter current log —— <all event ids>替...原创 2019-09-29 17:24:33 · 822 阅读 · 0 评论