随笔分类 -  MSSQL dba开发

摘要:T-SQL支持在与空值进行比较时,允许比较运算符返回 TRUE 或 FALSE。通过设置 ANSI_NULLS OFF 可将此选项激活。当 ANSI_NULLS 为 OFF 时,如果 ColumnA 包含 Null 值,则 ColumnA = NULL 之类的比较操作会返回 TRUE;如果 Colu 阅读全文
posted @ 2018-07-30 03:04 郭大侠1 阅读(261) 评论(0) 推荐(0) 编辑
摘要:转自:www.cnblogs.com/careyson 简介 Merge关键字是一个神奇的DML关键字。它在SQL Server 2008被引入,它能将Insert,Update,Delete简单的并为一句。MSDN对于Merge的解释非常的短小精悍:”根据与源表联接的结果,对目标表执行插入、更新或 阅读全文
posted @ 2018-07-30 02:58 郭大侠1 阅读(197) 评论(0) 推荐(0) 编辑
摘要:最近遇到一个情况,需要在内网系统中出一个统计报表。需要根据不同条件使用多个group by语句.需要将所有聚合的数据进行UNION操作来完成不同维度的统计查看. 直到发现在SQL SERVER 2008之后引入了GROUPING SETS这个对于GROUP BY的增强后,上面的需求实现起来就简单多了 阅读全文
posted @ 2018-07-30 02:48 郭大侠1 阅读(209) 评论(0) 推荐(0) 编辑
摘要:【0】最佳实践 基本案例 --(1)把实例登录名添加到服务器角色 ALTER SERVER ROLE [sysadmin] ADD MEMBER [WIN-IUPGVIBG48A\sqladmin] -- 把登录名添加到角色 --(2)把数据库用户名添加到数据库角色 use db; EXEC sp_ 阅读全文
posted @ 2018-07-27 17:46 郭大侠1 阅读(6211) 评论(1) 推荐(1) 编辑
摘要:缓存执行计划 SQL Server 2008提供了一些服务器对象来分析执行计划Sys.dm_exec_cached_plans: 包含缓存的执行计划,每个执行计划对应一行。Sys.dm_exec_plan_attributes: 这是一个系统函数,每一个执行计划都对应着一些属性,在这个系统函数中包含 阅读全文
posted @ 2018-07-05 17:41 郭大侠1 阅读(182) 评论(0) 推荐(0) 编辑
摘要:一、ODBC ODBC的由来 1992年Microsoft和Sybase、Digital共同制定了ODBC标准接口,以单一的ODBC API来存取各种不同的数据库。随后ODBC便获得了许多数据库厂商和Third-Party的支持而逐渐成为标准的数据存取技术。ODBC以当时的业界标准规范X/OpenC 阅读全文
posted @ 2018-07-05 11:41 郭大侠1 阅读(584) 评论(0) 推荐(0) 编辑
摘要:【1】常用 dmv 以下是一些您应该熟悉的更有用的DMV: 1、sys.dm_exec_cached_plans - 可用于SQL Server的缓存查询计划 2、sys.dm_exec_sessions - SQL Server中的会话 3、sys.dm_exec_connections - 连接 阅读全文
posted @ 2018-06-28 17:54 郭大侠1 阅读(474) 评论(0) 推荐(0) 编辑
摘要:1.表结构信息 2.索引信息 3.索引使用情况 4.sql语言定义模块对象信息 查看所有对象定义 结果如图 : 5.外键约束 T-SQL查询所有外键信息 6.对象依赖关系 对象依赖关系示例 T-SQL 7.表空间信息 查看单表空间信息 sp_spaceused table_name 查询所有表空间信 阅读全文
posted @ 2018-06-26 17:39 郭大侠1 阅读(180) 评论(0) 推荐(0) 编辑
摘要:【1】链接服务器最佳实践 1.链接数据库 exec sp_addlinkedserver 'csj','','SQLOLEDB','pc' -- 把【数据库地址pc】与连接名称【csj】绑定 exec sp_addlinkedsrvlogin 'csj','false',null,'sa','123 阅读全文
posted @ 2018-06-25 11:26 郭大侠1 阅读(596) 评论(0) 推荐(0) 编辑
摘要:参考文章:分页写法小结 推荐使用row_number over()方法,或2012以上使用offset 方法一:(最常用的分页代码, top / not in) select top 30 UserId from UserInfo where UserId not in ( select top 6 阅读全文
posted @ 2018-06-19 09:59 郭大侠1 阅读(320) 评论(0) 推荐(0) 编辑
摘要:SQL Server读懂语句运行的统计信息 SET STATISTICS TIME IO PROFILE ON 执行计划详细描述请参考(读懂执行计划) 对于语句的运行,除了执行计划本身,还有一些其他因素要考虑,例如语句的编译时间、执行时间、做了多少次磁盘读等。 如果DBA能够把问题语句单独测试运行, 阅读全文
posted @ 2018-06-08 16:22 郭大侠1 阅读(604) 评论(0) 推荐(0) 编辑
摘要:元数据函数 1、获取数据库标识符DB_ID DB_ID函数用于获取当前数据库的唯一ID(int数据类型),数据库ID用于服务器上唯一区分书库。 语法结构: DB_ID (['database_name']) 参数中的database_name是sysname类型的数据库名称,为可选参数。如果没有指定 阅读全文
posted @ 2018-06-08 11:49 郭大侠1 阅读(263) 评论(0) 推荐(0) 编辑
摘要:部分参考引用自:https://www.cnblogs.com/ljhdo/p/5037033.html 官网:https://docs.microsoft.com/zh-cn/sql/relational-databases/sql-server-transaction-locking-and-r 阅读全文
posted @ 2018-06-06 20:47 郭大侠1 阅读(1622) 评论(0) 推荐(0) 编辑
摘要:sql server锁(lock)知识及锁应用转自:http://blog.csdn.net/huwei2003/article/details/4047191 提示:这里所摘抄的关于锁的知识有的是不同sql server版本的,对应于特定版本时会有问题。 一 关于锁的基础知识 (一). 为什么要引 阅读全文
posted @ 2018-06-06 20:42 郭大侠1 阅读(452) 评论(0) 推荐(0) 编辑
摘要:关键字:SQL优化 总结: 1.书写问题 2.表连接方式 3.索引的抉择 4.执行计划之参数嗅探,使用提示强制执行计划 5.子查询与表连接的效率 6.临时表、CTE、表变量的选择 7.常用sp与select的缓存命中 8.锁(善用nolock,注意跳读与重复读)与事务(显示与隐式以及自动) with 阅读全文
posted @ 2018-06-06 20:39 郭大侠1 阅读(619) 评论(0) 推荐(0) 编辑
摘要:参考:深入了解identity 参考:深入了解计算列 概念:标识值 identity(begin,add_number) 是一种特殊的值,依赖于列,由sql server自动维护,是自增的,而且一般是不会重复的。但是sql server并不维护标识(identity)值的唯一(要保证其唯一需在使用列 阅读全文
posted @ 2018-06-06 18:13 郭大侠1 阅读(632) 评论(0) 推荐(0) 编辑
摘要:转自:https://www.cnblogs.com/xiaozhi1236/p/5895935.html 深入了解:https://www.cnblogs.com/kissdodog/archive/2013/07/03/3169470.html 1、临时表 1.1 临时表包括:以#开头的局部临时 阅读全文
posted @ 2018-06-06 17:52 郭大侠1 阅读(450) 评论(0) 推荐(0) 编辑
摘要:概念:在逐条处理数据的时候,游标显得十分重要,特别是在处理每一条数据时,需要与其他过程交互的情况下,如果不用游标,那真是太好了。 本章不介绍游标的具体使用,如果要详细了解游标的使用和概念,参考:https://www.cnblogs.com/CareySon/archive/2011/11/01/2 阅读全文
posted @ 2018-06-06 17:38 郭大侠1 阅读(248) 评论(0) 推荐(0) 编辑
摘要:修改实例、数据库、表、字段参考:https://www.cnblogs.com/gered/p/9376896.html 服务器排序规则参考:https://docs.microsoft.com/zh-cn/sql/relational-databases/collations/set-or-cha 阅读全文
posted @ 2018-06-06 14:57 郭大侠1 阅读(3895) 评论(1) 推荐(2) 编辑
摘要:概述:NULL与零长度是不同的,NULL表示数据未知或不可用,它是与零(数值或2进制)、零长度字符串不 同的一种值,也可以理解为一种状态。 即可以理解为:所有的变量都有2种状态,一种有值,一种为NULL,为NULL其内容是不可测的。 1.比较NULL值 (1)算数运算均为NULL,因为这是一个未知的 阅读全文
posted @ 2018-06-05 21:12 郭大侠1 阅读(908) 评论(0) 推荐(0) 编辑