06 2018 档案

摘要:【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) 编辑
摘要:;with test(CID,money,NewAmount) as ( SELECT Row_Number() over ( order by money ) as CID ,money ,money *0.1 as NewAmount FROM test107 ) select b.CID , SUM(a.NewAmount ) sum_money... 阅读全文
posted @ 2018-06-27 18:17 郭大侠1 阅读(190) 评论(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.数据库镜像概念及操作 (4)sql server扫盲系列:https://blog.csdn.net/DBA_Huangzj/article/details/19118121 (含域安装和非域安装) 1. 查看终端点 select * from sys.endpoints 2. 删除某终端点(终 阅读全文
posted @ 2018-06-25 16:26 郭大侠1 阅读(237) 评论(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) 编辑
摘要:此问题出现在数据库的移值上。移值后,数据库的登陆名和数据库用户名孤立,原数据中,用建立的用户名密码登陆可以访问数据库,但是移值后就不能访问了。而且如果您尝试向该登录帐户授予数据库访问权限,则会因该用户已经存在而出现以下错误信息: ‘该登录已经在另一个用户名下拥有帐户’。 产生错误的原因是: 在您向目 阅读全文
posted @ 2018-06-22 15:00 郭大侠1 阅读(476) 评论(0) 推荐(0) 编辑
摘要:备份T-SQL操作参考:https://www.cnblogs.com/gered/p/9178924.html 一、完整备份 完整备份包含了数据库中的所有数据,以及可以恢复这些数据的足够的日志(以便恢复到该备份的结尾)。1. 备份的过程(1)锁定数据库,阻塞所有的事务。(2)在事务日志中放置一个标 阅读全文
posted @ 2018-06-20 17:14 郭大侠1 阅读(1127) 评论(0) 推荐(0) 编辑
摘要:关键字:恢复系统数据库 一、还原的过程 还原过程主要分为3个阶段。1. 数据复制 此阶段将从数据库的备份介质将所有数据、日志和索引页复制到数据库文件中。完成这个阶段后,数据库被恢复到备份介质所包含的最后一个检查点。2. 重做(前滚) 此阶段将记录的事务应用到从备份复制的数据,以将这些数据前滚到恢复点 阅读全文
posted @ 2018-06-20 17:03 郭大侠1 阅读(1220) 评论(0) 推荐(0) 编辑
摘要:关键词:事务日志不能收缩,事务日志不能截断,收缩日志,截断日志 一、日志截断的目的 日志截断后,数据库引擎将MinLSN之前的虚拟日志文件(VLF)标记为“可复用”。“可复用”的VLF可以成为日志回绕后重复利用的空间,也可以在收缩日志文件时释放其占用的磁盘空间。详情已经在第五章讨论过。 如果日志文件 阅读全文
posted @ 2018-06-20 16:52 郭大侠1 阅读(1296) 评论(0) 推荐(0) 编辑
摘要:备份选项 一、仅复制备份 1. 使用场景 通常,进行备份会更改数据库并影响其后备份的还原方式。但是,有时需要针对特殊目的执行备份,同时不影响数据库的整体备份和还原过程。为此,SQL Server 2005 中引入了仅复制备份。这种备份独立于 SQL Server 备份的正常序列,可用于完整备份(所有 阅读全文
posted @ 2018-06-20 15:36 郭大侠1 阅读(665) 评论(0) 推荐(0) 编辑
摘要:一、建立作业备份数据库 打开SQL SERVER MANAGEMENT STUDIO,启动SQL SERVER代理服务(注意在“控制面板-管理工具-服务”中设置SQL SERVER AGENT的启动类型为自动)。启动后点击“作业-新建作业”,弹出一个作业属性的窗口,在“常规”栏目里可以先给作业命名, 阅读全文
posted @ 2018-06-20 15:18 郭大侠1 阅读(711) 评论(0) 推荐(0) 编辑
摘要:1.追加与覆盖 TSQL形式: (1)覆盖:backup database to disk ='path' with noformat , init (2)追加:backup database to disk ='path' with noformat , noinit 详解: (1)覆盖:所谓的覆 阅读全文
posted @ 2018-06-19 22:06 郭大侠1 阅读(1085) 评论(0) 推荐(0) 编辑
摘要:基本常用目录 1、文件及目录 1.1、文件/文件夹权限 用法: (1) chgrp group_name dir_name/file_name, (2) chown user_name:group_name dir_name/file_name (3) chmod 777 dir_name/file 阅读全文
posted @ 2018-06-19 11:23 郭大侠1 阅读(330) 评论(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) 编辑
摘要:SQLSERVER数据库主要状态和切换路径 关键词:数据库状态 一个SQLSERVER数据库会处于很多种状态,例如 ONLINE 、RESTORING 、RECOVERING 、RECOVERY_PENDING 、SUSPECT、EMERGENCY 、OFFLINE等等。 只有在ONLINE的状态下 阅读全文
posted @ 2018-06-19 09:43 郭大侠1 阅读(391) 评论(0) 推荐(0) 编辑
摘要:1.镜像备份媒体集 如果保证媒体集有效?换个说法就是,如何保证一个备份集所在的文件有效?个人认为就是备份多次,如果有其中一个文件损坏,可以使用另外的相同镜像备份来恢复。 用白话文描述,就是怎么保证备份文件有效,就是多复制几次备份文件(事实上在sql server 2005之前都是通过一次备份好之后, 阅读全文
posted @ 2018-06-14 20:23 郭大侠1 阅读(226) 评论(0) 推荐(0) 编辑
摘要:文中绝大部分文字与代码的引用参考自:https://www.cnblogs.com/xunziji/archive/2011/04/28/2031653.html 打个比喻简单理解成(媒体集为文件组,媒体簇为文件,备份集为数据表对象/即每一次一个库单独的一次备份即为一个备份集) 1.介质集 (med 阅读全文
posted @ 2018-06-14 16:56 郭大侠1 阅读(625) 评论(0) 推荐(0) 编辑
摘要:常用: /************ 一、数据库备份 ************/ with init,format,stats=1init:覆盖format:格式化备份集stats=1:显示进度条 STOPAT='2018-07-25 09:39:00.000' :还原到时间点go --完整备份默认追 阅读全文
posted @ 2018-06-13 17:32 郭大侠1 阅读(1381) 评论(0) 推荐(0) 编辑
摘要:简介 之前我已经写了一个关于SQL Server日志的简单系列文章。本篇文章会进一步挖掘日志背后的一些概念,原理以及作用。如果您没有看过我之前的文章,请参阅: 浅谈SQL Server中的事务日志(一) 事务日志的物理和逻辑构架 浅谈SQL Server中的事务日志(二) 事务日志在修改数据时的角色 阅读全文
posted @ 2018-06-13 17:14 郭大侠1 阅读(369) 评论(0) 推荐(0) 编辑
摘要:简介 日志的作用是保证持久性和数据一致性,通过日志可以实现数据的Undo与Redo,因此通过日志,SQL Server不仅仅可以实现灾难恢复,还可以通过日志的Redo来实现高可用性。本篇文章主要讲述日志在SQL Server中提供的几种高可用性中的作用以及在灾难恢复中的角色。 日志损坏 日志可能会由 阅读全文
posted @ 2018-06-13 16:51 郭大侠1 阅读(346) 评论(0) 推荐(0) 编辑
摘要:简介 生产环境下的数据是如果可以写在资产负债表上的话,我想这个资产所占的数额一定不会小。而墨菲定律(事情如果有变坏的可能,无论这种可能性有多小,它总会发生)仿佛是给DBA量身定做的。在上篇文章介绍的简单恢复模式下,从最近一次备份到当前的数据都会存在丢失的风险。而完整备份模式使得数据丢失的风险大大减少 阅读全文
posted @ 2018-06-13 16:48 郭大侠1 阅读(237) 评论(0) 推荐(0) 编辑
摘要:简介 在简单恢复模式下,日志文件的作用仅仅是保证了SQL Server事务的ACID属性。并不承担具体的恢复数据的角色。正如”简单”这个词的字面意思一样,数据的备份和恢复仅仅是依赖于手动备份和恢复.在开始文章之前,首先要了解SQL Server提供的几种不同备份类型。 SQL Server提供的几种 阅读全文
posted @ 2018-06-13 16:47 郭大侠1 阅读(255) 评论(0) 推荐(0) 编辑
摘要:简介 SQL Server中的事务日志无疑是SQL Server中最重要的部分之一。因为SQL SERVER利用事务日志来确保持久性(Durability)和事务回滚(Rollback)。从而还部分确保了事务的ACID属性.在SQL Server崩溃时,DBA还可以通过事务日志将数据恢复到指定的时间 阅读全文
posted @ 2018-06-13 16:42 郭大侠1 阅读(229) 评论(0) 推荐(0) 编辑
摘要:预写式日志(Write-Ahead Logging (WAL)) 部分转自:http://www.cnblogs.com/wenBlog/p/4423497.html SQL Server中使用了WAL(Write-Ahead Logging)技术来保证事务日志的ACID特性。而且大大减少了IO操作 阅读全文
posted @ 2018-06-13 16:40 郭大侠1 阅读(1653) 评论(0) 推荐(0) 编辑
摘要:SQL Server 以下列事务模式运行。1. 自动提交事务 每条单独的语句都是一个事务。例如,使用DDL(数据定义语言)定义一个对象。2. 显式事务 每个事务均以 BEGIN TRANSACTION 语句显式开始,以 COMMIT 或 ROLLBACK 语句显式结束。3. 隐式事务 在前一个事务完 阅读全文
posted @ 2018-06-13 16:36 郭大侠1 阅读(253) 评论(0) 推荐(0) 编辑
摘要:SQL Server提供的几种备份类型 SQL Server所提供的几种备份类型基本可以分为以下三种(文件和文件组备份以及部分备份不在本文讨论之列): 1.完整(Full)备份:直接将所备份的数据的所有区(Extent)进行复制。这里值得注意的有2点: 完整备份并不像其名字“完整”那样备份所有部分, 阅读全文
posted @ 2018-06-13 16:28 郭大侠1 阅读(1743) 评论(0) 推荐(0) 编辑
摘要:概述:sql server是以文件形式存储数据与日志 1.数据文件 sql server数据文件分为2类 (1)主数据库文件 主数据库文件包含数据库的启动信息、系统对象,并指向数据库的其他文件(从数据文件),主数据文件也可以存用户数据和对象。每个数据库必须且只能有一个主数据文件,其后缀名为.mdf。 阅读全文
posted @ 2018-06-12 21:25 郭大侠1 阅读(520) 评论(0) 推荐(0) 编辑
摘要:概述:登录身份验证仅限于控制是否可以访问sql server实例。当用户完成登录后,用户所能实现的操作通过权限控制进行约束。 1.权限控制体系概述 sql server的权限体系由主体和安全对象两部分构成。 【1】主体是资源访问的请求者。它是请求访问sql server资源的实体,每个主体都具有一个 阅读全文
posted @ 2018-06-12 19:53 郭大侠1 阅读(396) 评论(0) 推荐(0) 编辑
摘要:1.加密连接 与之前版本不同的是,在sql server 2005中,始终对客户端应用程序与sql server2005连接时传输的凭证(在登录数据包中)进行加密。加密使用可信证书颁发机构颁发的证书(如果可用)进行;如果未安装可信证书,则在启动实例时sql server将生成自签名证书,并使用自签名 阅读全文
posted @ 2018-06-12 19:14 郭大侠1 阅读(1006) 评论(0) 推荐(0) 编辑
摘要:连接安全是sql server安全配置的第1道防线,它保证只有许可的客户端能够连接sql server,而且可以限制连接可用的通道(各种网络协议)。 1.连接到sql server实例 sql server 2005数据库引擎使用TDS(表格格式数据流)数据包与应用程序通信,通过SNI(sql se 阅读全文
posted @ 2018-06-11 20:07 郭大侠1 阅读(771) 评论(0) 推荐(0) 编辑
摘要:数据安全是企业级应用极为重要的保证,sql server 2005的安全特性体现在如下方面: 1、设计安全 sql server开发团队进行了多少安全升级,并彻底研究了sql server各个组件以及他们之间的关联性;对每一个潜在的安全威胁,开发人员都会做一个威胁模型分析评估,再针对它做相应的设计和 阅读全文
posted @ 2018-06-11 15:24 郭大侠1 阅读(240) 评论(0) 推荐(0) 编辑
摘要:1.自动选项(自动关闭数据库、自动创建统计信息、自动收缩数据库) 2.可用性选项(数据库本身开关状态,数据库读写状态,数据库可访问性状态) 3.事务的隔离级别(不了解事务隔离级别的参考:(1)概念性理解 (2)sqlserver实操性:事务的隔离) READ UNCOMMITTED(未提交读,读脏) 阅读全文
posted @ 2018-06-08 18:45 郭大侠1 阅读(321) 评论(0) 推荐(0) 编辑
摘要:深入参考我的另一篇文章:(5.3.12)sql server服务器选项 该文作者:刘新林 转载请标明出处:http://blog.csdn.net/loving_ios/article/details/71915703 为了确保SQL Server 服务器安全、稳定、高效地运行,应对服务器属性进行优 阅读全文
posted @ 2018-06-08 18:10 郭大侠1 阅读(2025) 评论(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) 编辑
摘要:1.char与varchar的比较 (1)数据存储开销 【1】varchar列需要2个额外的字节来记录存储数据的长度 【2】每个可为null的char列,需要一些字节(空位图)来反应数据的为空性 【3】无论数据多少,char都占定义的长度分配的存储空间 【4】varchar是存储多少空间,就占多少空 阅读全文
posted @ 2018-06-05 20:55 郭大侠1 阅读(478) 评论(0) 推荐(0) 编辑
摘要:关键词:索引碎片,外部碎片,内部碎片,重建索引 1.索引与排序的关系 经过多番尝试,我发现,直接select * from table 默认是会按聚集索引来排序的。 那如果order by column ,column中有非聚集索引,排序用使用该索引吗?答案是不会,只有是聚集索引的时候才会根据其索引 阅读全文
posted @ 2018-06-04 20:44 郭大侠1 阅读(418) 评论(0) 推荐(0) 编辑
摘要:一、字符转换函数 1、ASCII() 返回字符表达式最左端字符的ASCII 码值。在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。 2、CHAR() 将ASCII 码转换为字符。如果没有输入0 ~ 255 之间的ASCII 码值,CHAR 阅读全文
posted @ 2018-06-04 20:26 郭大侠1 阅读(578) 评论(0) 推荐(0) 编辑
摘要:日期处理 常用日期函数 下面的表格列出了 SQL Server 中最重要的内建日期函数: 函数描述 GETDATE() 返回当前日期和时间 DATEPART(Type,date) 返回日期/时间的单独部分 DATEADD(Type,number,date) 在日期中添加或减去指定的时间间隔 DATE 阅读全文
posted @ 2018-06-04 20:03 郭大侠1 阅读(292) 评论(0) 推荐(0) 编辑
摘要:配置Sql Server 2008(Win7) 1.打开SQL server2012,使用windows身份登录 2.登录后,右键选择“属性”。左侧选择“安全性”,选中右侧的“SQL Server 和 Windows 身份验证模式”以启用混合登录模式 3.选择“连接”,勾选“允许远程连接此服务器”, 阅读全文
posted @ 2018-06-04 15:39 郭大侠1 阅读(356) 评论(0) 推荐(0) 编辑
摘要:嵌套触发器 更详细参考:https://www.cnblogs.com/gered/p/10812399.html Sql server触发器详解 1. 概述 触发器是一种特殊的存储过程,它不能被显式地调用,而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。 所以触发器可以用来实现对表实施复 阅读全文
posted @ 2018-06-04 12:31 郭大侠1 阅读(606) 评论(0) 推荐(0) 编辑
摘要:在SQL Server 中,某列的数据都在int范围之内,但是使用sum聚集函数求该列和的时候,出现“将expression转化为数据类型int时发生算术溢出错误”。 问题在于定义的数据类型: 首先,我们先看看SQL Server 定义的数据类型的长度: bigint 数据类型存储从 -2^63 ( 阅读全文
posted @ 2018-06-04 10:09 郭大侠1 阅读(3512) 评论(0) 推荐(0) 编辑
摘要:有一天,我们发现SQL Server代理程序在SSMS“SQL Server代理程序(Agent XPs已禁用)”中为我们的SQL Server实例之一停止了以下消息,但该服务正在根据服务控制台运​​行。我试图从SQL Server Management Studio启动服务,但这不起作用。什么是问 阅读全文
posted @ 2018-06-04 10:08 郭大侠1 阅读(2595) 评论(0) 推荐(0) 编辑
摘要:参考:https://www.cnblogs.com/nikyxxx/archive/2012/11/27/2791001.html 1.rollup (1)rollup在group by 子句中使用with指定,用于生产包含小计和总计的报表(其实和excel中的分类汇总差不多) with test 阅读全文
posted @ 2018-06-01 19:06 郭大侠1 阅读(342) 评论(0) 推荐(0) 编辑
摘要:关键词:动态SQL 1.流程控制 在T-SQL中,与流程控制语句相关的关键字有8个: BEGIN...END BREAK GOTO CONTINUE IF...ELSE WHILE RETURN WAITFOR 其实还可以加一个,那就是GO,下面我们一个一个来解释说明意思吧 (1)GO :批处理提交 阅读全文
posted @ 2018-06-01 18:14 郭大侠1 阅读(341) 评论(0) 推荐(0) 编辑