随笔分类 -  SQL Server

摘要:最近有一些几万年没人关注的财务相关的系统要迁移SQL Server数据,找人问了一大圈才知道他们当初具体买的什么版本然后在某个犄角旮旯的ftp服务器里找到了相应的安装包。 鉴于每次向人解释SQL Server各个发行版之间的差异实在是耗费心力,于是在官网找了一个说明贴出来。 Editions and 阅读全文
posted @ 2021-12-07 16:53 realcp1018 阅读(1387) 评论(0) 推荐(0) 编辑
摘要:示例: 有如下表需要进行行转列: 代码如下: # -*- coding:utf-8 -*- import pandas as pd import MySQLdb from warnings import filterwarnings # 由于create table if not exists总会抛 阅读全文
posted @ 2018-10-12 15:20 realcp1018 阅读(19080) 评论(0) 推荐(1) 编辑
摘要:我们在Oracle和MySQL数据库中已经对一致性读的概念比较熟悉了,但是在SQL Server中却鲜少提及,但SQL Server自2005版本以来其实也实现了一致性读,几乎所有关系型数据库产品的一致性读都是通过MVCC机制实现的,说白了就是修改之前先把数据存一份儿。 MVCC的意思就是Multi 阅读全文
posted @ 2018-03-08 10:11 realcp1018 阅读(1134) 评论(0) 推荐(0) 编辑
摘要:锁兼容性图: 一、锁的粒度: 比较需要注意的是RID/KEY、HoBT/PAGE这两对儿的区别,RID和HoBT是针对堆表的,即没有聚集索引的表。 二、锁的模式: 1.关于其中的S、U、X锁: 共享锁 共享锁(S 锁)允许并发事务在封闭式并发控制下读取 (SELECT) 资源。 资源上存在共享锁(S 阅读全文
posted @ 2018-02-24 12:06 realcp1018 阅读(2432) 评论(0) 推荐(0) 编辑
摘要:一、事务隔离级别控制着事务的如下表现: 在该行上的排他锁被释放之前阻塞其他事务。 检索在启动语句或事务时存在的行的已提交版本。 读取未提交的数据修改。 在该行上的排他锁被释放之前阻塞其他事务。 检索在启动语句或事务时存在的行的已提交版本。 读取未提交的数据修改。 以上说明事务隔离级别主要针对读操作来 阅读全文
posted @ 2018-02-24 10:55 realcp1018 阅读(4813) 评论(0) 推荐(0) 编辑
摘要:昨天在QQ群里讨论一个SQL优化的问题,语句大致如下: 于是手动测试,先看Oracle,环境采用Oracle自带的scott用户下的emp表。 1.首先查看如下语句的执行计划(此时表只有主键索引): 2.添加IX_TEST(deptno,comm)后查看执行计划: 发现依然是全表扫描。 3.为dep 阅读全文
posted @ 2018-02-07 11:28 realcp1018 阅读(5261) 评论(0) 推荐(0) 编辑
摘要:同事告知某现场SQL Server2008R2数据库的DATA文件夹下audittrace开头的trc文件不断增多,占用较大空间,因此需要关停,尝试解决步骤如下: 1.查看是否有后台开启的trace 发现并没有...... 2.查看是否有人工开启的sqlprofiler。(一般生成在本地的trc都是 阅读全文
posted @ 2018-01-25 17:57 realcp1018 阅读(4503) 评论(0) 推荐(1) 编辑
摘要:一个很基础的插入语句: 其中table1表中col2,col3是datetime类型,其他都是varchar类型,table2全部是varchar类型。 table2表中全部是varchar类型,col 1 4 5都有可能是空值。 在执行时报出如下错误: 由于datetime类型的只涉及到了col 阅读全文
posted @ 2017-11-09 17:43 realcp1018 阅读(3042) 评论(0) 推荐(0) 编辑
摘要:现场报错如下: 从报错来看是某个worker占用scheduler不释放导致,服务器具体的scheduler个数可以从sys.dm_os_sys_info.scheduler_count列中看到,一般来说服务器也就那么些核数,其中如果被non-yeilding的worker长久占用一些,将可能导致非 阅读全文
posted @ 2017-11-03 15:38 realcp1018 阅读(1199) 评论(0) 推荐(0) 编辑
摘要:数据库ERRORLOG中出现类似记录,因此去查找相关的文档,发现SQL Server在做一些配置变更时会彻底清除一次执行计划缓存,这很好的解释了许多时候修改最大内存也会导致执行计划变更,SQL执行性能变化的现象。具体的官方文档为:https://support.microsoft.com/en-us 阅读全文
posted @ 2017-11-03 15:16 realcp1018 阅读(1156) 评论(0) 推荐(0) 编辑
摘要:在SQL Server的属性-->连接中我们可以看到这样一个选项:'允许远程连接到此服务器'(英文是remote access),其默认值是1,表示此选项开启。 但是这个参数并非是字面上所显示的那样,控制着远程连接的开关,事实上这个参数与是否可以连接到数据库毫无关系,在以后的版本中即将被废弃,其功能 阅读全文
posted @ 2017-10-31 16:01 realcp1018 阅读(1055) 评论(0) 推荐(0) 编辑
摘要:在SQL Server服务器属性--连接中,有一个名为“使用查询调控器防止查询长时间运行”的选项: 官网解释如下: query governor cost limit option: Use the query governor cost limit option to specify an upp 阅读全文
posted @ 2017-10-31 14:48 realcp1018 阅读(2023) 评论(0) 推荐(0) 编辑
摘要:注意: 索引重建前建议把数据库切换为完整模式,否则索引复制会在数据文件中进行,导致数据文件很大,而数据文件的收缩比日志文件的收缩要困难的多,且会对业务造成影响。 注意: 索引重建前建议把数据库切换为完整模式,否则索引复制会在数据文件中进行,导致数据文件很大,而数据文件的收缩比日志文件的收缩要困难的多 阅读全文
posted @ 2017-10-11 19:10 realcp1018 阅读(659) 评论(0) 推荐(0) 编辑
摘要:背景环境: SQL Server 2005或以上 Select * from 某个表,表的数据量约为30万行,在执行语句时通过观察sys.dm_exec_requests中的wait_type列发现是ASYNC_NETWORK_IO等待,在本地MSSQL2012上测试时发现了PREEMPTIVE_O 阅读全文
posted @ 2017-10-10 18:51 realcp1018 阅读(1580) 评论(0) 推荐(0) 编辑
摘要:前些天某个SQL Server数据库的错误日志爆出如下错误: 第一感觉是并行查询的问题,于是翻笔记查看'ACCESS_METHODS_DATABASE_PARENT'到底是什么等待事件,可以参考sys.dm_os_latch_stats的官网解释来了解一二。 ACCESS_METHODS_DATAS 阅读全文
posted @ 2017-09-04 15:35 realcp1018 阅读(2745) 评论(0) 推荐(0) 编辑
摘要:前些天在处理一个SQL Server LATCH导致的数据库停止响应问题时,遇到了一些需要SQLOS调度知识解决的问题,正好以前看过一篇官网的文章,在这里稍作修改贴出来。 原文网址如下: https://blogs.msdn.microsoft.com/apgcdsd/2011/11/23/sql- 阅读全文
posted @ 2017-09-04 15:15 realcp1018 阅读(751) 评论(0) 推荐(0) 编辑
摘要:前置说明: 本文旨在通过一个简单的执行计划来引申并总结一些SQL Server数据库中的SQL优化的关键点,日常总结,其中的概念介绍中有不足之处有待补充修改,希望大神勘误。 SQL语句如下: SELECT <所需列> --列太多,不一一列出 FROM study1 INNER JOIN series 阅读全文
posted @ 2017-08-19 22:21 realcp1018 阅读(7558) 评论(0) 推荐(0) 编辑
摘要:昨晚某现场报一个重建索引失败的问题,远程查看后发现是自动收缩的内部会话引发的锁申请超时,突然想起来自己的加锁实验还没完成索引重建部分,今天有空正好做一下: 先试了下聚集索引的重建,以下是相关会话的所有加锁情况: 从以上的锁分布情况来分析,首先我们过滤掉所有非相关表的锁,那么整个结果集只剩下了6行: 阅读全文
posted @ 2017-07-18 17:26 realcp1018 阅读(1055) 评论(0) 推荐(0) 编辑
摘要:故障说明: 远程调整实例内存时疏忽,将实例最大内存调整为了0,因此最大内存变成了128MB的最小值。 解决方式: 1.正常关闭SQL Server服务,如果是集群,需要先关停止集群角色防止故障转移,然后再单独关闭服务。 --注意这一步可能会使实例处于挂起状态很长时间,但是正常关闭是必须的,直接杀进程 阅读全文
posted @ 2017-07-18 11:49 realcp1018 阅读(1452) 评论(0) 推荐(0) 编辑
摘要:早上打开笔记本想开启SQL Server服务时报错,于是根据提示查看windows日志: 依次点开报错发现第一条是1433端口被占用,于是找相关的进程: 于是杀掉此进程: 然后启动SQL Server服务成功。 阅读全文
posted @ 2017-07-18 11:46 realcp1018 阅读(590) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示