数据库
文章平均质量分 51
星辉Johnson
这个作者很懒,什么都没留下…
展开
-
SQLServer跨服务器访问数据库(openrowset/opendatasource/openquery)
SQLServer跨服务器访问数据库(openrowset/opendatasource/openquery)原创 2015-12-19 11:05:12 · 707 阅读 · 0 评论 -
sql server 高可用故障转移(5)
测试故障转移群集报告 在SQL-CL01(hsr 50)进行故障转移群集的创建,如图下图所示,在SQL-CL01和SQL-CL02的“服务器管理”中右键点击“功能”,选择“添加功能 勾选故障转移群集 (注意:操作故障转移群集使用域登录进去) 同样也在SQL-CL02(hsr 51)上安装故障转移群集功能,勾选后安装 ...转载 2018-05-24 11:24:29 · 623 阅读 · 0 评论 -
sql server 高可用故障转移(6)
创建分布式事务处理DTC群集服务 在hsr3 ip 49上继续 \ 输入一个没有冲突的ip地址用作SQL-CL的DTC解析地址:192.168.2.110,通过检测后会在DNS服务器中自动创建一条记录 选择日志盘此时是卷(M) 注意DTC是放在日志盘上,也是后面的M盘 ...转载 2018-05-24 11:25:11 · 1019 阅读 · 0 评论 -
sql server 高可用故障转移(完结)
最后测试 安装完二个sql server 节点后,对外的虚拟ip是192.168.2.105 测试将sql server转到另一节点 转移后连接sql 虚拟ip 测试 通过windows日志查看远行状态 总结 到这里故障转移群集就配置完成了, 通过一系列的配置,会发现实现起来还是很繁琐。 也是充分发挥了wo...转载 2018-05-24 11:25:56 · 8685 阅读 · 0 评论 -
sql server 高可用镜像
一、什么是数据库镜像 基本软件的高可用性解决方案 快速的故障转移恢复(3秒转移),低硬件成本 基于数据库级别的实现二、数据库镜像中的服务器角色 主体服务器 承载主体数据库 接受用户连接和事务处理请求 镜像服务器 承载镜像数据库 作为主体数据库的热备份(主体数据库的变化及时传到镜像数据库中) 仅在故障转移后接受用户连接,事务处理请求...转载 2018-05-24 11:27:23 · 3440 阅读 · 0 评论 -
sql server 性能调优 资源等待之 CXPACKET
一.概述 CXPACKET是指:线程正在等待彼此完成并行处理。什么意思呢? 当sql server发现一条指令复杂时,会决定用多个线程并行来执行,由于某些并行线程已完成工作,在等待其它并行线程来同步,这种等待就叫CXPACKET。 为什么会有并行线程呢? 因为在sql server 里有个任务调度SCHEDULER是跟操作系统CPU个数 默认是一 一匹配的, 我们也可能通过sp_conf...转载 2018-07-13 09:20:09 · 11445 阅读 · 0 评论 -
sqlserver用bulkcopy批量更新
代码如下: DataTable dt = new DataTable("Table"); dt = list.ToTable(); //分布式确保临时表名不重复 string TableName = GetBillNo("#TmpTable" + DateTime.N...原创 2018-10-15 17:23:39 · 3134 阅读 · 1 评论 -
SQL Server 锁表、查询被锁表、解锁相关语句
--锁表(其它事务不能读、更新、删除)BEGIN TRANSELECT * FROM <表名> WITH(TABLOCKX);WAITFOR delay '00:00:20'COMMIT TRAN--锁表(其它事务只能读,不能更新、删除)BEGIN TRANSELECT * FROM <表名> WITH(HOLDLOCK);WAITFOR delay ...转载 2019-02-14 11:50:22 · 1632 阅读 · 0 评论 -
sqlserver查看历史死锁信息
在项目运行的过程中,死锁不可能完全避免,但要尽可能减少死锁的出现,产生死锁的原因主要是:1,系统资源不足。2,进程运行推进的顺序不合适。3,资源分配不当等。产生死锁的四个必要条件:- 互斥条件:一个资源每次只能被一个进程使用,即在一段时间内某资源仅为一个进程所占有。此时若有其他进程请求该资源,则请求进程只能等待。- 请求与保持条件:进程已经保持了至少一个资源,但又提出...原创 2019-08-08 15:51:27 · 7728 阅读 · 1 评论 -
sqlserver性能调优之当前用户请求分析
一. 概述 在生产数据库运行期间,有时我们需要查看当前用户会话状态或者是说数据库当前是否运行良好, 应用的场景比如:当运行的应用系统响应突然变慢时需要分析数据库的、或想分析当前的数据库是否繁忙,是否有长时间的等待, 又或者执行一个sql的回滚状态查看,想手动kill掉一个会话时 等等。都需要从当前的会话状态去分析。 这篇主要介绍sys.sysprocesses 函数,这里面包含了当前用...转载 2019-08-06 15:19:03 · 279 阅读 · 0 评论 -
sqlserver性能调优之CPU消耗最大资源分析
一. 概述 这次介绍CPU的开销及维护, 在调优方面是可以从多个维度去发现问题如I/O,CPU, 内存,锁等,不管从哪个维度去解决,都能达到调优的效果,因为sql server系统作为一个整体性,它都是紧密相连的,例如:解决了sql语句中I/O开销较多的问题,那对应的CPU开销也会减少,反之解决了CPU开销最多的,那对应I/O开销也会减少。解决I/O开销后CPU耗时也减少,是因为CPU下的...转载 2019-08-06 15:25:50 · 1276 阅读 · 0 评论 -
sqlserver性能调优之SQL语句阻塞查询
在生产环境下,有时公司客服反映网页半天打不到,除了在浏览器按F12的Network响应来排查,确定web服务器无故障后。就需要检查数据库是否有出现阻塞当时数据库的生产环境中主表数据量超过2000w,子表数据量超过1亿,且更新和新增频繁。再加上做了同步镜像,很消耗资源。这时就要新建一个会话,大概需要了解以下几点:1.当前活动会话量有多少?2.会话运行时间?3.会话之间有没有阻塞...转载 2019-08-06 15:29:21 · 1715 阅读 · 0 评论 -
sql server性能调优之死锁排查
一.概述 记得以前客户在使用软件时,有偶发出现死锁问题,因为发生的时间不确定,不好做问题的重现,当时解决问题有点棘手了。现总结下查看死锁的常用二种方式。1.1 第一种是图形化监听: sqlserver -->工具--> sql server profiler 登录后在跟踪属性中选择如下图: 监听到的死锁图形如下图 ...转载 2019-08-06 15:32:50 · 1063 阅读 · 0 评论 -
sqlserver性能调优之逻辑内存消耗最大资源分析
一.概述 IO 内存是sql server最重要的资源,数据从磁盘加载到内存,再从内存中缓存,输出到应用端,在sql server 内存初探中有介绍。在明白了sqlserver内存原理后,就能更好的分析I/O开销,从而提升数据库的整体性能。 在生产环境下数据库的sqlserver服务启动后一个星期,就可以通过dmv来分析优化。在I/O分析这块可以从物理I/O和内存I/O二方面来分析, 重点分...转载 2019-08-06 15:49:30 · 844 阅读 · 0 评论 -
sqlserver性能调优之资源等待之网络I/O
一.概述 与网络I/O相关的等待的主要是ASYNC_NETWORK_IO,是指当sql server返回数据结果集给客户端的时候,会先将结果集填充到输出缓存里(ouput cache),同时网络层会开始将输出缓存里的数据打包,由客户端接收。如果客户端接收数据包慢,sql server没有地方存放新数据结果时,这时任务进入ASYNC_NETWORK_IO等待状态。 1. 从实例级别查看...转载 2019-08-06 15:47:12 · 1032 阅读 · 0 评论 -
查看sqlserver当前所有请求
---查看当前数据库系统所有请求情况。SELECT ds.session_id, ds.status, Db_name(dr.database_id) AS database_name, ds.login_name, ds.login_time, ds.host_name, dc.client_net_addr...原创 2019-08-07 11:17:33 · 620 阅读 · 0 评论 -
使用存储过程非常慢,但是执行SQL很快问题分析
问题一:存储过程放在查询分析器中执行,大概耗时5秒左右即可成功执行,但是在网站中执行却会超时1. 将该存储过程放到查询分析器中执行,大概耗时5秒左右即可成功执行,但是在网站中执行却会超时;2.经查阅资料,这里存储过程的执行计划是被缓存了,参数不同,还是按照老的执行计划查询,效率也会不同3.解决办法:在存储过程的定义上,加上WITH RECO...原创 2019-08-20 09:38:49 · 23791 阅读 · 3 评论 -
sql server 高可用故障转移(4)
二台sql服务器配置ISCSI虚拟磁盘 在上篇我们利用ISCSI Target软件在DC-ISCSCI上创建了三个ISCSI虚拟磁盘,在下面我们将为大家介绍SQL-CL01(hsr1 50)和SQL-CL02(hsr2 51)如何访问这些ISCSI虚拟磁盘. SQL-CL01和SQL-CL02可以使用ISCSI协议访问DC-ISCSCI上的虚拟ISCSI磁盘,由于Windo...转载 2018-05-24 11:23:04 · 451 阅读 · 0 评论 -
sql server 高可用故障转移(3)
虚拟磁盘创建 前面我们已经搭了域和两台sql 服务器, 下面我们准备让DC域服务器除了担当域控制器外,还行使另一个职能:充当集群共享存储。 集群共享存储是由群集内的每个节点都能共同访问的一个存储设备,本次实验中准备用DC服务器来模拟存储设备。 第一步下载iscsi target程序, 放在dc 桌面,点击安装,默认放在C盘根目录下iscsTarget文件下 ...转载 2018-05-24 11:22:07 · 554 阅读 · 0 评论 -
sql server 高可用故障转移(2)
添加网卡心跳线 目标: 二台sql服务器需要添加网卡心跳线,用于sql server内部数据传输 计算机名Ip信息心跳线Hsr1192.168.2.50 (ipv4 ip)255.255.255.0 (掩码)192.168.2.1 (网关)192.168.2.52 (dns)100.100.100.1 (ipv4 ip)255.255.255.0 (掩码不需...转载 2018-05-24 11:20:59 · 924 阅读 · 0 评论 -
SQLServer时间相关 - SQL日期,时间比较
例子:select count(*) from table where DATEDIFF ([second], '2016-09-18 00:00:18', '2016-09-18 00:00:19') > 0说明 select DATEDIFF(day, time1 , time2) 对应示例语句如下 select DATEDIFF原创 2016-10-10 11:28:34 · 12169 阅读 · 0 评论 -
Union与Union All的区别
如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字。union(或称为联合)的作用是将多个结果合并在一起显示出来。union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。Union:对两个结果集进行并集操作,不包括重复行,同时进行原创 2017-01-05 19:30:35 · 527 阅读 · 0 评论 -
SQL Server 数值四舍五入,小数点后保留2位
1.round() 函数是四舍五入用,第一个参数是我们要被操作的数据,第二个参数是设置我们四舍五入之后小数点后显示几位。2.numeric 函数的2个参数,第一个表示数据长度,第二个参数表示小数点后位数。例如: select cast(round(13.5,2) as numeric(5,2)) 结果:13.50 select cast(rou原创 2017-01-11 14:50:08 · 5199 阅读 · 0 评论 -
优化SQLServer数据库加快查询速度
优化SQLServer数据库加快查询速度转载 2015-12-19 11:00:10 · 972 阅读 · 0 评论 -
SQL查询语句行转列横向显示
在SQL查询语句行转列横向显示中access中没有CASE,要用IIF代替select iif(sex= '1 ', '男 ', '女 ') from tablenameselect country, sum(case when type='A' then money end) as A,sum(case when type='B' then money end)原创 2017-03-10 11:23:36 · 846 阅读 · 0 评论 -
分析Sql查询占用CPU及IO
SET STATISTICS IO ON SET STATISTICS TIME ON SELECT COUNT(*) [TotalCount] FROM ORD_InteralInfoWITH(nolock,readuncommitted) WHERE [ToMemberID]=1 AND [IsValidate]=1原创 2017-03-10 14:50:14 · 1908 阅读 · 0 评论 -
sqlserver索引优化
/*avg_total_user_cost:减少的用户查询的平均成本avg_user_impact:户查询可能获得的平均百分比收益user_scans:扫描次数user_seeks:查找次数。equality_columns: 哪个字段缺失了索引(where 后面的筛选字段)included_columns:查询的涵盖列(简单来讲就是 select 后面的字段)。*/原创 2017-03-10 16:45:16 · 1391 阅读 · 0 评论 -
SQL Server中将多行数据拼接为一行数据(一个字符串)
方法一: 使用T-SQLDECLARE @Users NVARCHAR(MAX)SET @Users = ''SELECT @Users = @Users + ',' + UserName FROM dbo.[User]WHERE RoleID = 1SELECT @Users 方法二:使用for xml p原创 2017-05-02 11:16:37 · 8452 阅读 · 0 评论 -
mysql-5.7.18安装,启动MySQL服务
MySQL 是一个非常强大的关系型数据库。但有些初学者在安装配置的时候,遇到种种的困难,在此就不说安装过程了,说一下配置过程。在官网下载的mysql时候,有msi格式和zip格式。Msi直接运行安装即可,zip则解压在自己喜欢的目录地址即可。在安装这两种的时候,都需要配置才能用。以下介绍主要是msi格式默认的地址:C:\Program Files\ mysql-5.7.18-win32。原创 2017-05-07 16:41:23 · 6460 阅读 · 0 评论 -
mysql error1103 Host * is not allowed to connect to this MySQL server解决方法
如果mysql不支持远程连接,会出现提示:错误代码是1130,ERROR 1130: Host * is not allowed to connect to this MySQL server。解决方法如下:localhost改成%进入mysql的BIN目录 代码如下复制代码mysql -u root -pmysql>原创 2017-05-07 17:24:04 · 6362 阅读 · 0 评论 -
单KEY业务,数据库水平切分架构实践
本文将以“用户中心”为例,介绍“单KEY”类业务,随着数据量的逐步增大,数据库性能显著降低,数据库水平切分相关的架构实践:如何来实施水平切分水平切分后常见的问题典型问题的优化思路及实践 一、用户中心用户中心是一个非常常见的业务,主要提供用户注册、登录、信息查询与修改的服务,其核心元数据为:User(uid, login_n转载 2017-07-20 17:23:49 · 367 阅读 · 0 评论 -
SQL多行转多列
表内容:姓名 课程 分数张三 语文 74张三 数学 83张三 物理 93张三 德语 null李四 语文 74李四 数学 84李四 物理 94李四 英语 80想变成(得到如下结果): 姓名 语文 数学 物理 英语 德语---- ---- ---- ----李四 74 84 94 ? 60张三 74 83 93 80 ?原创 2017-09-26 11:01:43 · 1532 阅读 · 0 评论 -
SQL语句百万数据量优化方案
一:理解sql执行顺序在sql中,第一个被执行的是from语句,每一个步骤都会产生一个虚拟表,该表供下一个步骤查询时调用,比如语句:select top 10column1,colum2,max(column3) from user where id>1 groupby column1,colum2 having count(column1)>1 order by colum2.转载 2017-11-08 09:20:30 · 603 阅读 · 0 评论 -
统计数据库sql占用IO损耗情况
USE [cn]GO/****** Object: StoredProcedure [dbo].[PROC_Monitor] Script Date: 03/10/2017 14:57:13 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER PROC [dbo].[PROC_Monitor]A原创 2017-03-10 14:52:44 · 1150 阅读 · 0 评论 -
sql server 死锁排查
记得以前客户在使用软件时,有偶发出现死锁问题,因为发生的时间不确定,不好做问题的重现,当时解决问题有点棘手了。现总结下查看死锁的常用二种方式:第一种是图形化监听: sqlserver -->工具--> sql server profiler 登录后在跟踪属性中选择如下图: 监听到的死锁图形如下图 这里的描述大致是:有二个进程 一个进程I...转载 2018-05-24 10:38:37 · 19697 阅读 · 0 评论 -
sql server 阻塞查询
在生产环境下,有时公司客服反映网页半天打不到,除了在浏览器按F12的Network响应来排查,确定web服务器无故障后。就需要检查数据库是否有出现阻塞当时数据库的生产环境中主表数据量超过2000w,子表数据量超过1亿,且更新和新增频繁。再加上做了同步镜像,很消耗资源。这时就要新建一个会话,大概需要了解以下几点:1.当前活动会话量有多少?2.会话运行时间?3.会话之间有没有阻塞?4.阻塞时...转载 2018-05-24 10:42:43 · 5383 阅读 · 0 评论 -
sql server 高可用故障转移(1)
群集准备工作 个人电脑 内存12G,处理器 AMD A6-3650CPU主频2.6GHz 虚拟机 VMware Workstation 12 数据库 sql server 2008 r2 三台虚拟服务器 windows server 2008 r2 enterprise , 内存分配2g,使用网络桥接模式 群集拓扑结构: 活跃/非活...转载 2018-05-24 11:19:37 · 1267 阅读 · 0 评论 -
聊一聊数据库中的锁
背景数据库中有一张叫后宫佳丽的表,每天都有几百万新的小姐姐插到表中,光阴荏苒,夜以继日,日久生情,时间长了,表中就有了几十亿的小姐姐数据,看到几十亿的小姐姐,每到晚上,我可愁死了,这么多小姐姐,我翻张牌呢?办法当然是精兵简政,删除那些age>18的,给年轻的小姐姐们留位置...于是我在数据库中添加了一个定时执行的小程序,每到周日,就自动运行如下的脚本delete from `后...转载 2019-09-03 16:12:27 · 282 阅读 · 0 评论