![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SQL SERVER
文章平均质量分 62
yq495
计算机上
展开
-
因为数据库正在使用,所以无法获得对数据库的独占访问权
还原数据库出错: ” 因为数据库正在使用,所以无法获得对数据库的独占访问权 “ 的解决方案在还原数据库时 , 有时会提示因为数据库正在使用,所以无法获得对数据库的独占访问权 !!这时需要在还原数据库前先杀死正在使用数据库的线程 .该解决方案用到了系统表中的 sysprocesses ,若要访问 sysprocesses ,您必须定位到 master 数据库。以下是杀死正在使用 'D转载 2012-08-07 11:27:24 · 414 阅读 · 0 评论 -
SQL Server 2008 R2 安装出错:Could not open key
安装Sql Server 2008 R2 企业版出现错误提示无法继续安装,错误提示为: Could not open key: UNKNOWN\Components\7ABFE44842C12B390AF18C3B9B1A1EE8\000021599B0090400100000000F01FEC.Verify that you have sufficient access to tha原创 2013-04-17 14:12:00 · 3128 阅读 · 0 评论 -
高性能SQL查询语句优化
保证在实现功能的基础上,尽量减少对数据库的访问次数;通过搜索参数,尽量减少对表的访问行数,最小化结果集,从而减轻网络负担;能够分开的操作尽量分开处理,提高每次的响应速度;在数据窗口使用SQL时,尽量把使用的索引放在选择的首列;算法的结构尽量简单;在查询时,不要过多地使用通配符如SELECT * FROM T1语句,要用到几列就选择几列如:SELECT COL1,COL2 FROM T1;在转载 2013-01-06 14:32:56 · 243 阅读 · 0 评论 -
sql性能调试,set statistics io 和 set statistics time
一个查询需要的CPU、IO资源越多,查询运行的速度就越慢,因此,描述查询性能调节任务的另一种方式是,应该以一种使用更少的CPU、IO资源的方式重写查询命令,如果能够以这样一种方式完成查询,查询的性能就会有所提高。如果调节查询性能的目的是让它使用尽可能少的服务器资源,而不是查询运行的时间最短,那么就更容易测试你采取的措施是提高了查询的性能还是降低了查询的性能。尤其是在资源利用不断变化的服务器上更转载 2012-10-23 11:52:05 · 149 阅读 · 0 评论 -
SQL 百万级数据库优化方案
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎 放弃使用索引而进行全表扫描,如: select id from t where num is null可以在num上设置 默认值0,确保表中num列没有nul转载 2012-10-30 15:45:57 · 255 阅读 · 0 评论 -
查看语句运行时间异常的原因(SQLServer)
经常有开发同事反映如下情况:我有一条语句或者一个JOB昨天跑半个小时就完成了,今天怎么跑了两个小时还没有完成?是不是数据库出现问题了? 数据库语句运行时间异常,其实是一个比较复杂的情况,因为数据是不断变动的,今天好好的一条语句,有可能明天运行就不在预计的时间内了,这个场景是没办法完全重溯的,即便有当时的备份数据,但是当时的服务器压力是没有办法知道和营造的;但是转载 2012-10-30 10:11:58 · 184 阅读 · 0 评论 -
SQL SERVER CPU性能分析
什么原因会导致CPU性能问题?(1)大量消耗CPU的运算,如哈希运算,排序运算。(2)执行计划的编译和重编译。(3)缺乏索引的大量IO操作也会引起额外的CPU消耗。(4)并行操作。等等。。。。具体手段(1)几个重要的等待,先确定服务器级别的等待。SELECT wait_type, Sum(signal_wait_time_ms) AS Tota原创 2012-09-11 15:33:36 · 309 阅读 · 0 评论 -
如何有效抓取SQL Server的BLOCKING信息
SQL Server允许并发操作,BLOCKING是指在某一操作没有完成之前,其他操作必须等待,以便于保证数据的完整性。BLOCKING的解决方法要查看BLOCKING的头是什么,为什么BLOCKING头上的语句执行的很慢。通常来讲只要我们能找到BLOCKING头上的语句,我们总能够想出各种各种的办法,来提升性能,缓解或解决BLOCKING的问题。 但是问题的关键是,我们不知道BLOCKI转载 2012-08-28 23:13:46 · 380 阅读 · 0 评论 -
查找阻塞
SELECT s.spid, BlockingSPID = s.blocked, DatabaseName = DB_NAME(s.dbid), s.program_name, s.loginame, ObjectName = OBJECT_NAME(objectid, s.dbid), Definition = CAST(text AS VARCHAR(MAX))转载 2012-08-23 23:00:59 · 139 阅读 · 0 评论 -
MS SQL datetime
select CONVERT(char(10),GETDATE(),101)--mm/dd/yyyyselect CONVERT(char(10),GETDATE(),102)-- yy.mm.ddselect CONVERT(char(10),GETDATE(),103)-- dd/mm/yyyyselect CONVERT(char(10),GETDATE(),104)-- dd.mm.原创 2012-08-23 23:09:03 · 147 阅读 · 0 评论 -
一些锁的示例
use userDatabasegoif exists(select 1 from sys.tables where name='t') drop table tcreate table t(c1 int,c2 int)create index index1 on t(c1)insert into t values(1,1) --UPDATE lo转载 2012-08-23 22:53:41 · 155 阅读 · 0 评论 -
找出性能差的语句
1 找出效率低的语句SELECT TOP 10 qs.total_worker_time ,qs.total_logical_reads,qs.last_logical_writes, qs.plan_handle, qs.execution_count, (SELECT SUBSTRING(text, qs.statement_start_offset/2 + 1,转载 2012-08-23 22:30:43 · 186 阅读 · 0 评论 -
SqlServer语句收集
1 临时表 --创建临时表 数据库重启后表#a1会消失create table #a1(col1 int,col2 int)select * from #a1 --创建临时表 改表只存在与当前的sessioncreate table ##a2(col1 int,col2 int) 2 从两个表中selectcreate tab转载 2012-08-23 23:21:26 · 178 阅读 · 0 评论 -
怎样查看表的数据页的结构
SQLServer2000提供了一个读取数据页结构的命令DBCC Page。该命令为非文档化的命令,具体如下:DBCC Page ({dbid|dbname},filenum,pagenum[,printopt])具体参数描述如下:dbid 包含页面的数据库IDdbname 包含页面的数据库的名称filenum 包含页面的文件编号p转载 2012-08-23 23:18:37 · 180 阅读 · 0 评论 -
Blocked Process Report
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->http://technet.microsoft.com/en-us/subscriptions/ms191168.aspx捕获超过10秒的堵塞,开启了trace之后,所有的超过10秒的堵塞会被记录下来转载 2012-08-23 22:34:26 · 315 阅读 · 0 评论 -
sqlserver 2005新增函数学习
原文:SQL 2005新增的几个函数之学习今天学习了sql server 2005新增的几个函数,分别是row_number(),rank,DENSE_RANK,ntile,下面以例子分别简单讲解之1.row_number 先来点数据,先建个表SET NOCOUNT ONCREATE TABLE Person(FirstName VARCHAR(10),Age I转载 2012-08-23 23:17:13 · 168 阅读 · 0 评论 -
MSSQL通过扩展存储过程 master.dbo.xp_sqlagent_enum_jobs获取正在执行的job
--> Title : 扩展存储过程master.dbo.xp_sqlagent_enum_jobs/*要想得到 SQL Server Job的运行状态,需要用到一个微软未公开的一个扩展存储过程: master.dbo.xp_sqlagent_enum_jobs.这个扩展存储过程用到一个叫做 “xpstar90.dll”的动态链接库文件。xp_sqlagent_enum_原创 2013-08-23 10:02:38 · 384 阅读 · 0 评论