草庐IT

SQLSERVER

全部标签

SqlServer 高并发的情况下,如何利用锁保证数据的稳定性

   sql的锁机制,是时刻贯彻在每一次的sql事务中的,为了理解更透彻,介绍锁之前,我们得先了解,锁是为了干什么!! 1、数据库异常情况    1.1先来聊聊数据可能发生个异常状况    1)脏读:读未提交,顾名思义,读到了不该读的东西,如:        事务B读到了事务A回滚的数据,就是脏读      2)不可重复读:读已提交,同个事务内,多次读取同个数据,却返回不同结果,偏向数据更新        事务B发生了不可重复读    3) 幻读:同个事务内,因其他事务插入或删除数据,导致读取到不同的数据量(本质和不可重复读相似)         事务B发生了幻读  1.2数据库用什么机制来处

SqlServer 高并发的情况下,如何利用锁保证数据的稳定性

   sql的锁机制,是时刻贯彻在每一次的sql事务中的,为了理解更透彻,介绍锁之前,我们得先了解,锁是为了干什么!! 1、数据库异常情况    1.1先来聊聊数据可能发生个异常状况    1)脏读:读未提交,顾名思义,读到了不该读的东西,如:        事务B读到了事务A回滚的数据,就是脏读      2)不可重复读:读已提交,同个事务内,多次读取同个数据,却返回不同结果,偏向数据更新        事务B发生了不可重复读    3) 幻读:同个事务内,因其他事务插入或删除数据,导致读取到不同的数据量(本质和不可重复读相似)         事务B发生了幻读  1.2数据库用什么机制来处

Windows故障转移群集 和 SQLServer AlwaysOn 搭建教程

一、准备工作:1、准备域控:服务器都在同一个域控(以下假设所在域控为AAA.COM)。2、开启服务:域控要开启RemoteProcedureCall(RPC)服务。3、安装角色和服务:纳入群集节点的服务器必须先添加角色和功能.NET3.5和故障转移群集,防火墙开启两个共享端口135、445,和端点端口5022,要开启RemoteRegistry服务。4、建专用域账号:在域控新建数据库服务专用账号wsfc_sqlserver@AAA.com,密码:********。5、配置仲裁共享文件夹:去域控下非数据库节点服务器上建立一个共享文件夹(如:\\10.0.XXX.XXX\WIN故障转移群集\共享仲

Windows故障转移群集 和 SQLServer AlwaysOn 搭建教程

一、准备工作:1、准备域控:服务器都在同一个域控(以下假设所在域控为AAA.COM)。2、开启服务:域控要开启RemoteProcedureCall(RPC)服务。3、安装角色和服务:纳入群集节点的服务器必须先添加角色和功能.NET3.5和故障转移群集,防火墙开启两个共享端口135、445,和端点端口5022,要开启RemoteRegistry服务。4、建专用域账号:在域控新建数据库服务专用账号wsfc_sqlserver@AAA.com,密码:********。5、配置仲裁共享文件夹:去域控下非数据库节点服务器上建立一个共享文件夹(如:\\10.0.XXX.XXX\WIN故障转移群集\共享仲

SQL Server 的 Nolock 到底是怎样的无锁

一、背景1.讲故事相信绝大部分用SQLSERVER作为底层存储的程序员都知道 nolock 关键词,即使当时不知道也会在踩过若干阻塞坑之后果断的加上 nolock,但这玩意有什么注意事项呢?这就需要了解它的底层原理了。二、nolock的原理1.sql阻塞还原为了方便讲述,先创建一个post表,插个 6 条记录,参考代码如下:CREATETABLEpost(idINTIDENTITY,contentchar(4000))GOINSERTINTOdbo.postVALUES('aaa')INSERTINTOdbo.postVALUES('bbb')INSERTINTOdbo.postVALUES(

SQL Server 的 Nolock 到底是怎样的无锁

一、背景1.讲故事相信绝大部分用SQLSERVER作为底层存储的程序员都知道 nolock 关键词,即使当时不知道也会在踩过若干阻塞坑之后果断的加上 nolock,但这玩意有什么注意事项呢?这就需要了解它的底层原理了。二、nolock的原理1.sql阻塞还原为了方便讲述,先创建一个post表,插个 6 条记录,参考代码如下:CREATETABLEpost(idINTIDENTITY,contentchar(4000))GOINSERTINTOdbo.postVALUES('aaa')INSERTINTOdbo.postVALUES('bbb')INSERTINTOdbo.postVALUES(

#yyds干货盘点#SqlServer-逻辑查询-ON与WHERE天壤之别

   在日常开发中,我们经常会通过SQL对数据库中的基础数据元素进行查询,通过对业务具有相关性的数据表进行关联组合,生成新的数据模型来达到我们将数据转换为业务信息的目的,但不掌握查询元素的逻辑处理次序就开始用SQL编程,在日常工作中很容易碰到令人费解的问题。   所以了解SQL执行的逻辑查询过程可以帮助我们更加自如的应用SQL查询,虽然SQL的逻辑查询的处理步骤看起来很低效,但SqlServer在实际的执行过程中数据库引擎会通过查询优化器来生成最有效的物理处理过程,查询的实际物理过程与逻辑处理过程有很大不同,但逻辑查询过程中的执行的步骤是通过逻辑步骤表述的方式让我们更容易理解SQL查询处理中的

#yyds干货盘点#SqlServer-逻辑查询-ON与WHERE天壤之别

   在日常开发中,我们经常会通过SQL对数据库中的基础数据元素进行查询,通过对业务具有相关性的数据表进行关联组合,生成新的数据模型来达到我们将数据转换为业务信息的目的,但不掌握查询元素的逻辑处理次序就开始用SQL编程,在日常工作中很容易碰到令人费解的问题。   所以了解SQL执行的逻辑查询过程可以帮助我们更加自如的应用SQL查询,虽然SQL的逻辑查询的处理步骤看起来很低效,但SqlServer在实际的执行过程中数据库引擎会通过查询优化器来生成最有效的物理处理过程,查询的实际物理过程与逻辑处理过程有很大不同,但逻辑查询过程中的执行的步骤是通过逻辑步骤表述的方式让我们更容易理解SQL查询处理中的