随笔分类 - SQL SERVER
微软数据库
摘要:在进行ETL开发时,数据类型(Data Type)是最基础的,但也容易被忽略,楼主使用的SQL Server 版本是2012,用此博文记录,常用的SSIS数据类型和TSQL数据类型的映射。SSIS的数据类型,是指数据流组件使用的数据类型和变量的数据类型(Data Flow 和 Variable)。
阅读全文
摘要:文章继续 桦仔兄的文章将表里的数据批量生成INSERT语句的存储过程 增强版继续增强...本来打算将该内容回复于桦仔兄的文章的下面的,但是不知为何博客园就是不让提交!....所以在这里贴出来吧,算作继续增加文章中解决的:根据查询条件自动生成插入脚本的需求,其实这种需求还是蛮常见的。本文着重解决了文中...
阅读全文
摘要:前言一提到跟踪俩字,很多人想到警匪片中的场景,同样在我们的SQL Server数据库中“跟踪”也是无处不在的,如果我们利用好了跟踪技巧,就可以针对某些特定的场景做定向分析,找出充足的证据来破案。简单的举几个应用场景:在线生产库为何突然宕机?数百张数据表为何不翼而飞?刚打好补丁的系统为何屡遭黑手?新添...
阅读全文
摘要:Tempdb系统数据库是一个全局资源,可供连接到SQL Server实例的所有用户使用。存储的内容项:1、用户对象用户对象由用户显示创建。这些对象可以位于用户会话的作用域中,也可以位于创建对象所用例程的作用域中。例程可以是存储过程、触发器或用户自定义函数。用户对象可以是一下项内容之一:用户定义的表和...
阅读全文
摘要:前言 本篇主要是上一篇文章的补充篇,上一篇我们介绍了SQL Server服务启动过程所遇到的一些问题和解决方法,可点击查看,我们此篇主要介绍的是SQL Server启动过程中关于用户数据库加载的流程,并且根据加载过程中所遇到的一系列问题提供解决方案。 其实SQL Server作为微软的一款优秀RDB
阅读全文
摘要:目前SQL Server数据库作为微软一款优秀的RDBMS,其本身启动的时候是很少出问题的,我们在平时用的时候,很少关注起启动过程,或者很少了解其底层运行过程,大部分的过程只关注其内部的表、存储过程、视图、函数等一系列应用方式,而当有一天它运行的正常的时候突然启动不起来了,这时候就束手无策了,能做的...
阅读全文
摘要:master数据库master作为数据库的主要数据库,记录着SQL Server系统的所有系统级信息,例如登录用户、系统配置设置、端点和凭证以及访问其他数据服务器所需要的信息。master数据库还记录着启动服务器实例所需要的初始化信息,每个其它数据库的主文件位置。master数据库是SQL Serv...
阅读全文
摘要:作为数据库管理员最最痛苦的莫过于,当数据库宕机的时候需要找备份,但在这个时候突然发现备份文件也是坏的,这就意味着数据会丢失,为此可能会丢掉职位,饭碗不保,所以为此,我们一定要保证好备份的完整性,一般发生这种情况的原因莫过于一下几种:1、备份文件和数据库放在同一个(或一组)的物理磁盘上。磁盘出现故障,...
阅读全文
摘要:SQL Server允许用户设置数据库初始值和最大值,可以通过自动增长或者自动收缩进行配置。通过这些配置,我们可以防止数据库空间问题而导致的应用程序修改失败或者SQL Server磁盘空间耗尽的事情发生。一般来讲,如果数据库不是很忙,默认的设置为自动增长,这种方式能够满足大部分的需求。但是在大量并发...
阅读全文
摘要:本篇是继上篇的备份方式,本篇介绍的是还原方案,在SQL Server在2005以上现有的还原方案一般分为以下4个级别的数据还原:1、数据库完整还原级别:还原和恢复整个数据库。数据库在还原和恢复操作期间会处于离线状态2、数据文件级别还原和恢复一个数据文件或一组文件。在文件还原过程中,包含相应文件的文件...
阅读全文
摘要:数据库管理员有时候需要控制文件的大小,可能选择收缩文件,或者把某些数据文件情况以便从数据库里删除。这时候我们就要使用到DBCC SHRINKFILE命令,此命令的脚本为:DBCC SHRINKFILE ( { file_name | file_id } { [ , EMPTYFILE ...
阅读全文
摘要:数据库日志用于记录所有的事务以及每个事务对数据库所做的修改。这样做的目的就是为了提高数据库的整体性能,SQL Server检索数据时,将数据页读入缓冲区高速缓存。数据修改不是直接在磁盘上行进行,而是修改高速缓存中的页副本。直到数据库中出现检查点(CheckPoint)、或者比如将修改写入磁盘才能使...
阅读全文
摘要:1、表和索引存储结构在SQL Server2005以前,一个表格是以一个B树或者一个堆(heap)存放的。每个B树或者堆,在sysindexes里面都有一条记录相对应。SQL Server2005以后,引入了分区表的概念(Table Partition),在存储组织上,现有的分区基本上替代了原来表格...
阅读全文
摘要:1、文件分配方式以及文件空间检查方法最常用的检查数据文件和表大小的命令就是:sp_spaceused此命令有三个缺陷:1、无法直观的看出每个数据文件和日志文件的使用情况。2、这个存储过程依赖SQL Server存储在一些系统视图里的空间使用统计信息计算出的结果,如果没有更新空间统计信息,比如刚刚发生...
阅读全文
摘要:数据备份一直被认为数据库的生命,也就是一个DBA所要掌握的主要技能之一,本篇就是介绍SQL Server备份原则,SQL Server数据库分为数据文件和日志文件。为了使得数据库能够恢复一致点,备份不仅需要拷贝数据数据文件里的内容,还要拷贝日志文件里的内容。那么根据每次备份的目标不同,我们可以将备份...
阅读全文
摘要:---恢复内容开始---数据库的恢复模式是数据库遭到破坏时还原数据库中数据的数据存储方式,它与可用性、性能、磁盘空间等因素相关。每一种恢复模式都按照不同的方式维护数据库的数据和日志。系统提供了3种数据库的恢复模式:1、完整恢复模式2、大容量日志记录的恢复模式3、简单恢复模式 完整恢复模式是最高等级的数据库恢复模式。在完整恢复模式中,对数据库的所有操作都记录在数据库的事务日志中。即使那些大容量数据库操作和创建索引的操作,也就记录在数据库的事务日志中。当数据库遭到破坏之后,可以使用该数据库的事务日志迅速还原数据库。 在完整恢复模式中,由于事务日志记录了数据库的所有变化,所以可以使用事务日志将数据库
阅读全文
摘要:一、存储过程中使用事务的简单语法 在存储过程中使用事务时非常重要,使用数据库可以保持数据的关联完整性,在SQL Server存储过程中使用事务也很简单,举个例子:Create Procedure MyProcedure( @Param1 nvarchar(10), @Param2 nvarchar(10))AS Begin Set NOCUNT ON; Set XACT_ABORT on; Begin Tran Delete from table1 ...
阅读全文
摘要:当我们数据量比较大的时候,我们需要将大型表拆分为多个较小的表,则只访问部门数据的查询就可以更快的运行,基本原理就是,因为要扫描的数据变的更小。维护任务(例如,重新生成索引或备份表)也可以更快的运行。 我们可以再不通过将表物理放置在多个磁盘驱动器上来拆分表的情况下获取分区。如果将某个表放置在一个物理驱动器上,将相关表放置在另一个驱动器上,则可以提高查询性能,因为当运行涉及表间连接的查询时,多个磁盘头同时读取数据。可以使用SQL Server文件组来指定放置表的磁盘。 对于分区的方式,基本就三种方式:硬件分区、水平分区、垂直分区。相关方案可以参考SQL联机丛书 这里我们介绍分区表的具体实战方法:.
阅读全文
摘要:先声明文章非原创,摘自博客园:http://www.cnblogs.com/CareySon/archive/2012/03/06/2381582.html简介 在SQL Server中,数据是按页进行存放的。而为表加上聚集索引后,SQL Server对于数据的查找就是按照聚集索引的列作为关键字进行了。因此对于聚集索引的选择对性能的影响就变的十分重要了。本文旨在从性能角度来谈聚集索引的选择,但这仅仅是从性能方面考虑。对于有特殊业务要求的表,则需要按实际情况进行选择。一、聚集索引所在列或列的组合最好是唯一的 这个原因需要从数据的存放原理来谈。在SQL Server中,数据的存放方式并不是以行(R
阅读全文
摘要:--sql server 2000SELECT 表名 = case when a.colorder=1 then d.name else '' end, 表说明 = case when a.colorder=1 then isnull(f.value,'') else '' end, 字段序号 = a.colorder, 字段名 = a.name, 标识 = case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' e
阅读全文