![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SQLServer经验总结
文章平均质量分 53
Foliole
知行合一。
展开
-
参数嗅探 - 为何产生
参数嗅探产生的原因原创 2023-02-10 11:39:39 · 762 阅读 · 0 评论 -
嵌套事务回滚
alter procedure sp_test_tranasbeginSET XACT_ABORT ON --开启全部回滚(包括嵌套事务),关闭不会滚嵌套事务----begin traninsert into test_tran191 values ('one')exec [temperp].paxbase.dbo.sp_test_tran '1234'insert into test_t1(id) values ('two')if @@error =0 begin...原创 2021-01-21 09:54:11 · 378 阅读 · 0 评论 -
sqlserver errlog 日志清理
sp_cycle_errorlogerrorlog会变成 errorlog.1 ,日志继续写入errorlog,旧的 errorlog.1 可以随便处理原创 2021-01-05 16:20:50 · 382 阅读 · 0 评论 -
sqlserver 该账户当前被锁定
解决方法:ALTER LOGIN sa ENABLE ;GOALTER LOGIN sa WITH PASSWORD = 'sa密码' unlock, check_policy = off, check_expiration = off ;原创 2021-01-04 14:41:21 · 798 阅读 · 0 评论 -
SQLServer 查看备份进度
SELECT DB_NAME(er.[database_id]) [DatabaseName], er.[command] AS [CommandType], er.[percent_complete], er.start_time,CONVERT(DECIMAL(5, 2), er.[percent_complete]) AS [Complete_Percent] ,CONVERT(DECIMAL(38, 2), er.[total_elapsed_time] / 60000.00) ...原创 2020-12-29 11:41:08 · 1371 阅读 · 1 评论 -
Windows Server 2012/2012R2 中配置 MSDTC,令其使用特定端口
原文地址:http://blogs.technet.com/b/askcore/archive/2014/04/29/how-to-configure-msdtc-to-use-a-specific-port-in-windows-server-2012-2012r2.aspx我叫 Steven Graves,是微软核心支持团队的一名支持升级高级工程师。在这篇博文中,我将介绍如何在 Windows Server 2012/2012R2 中配置 MSDTC,令其使用特定端口,这与 Windows Serv转载 2020-12-09 19:33:20 · 2745 阅读 · 0 评论 -
Sqlserver 查性能语句
--CPU相关视图 SELECT * FROM sys.dm_os_sys_info SELECT * FROM sys.dm_exec_sessions SELECT * FROM sys.sysprocesses SELECT * FROM sys.dm_os_tasks SELECT * FROM sys.dm_os_workers SELECT * FROM sys.dm_os_threads SELECT * FROM sys.dm_os_schedulers S.原创 2020-07-02 17:34:36 · 385 阅读 · 0 评论 -
SQLSERVER 作业
作业系统表 与作业有关的系统表、视图大致有下面9个,下面就不费口舌详细解说每一个系统表的作用了,MSDN文档上有详细的解说,有兴趣的翻看一下即可。 SELECT * FROM msdb.dbo.sysjobs --存储将由 SQL Server 代理执行的各个预定作业的信息SELECT * FROM msdb.dbo.sysjobschedules ...转载 2018-12-17 10:39:16 · 1463 阅读 · 0 评论 -
SQLSERVER binary 和 varbinary 用法全解
在SQL Server中,使用数据类型 binary(n) 和 varbinary(n) 存储二进制数据,n是指字节数量:binary(n):固定长度为 n 字节,其中 n 值从 1 到 8,000 ,存储空间为 n 字节;varbinary( n | max):可变长度,n 的取值范围为 1 至 8,000,max 是指最大存储空间是 2^31-1 个字节,即最大4GB;n:在表列定义或...转载 2018-12-11 11:05:37 · 16373 阅读 · 0 评论 -
sqlserver-查询备份进度
SELECT DB_NAME(er.[database_id]) [DatabaseName], er.[command] AS [CommandType], er.[percent_complete], er.start_time,CONVERT(DECIMAL(5, 2), er.[percent_complete]) AS [Complete_Percent] ,CONV...转载 2019-05-23 11:23:39 · 879 阅读 · 0 评论 -
SQLSERVER-因内存设置小了而无法启动sqlserver服务
由数据库启动日志得出sqlserver服务器无法启动的原因是数据库最大内存设置小了。 解决方法如下:1.启动CMD2.“D:\Program Files\Microsoft SQL Server\MSSQL11.SQL_2012\MSSQL\Binn\sqlserv.exe” -f - s实例名3.开启另外一个CMD4.sqlcmd -E -s实例名5.EXE...原创 2019-06-03 14:41:47 · 977 阅读 · 0 评论 -
TempDB 收缩方法
1.重启服务,tempdb自动重建2.执行脚本,避免服务重启USE [tempdb]GOdbcc freesystemcache('ALL')GoDBCC SHRINKfile(N'tempdev' ,10240) --收缩到2MBGO查占用大的语句use tempdb go SELECT top 10 t1.session_id, ...原创 2019-09-18 20:54:36 · 953 阅读 · 1 评论 -
SQLSERVER 全文索引干扰词处理
--设置关闭全文索引干扰词ALTER FULLTEXT INDEX ON DataUSA_2019 SET stoplist OFF--如果要再开启,可以这样设置开启全文索引干扰词ALTER FULLTEXT INDEX ON [TableName] SET stoplist SYSTEM自定自己的干扰词库创建全文非索引字表(干扰词表) CREATEFULLT...原创 2019-09-26 15:26:51 · 464 阅读 · 0 评论 -
SQL SERVER数据库备份时出现“操作系统错误5(拒绝访问)。”错误的解决办法
出现这个错误,一般都是因为文件夹访问权限问题导致,加everyone用户访问权限就可以解决,如果这个时候基于安全 考虑,不想给太通用的权限的话,可以用下面的用户来解决:给sqlserver用户授予权限: 选择要备份的文件夹 ,右键-->属性-->安全-->看下"组或用户"是否包涵Authenticated Users 这个用名[一定要是这个用户名!!...原创 2018-11-27 11:13:46 · 8026 阅读 · 2 评论 -
SQLSERVER Truncate使用注意事项
当你不再需要该表时, 用 drop;当你仍要保留该表,但要删除所有记录时, 用 truncate;当你要删除部分记录时(always with a WHERE clause), 用 delete.Truncate是一个能够快速清空资料表内所有资料的SQL语法。并且能针对具有自动递增值的字段,做计数重置归零重新计算的作用。一、Truncate语法[ { database_name.[ sche...转载 2018-11-26 09:39:08 · 3074 阅读 · 0 评论 -
SQLSERVER 索引情况监控
-- 未被使用的索引SELECT OBJECT_NAME(i.[object_id]) AS [Table Name] , i.nameFROM sys.indexes AS i INNER JOIN sys.objects AS o ON i.[object_id] = o.[object_id]WHERE i.index_id NOT IN (...转载 2018-11-23 15:24:40 · 446 阅读 · 0 评论 -
SQLServer数据库收缩/可用空间查询
收缩数据库虽然可以腾出磁盘空间,但是不一定是一种优化操作收缩前考虑:1.在执行会产生许多未使用空间的操作(如截断表或删除表操作)后,执行收缩操作最有效。2.大多数数据库都需要一些可用空间,以供常规日常操作使用。如果反复收缩数据库并注意到数据库大小变大,则表明收缩的空间是常规操作所必需的。在这种情况下,反复收缩数据库是一种无谓的操作。3.收缩操作不会保留数据库中索引的碎片状态,通常还会在一定程度上增...原创 2018-06-27 11:11:12 · 7901 阅读 · 0 评论 -
SQLServer 导致原本的执行计划无效或重新编译的操作
1.低内存;2.索引更改;3.统计信息更改;4.大量行计数更改;5.混合DDL和DML6.更改SET选项;原创 2018-06-28 09:19:18 · 700 阅读 · 0 评论 -
T-SQL执行顺序
FROM:对FROM子句中的前两个表执行笛卡尔积(Cartesianproduct)(交叉联接),生成虚拟表VT1 ON:对VT1应用ON筛选器。只有那些使为真的行才被插入VT2。 OUTER(JOIN):如 果指定了OUTER JOIN(相对于CROSS JOIN 或(INNERJOIN),保留表(preservedtable:左外部联接把左表标记为保留表,右外部联接把右表标记为保留表,完全...翻译 2018-09-04 09:53:16 · 191 阅读 · 0 评论 -
SQL server 同步复制常见错误-找不到存储的过程 sp_MSins_tablename
这个错误提示是由于在订阅端没有找到同步时调用的同步存储过程,MS错误说明:当某个事务发布在 SQL SERVER自动同步设置选择订阅服务器插入、 更新和删除存储在每个表都包含在该发布的订阅服务器创建过程。包含这些存储的过程的脚本是由快照代理程序创建和应用于订阅服务器在初始同步过程中的分发代理程序。如果手动同步订阅这些存储的过程将不会创建,并且必须手动创建。因为在这种情况下 (手...原创 2018-09-28 15:24:27 · 1465 阅读 · 0 评论 -
SQLSERVER errorlog讲解
很多时候诊断SQLSERVER问题都需要看SQLSERVER的错误日志日志里面很多内容没有书本专门讲解,今天我就讲一下,可能里面的日志信息是从我个人的机器里抓出来的,跟大家的机器环境会有所不同,但是SQLSERVER启动部分的日志大家都是一样的特别的说一下:2013-02-12 17:53:29.29 spid29s这些spid指的是SQLSERVER内部的进程,因为SQLSERV...转载 2018-11-14 10:55:21 · 3212 阅读 · 0 评论 -
SQLSERVER DBCC TRACEON
一、跟踪标志: 3604:直接返回信息到 当前客户端;而不是 打印信息 到 错误日志文件 2588:显示隐藏的DBCC命令、以及提供帮助信息 -1:用作 traceon的最后一个参数。表示服务器范围有效;否则仅仅当前会话有效 1204: 返回参与死锁的锁的资源和类型,以及受影响的当前命令; 1222:返回参与死锁的锁的资源和类型,以及使用了不符合任何X...原创 2018-11-14 13:44:00 · 3244 阅读 · 0 评论 -
SQLSERVER 索引总结
一、存储结构 在SQL Server中,有许多不同的可用排列规则选项。 二进制:按字符的数字表示形式排序(ASCII码中,用数字32表示空格,用68表示字母"D")。因为所有内容都表示为数字,所以处理起来速度最快,遗憾的是,它并不总是如人们所想象,在WHERE子句中进行比较时,使用该选项会造成严重的混乱。 字典顺序:这种排序方式与在字典中看到的排序方式一样,但是少有不同,可以设置...转载 2018-11-14 13:55:54 · 4250 阅读 · 1 评论 -
SQLSERVER DLL监控
USE [master]GO/****** Object: Table [dbo].[server_eventdata] Script Date: 2018/11/16 10:34:56 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE [dbo].[server_eventdata]( ...原创 2018-11-16 10:45:52 · 224 阅读 · 0 评论 -
SQLSERVER 查存储过程和作业的内容及历史执行情况
--查存储过程包含的内容:SELECT obj.Name 存储过程名, sc.TEXT 存储过程内容FROM syscomments scINNER JOIN sysobjects obj ON sc.Id = obj.IDWHERE sc.TEXT LIKE '%NuctLD%'order by 1--查存储过程的执行情况:SELECT a.nam...原创 2018-11-16 10:46:42 · 7266 阅读 · 0 评论 -
SQLSERVER 视图
视图可以被看成是虚拟表或存储查询,可以被当成表直接引用,除非是索引视图,否则视图的数据不会存储在数据库中。当访问视图时,查询处理器会根据视图定义生成访问基表的执行计划。 视图通常用来集中、简化和自定义每个用户对数据库的不同认识: 1.视图可用做安全机制,方法是允许用户通过视图访问数据,而不授予用户直接访问基表的权限; 2.作为向后兼容接口来模拟曾经存在但其架构已经更改的表;...原创 2018-11-19 13:57:15 · 926 阅读 · 1 评论 -
SQLSERVER 查表得读写次数
SELECT OBJECT_SCHEMA_NAME(ddius.object_id) + '.' + OBJECT_NAME(ddius.object_id) AS [Object Name], CASE WHEN (SUM(user_updates + user_seeks + user_scans + user_lookups)=0) THEN NULL ...原创 2018-11-23 11:24:13 · 1653 阅读 · 0 评论 -
SQLSERVER 生产环境监控
--查询当前数据库的配置信息Select configuration_id ConfigurationId,name Name,description Description,Cast(value as int) value,Cast(minimum as int) Minimum,Cast(maximum as int) Maximum,Cast(value_in_use as i...转载 2018-11-23 15:23:02 · 435 阅读 · 0 评论 -
聚集索引选择特点。
1.高选择性;2.很少变更; 变更聚集键值涉及到将记录移入一个新页来,这在IO性能方面的代价很高,它会导致表的碎片。3.不断增加的值; 顺序增加的值可将新的数据有效地添加到聚集索引并将数据页填充至最大容量,从而最大化IO吞吐量。4.较窄; 每记录字节数较少的键优于较宽的键。5.一般按范围筛选; BETWEEN ,<,>,>=,<=6.经常排序或者分组; 聚集索引自...原创 2018-05-22 10:45:37 · 653 阅读 · 0 评论