SQL Server
SQL Server
omage
理智,好学,务实.
展开
-
SQL Server查询慢实战手册
问题一:按主键索引查询都慢1. 先排查锁, 按锁名进行统计当前数据库的锁对象 select objname,count(objname) from ( select object_name(object_id) as objname , * from sys.dm_tran_locks l inner join sys.partitions p on l.resource_...原创 2019-12-11 12:08:44 · 170 阅读 · 0 评论 -
如何在SQL Server实现upsert功能
upsert是什么? 相信各位码农在工作当中经常碰到这样的场景,当这个表存在某条记录就更新其值,不存在则插入,如下代码例子所示IF EXISTS (SELECT 1 FROM mytable WHERE Id = @Id) BEGIN UPDATE dbo.mytable SET Value = @Value WHERE Id...原创 2019-08-17 16:25:16 · 1800 阅读 · 0 评论 -
理解SQL Server的动态管理视图DMV (Dynamic Management Views)
Connections vs Sessions vs Requests : SQL Server – Dynamic managementviews转发一个老外画的图,清晰了解SQL Server的几个重要概念及其关系,理解后非常有助于进行性能调优参考链接https://sqljunkieshare.com/2013/12/22/connections-vs-sess...转载 2019-04-17 19:27:06 · 700 阅读 · 0 评论 -
SQL Server 2008的日志跟踪利器- SQL trace
SQL trace实际上就是没有图形界面操作的SQL Server Profiler, 因为Profiler比较占用资源,不适合长时间的监听数据。那如何使用SQL trace,下面我就用图来说话,一步一步的带大家使用1.打开SQL Server Profiler2.在Profiler新建跟踪3.定制筛选条件例如:筛选sql语句4.导出为脚本5.打开...原创 2019-04-11 12:04:54 · 2437 阅读 · 0 评论 -
如何使用SQL Server的CDC(change data capture)功能跟踪数据变化
从SQL Server 2008开始有个功能叫change data capture, 这个可以用来跟踪某个数据库的某个表的数据变化,企业版支持,标准版不支持。--启动change data captureUSE [Database Name]GO EXEC sys.sp_cdc_enable_db GO--停止change data captureUSE [Datab...原创 2019-04-01 19:56:52 · 795 阅读 · 0 评论 -
SQL Server的tempdb文件异常增长的处理
先分析tempdb文件空间各个数值(总的、已用的、空闲的)USE [tempdb]GOSELECT [TYPE] = A.TYPE_DESC ,[FILE_Name] = A.name ,[FILEGROUP_NAME] = fg.name ,[File_Location] = A.PHYSICAL_NAME ,[FILESIZE_MB] = C...原创 2019-04-06 12:54:21 · 1996 阅读 · 0 评论 -
SQL Server 如何设置数据库读写分离--设置隔离级别Read committed snapshot
查看某个数据库的当前隔离级别,使用如下命令DBCC UserOptions可知目前默认级别为read committed设置隔离级别为READ commmitted snapshotALTER DATABASE <DatabaseName>SET READ_COMMITTED_SNAPSHOT ONGO如果当前有会话在使用这个数据库,会导致这条命令长时间无...原创 2019-04-06 12:30:03 · 3011 阅读 · 2 评论 -
SQL Server性能调优技巧 Extended Events
Extended Events是从SQL Server 2008之后具有的轻量级信息跟踪和排查工具,非常适合进行性能调优。这里是一个写的很棒、很有条理的入门文章https://www.mssqltips.com/sqlservertip/2144/an-overview-of-extended-events-in-sql-server-2008/ 简单的说,Extend E...原创 2019-03-20 17:55:01 · 508 阅读 · 0 评论 -
SQL Server常用技巧
循环遍历对当前数据库的每个表执行TSQL语句:EXEC SP_MSFOREACHTABLE 'update ? set A = ''a'''?指表名原创 2014-12-19 14:29:15 · 553 阅读 · 0 评论 -
SQL Server 查询结果转JSON函数
SQL Server SELECT to JSON functionhttp://stackoverflow.com/questions/6818441/sql-server-select-to-json-function转载 2014-09-28 10:11:35 · 5894 阅读 · 0 评论