主键、外键、超键和候选键是数据库中用于唯一标识元组的属性集。主键是唯一且不能为空的属性组合,外键指向其他表的主键。自增列简化插入操作,触发器用于自动执行特定操作,存储过程是预编译的SQL语句集合。索引加速查询,但过多索引会影响性能。
本文讲解了基于SqlServer数据库的SQL注入漏洞,从数据库介绍,到T-SQL语言,最后到手工注入都有讲解。
本文介绍了SQL Server的基础知识,包括环境搭建、数据库结构、权限管理及SQL注入。重点讲解了T-SQL语言的使用、数据库的创建与操作,以及SQL注入的常见手法,帮助读者理解SQL注入测试。
本文介绍如何使用Babelfish将SQLServer迁移到Aurora PostgreSQL。步骤包括创建Aurora PostgreSQL的参数组和安全组,配置DMS服务的IAM角色和子网组,创建DMS复制实例和端点并测试连接。启用SQLServer的CDC功能后,连接Aurora PostgreSQL集群,创建数据库并运行脚本。最后,创建复制任务并验证数据迁移成功。
本文介绍了如何解决应用系统反应慢或卡死的问题,包括应用系统自身问题和SQL查询读写互相阻塞。使用SQLServer自带的报表可以快速定位正在发生的阻塞,新建扩展事件可以解决历史阻塞问题。同时分享了常见的阻塞原因和优化手段。
本文介绍了SQL Server的变更数据捕获(CDC)技术的改进方法,包括记录lsn、动态传递代码、滑动时间加载等。同时总结了CDC技术的优点和问题,包括可靠性高、对源表透明、异步捕获等优点,以及数据保留时间和频率等问题。
最近发现有一批新数据没有同步过来,查询表数据和日志发现是定时任务的问题,原因是Java 8新版本禁用了TLSv1.0和TLSv1.1,而项目中SQLServer驱动使用的正是TLSv1,修改java.security文件,删除TLSv1和TLSv1.1,重启Web应用即可解决问题。
最近发现有一批新数据没有同步过来,查询表数据和日志后发现是定时任务的问题,原因是Java 8新版本禁用了TLSv1.0和TLSv1.1,修改java.security文件,删除TLSv1和TLSv1.1,重启Web应用即可解决问题。
使用 SQLSERVER 时经常会遇到死锁,需要熟知各种隔离级别,尤其是可提交读模式下的 CURD 加解锁过程,收集整理死锁的 xml 数据,以便找到死锁源头,解决方案有使用 nolock 脏读和 MVCC 多版本控制。
工作中遇到急需解决的sql语句性能差、数据库损坏、CPU暴涨、死锁等问题,一线码农技术博主提供免费协助,微信搜索一线码农聊技术,分享踩坑经验,帮助更多人解决问题。
SQLSERVER支持四种事务隔离级别,READ UNCOMMITTED、READ COMMITTED、SERIALIZABLE和REPEATABLE READ,可以通过SQL Profile工具可视化观察锁过程,READ UNCOMMITTED会引发脏读,READ COMMITTED以不出现脏读为目标,REPEATABLE READ可实现可重复读,但会出现幻读。
一:背景 1. 讲故事相信绝大部分用 SQLSERVER 作为底层存储的程序员都知道 nolock 关键词,即使当时不知道也会在踩过若干阻塞坑之后果断的加上 nolock,但这玩意有什么注意事项呢?这就需要了解它的底层原理了。二:nolock 的原理 1. sql 阻塞还原为了方便讲述,先创建一个 post 表,插个 6 条记录,参考代码如下:CREATETABLEpost(idINTID...
一:背景 1. 讲故事大家都知道数据库应用程序 它天生需要围绕着数据文件打转,诸如包含数据的 .mdf,事务日志的 .ldf,很多时候深入了解这两类文件的合成原理,差不多对数据库就能理解一半了,关于 .mdf 的合成前面的文章已经有所介绍,这篇我们来聊一下 .ldf 的一些内部知识,比如 LSN。二:对 LSN 的理解 1. 什么是 LSN如果大家玩过 SQLSERVER 的发布订阅或者 Alwa...
一:背景 1. 讲故事最近在看 SQL SERVER 2008 查询性能优化,书中说当一个表创建了聚集索引,那么表中的行会按照主键索引的顺序物理排列,这里有一个关键词叫:物理排列,如果不了解底层原理,真的会被忽悠过去,其实仔细想一想不可能实现严格的 物理排列 ,那对性能是非常大的损害,本篇我们就从底层出发聊一聊到底是怎么回事。二:原理探究 1. 我认为的物理排列如果用 C# 代码来演示严格的物理排...
一:背景 1. 讲故事前些天看到一个奇怪的 Function 函数,调用的是 C# 链接库中的一个 UserLogin 方法,参考代码如下:CREATEFUNCTIONdbo.clr_UserLogin ( @nameASNVARCHAR(100), @passwordASNVARCHAR(100) ) RETURNSINT AS EXTERNALNAMEas...
SQLServer 安装
一:背景 1. 讲故事上一篇写完了之后,马上就有朋友留言对记录行的 8060byte 限制的疑惑,因为他的表记录存储了大量的文章,存储文章的字段类型用的是 nvarchar(max),长度很显然是超过 8060byte 的,请问这个底层是怎么破掉 8060byte 的限制的?说实话这是一个好问题,本质上来说 8060byte 的限制肯定是不能破掉的,如果让我处理的话肯定是将文章的数据分摊在多个数据...
一:背景 1.讲故事最近给一位朋友做 SQL 慢语句 优化,花了些时间调优,遗憾的是 SQLSERVER 非源码公开,玩起来不是那么顺利,不过从这次经历中我觉得明年的一个重大任务就是好好研究一下它,争取在 SQLSERVER 性能优化上做一些成绩,哈哈! 个人觉得要想深入研究 SQLSERVER,得从它的存储引擎说起,说到存储引擎又得从核心的 数据页 说起,毕竟 mdf 就是由 数据页 拼出来的,...
今天在SQL server中写存储过程时遇到一种0和空字符串相等的问题。场景:表A有value1(varchar)和value2(int)两个字段,现在插入一条新的数据(v1,v2),如果v1已...
完成下面两步后,将自动完成登录并继续当前操作。