SqlServer数据库
feng1456
热爱技术,勤于学习,乐于分享!
展开
-
[SqlServer02]-数据库优化及管理常用命令
select * from sys.dm_os_schedulers dos;select * from sys.dm_os_waiting_tasks dowt;--高密度查询语句占用CPU资源select * from sys.dm_os_wait_stats where wait_type = 'SOS_SCHEDULER_YIELD';--最耗时的sql命令select原创 2014-09-11 21:15:40 · 685 阅读 · 0 评论 -
SQLServer 2008 Merge 的机制探讨
SQL Server 2008 引入了一个Merge关键字,MSDN有对这个关键字的解释和范例。传送门:http://msdn.microsoft.com/zh-cn/library/bb510625.aspx 微软官方解释是:根据与源表联接的结果,对目标表执行插入、更新或删除操作。例如,根据在另一个表中找到的差异在一个表中插入、更新或删除行,可以对两个表进行同步。如果这个官方解释用白话文说就是:原创 2015-01-19 19:41:33 · 751 阅读 · 0 评论 -
SQL 2014新功能介绍系列8 – 可更新的列存储索引 (Updateable Column Store Indexes)
传统的关系数据库服务引擎往往并不是对超大量数据进行分析计算的最佳平台,为此,SQL Server中开发了分析服务引擎去对大笔数据进行分析计算。当然,对于数据的存放平台SQL Server数据库引擎而言,也是需要强大的数据处理能力的。在SQL Server 2012时,SQL Server 引入了列存储索引,用以显著提供高传统数据仓库类型语句的性能,并在SQLServer 201转载 2015-01-17 02:15:03 · 873 阅读 · 0 评论 -
SQL 2014新功能介绍系列3 - 备份还原篇
大数据催生了云计算和移动互联的世界。微软新的战略方针“cloud first,mobilefirst”也表明公司正在全面转向云计算中转型。在最新发布的SQLServer 2014与微软的Azure云平台联系也更加紧密,方便数据库维护,降低使用、维护成本,提升数据安全。本文将介绍SQL Server 2014 以下三个有关备份还原的新特性。SQL Server 备份到 URLSQL Se转载 2015-01-17 02:05:35 · 1759 阅读 · 0 评论 -
SQL 2014新功能介绍系列2 - 管理联机操作的锁优先级(Managed Lock Priority)
在日常工作中,我们可能会碰到这种情况,在一个非常繁忙的环境中,尝试进行联机索引操作(Online Index Rebuild)。由于Online Index Rebuild在操作的时候,会申请Sch-M锁来对表的MetaData进行修改。并且,Sch-M锁和很多其他锁不兼容,就有可能会出现阻塞。比如以下场景,我们有5个连接,4个Select,1个Alter database rebuild转载 2015-01-17 02:03:41 · 596 阅读 · 0 评论 -
SQL 2014新功能介绍系列1 - 内存中 OLTP (In-Memory OLTP)
SQL Server 2014引入了内存优化的数据库技术来优化OLTP的工作性能。更特别的是,它引入了内存优化的表来提高效率以及非争夺式数据访问,还引入了本地编译的存储过程来实现业务逻辑的有效执行。内存中OLTP是一种为内存优化及OLTP性能优化设计的新的数据库引擎。内存中OLTP是完整集成在SQL Server中的,并不是一个分离的系统。用户可以通过定义一个被频繁访问的内存优化的表来利用内存转载 2015-01-17 02:01:32 · 1361 阅读 · 0 评论 -
SQL 2014新功能介绍系列9 - AlwaysOn 可用性组
AlwaysOn对于SQL Server 2014已经不再是新名词,现在也有越来越多的客户还是使用并且钟情于AlwaysOn。它继承了数据库镜像和故障转移群集的优点,使得SQL Server具有更好的高可用性。在SQL 2014中AlwaysOn的特性有哪些加强呢?1. 和Hekaton (In-memory OLTP)相结合In-memory OLTP是SQL 2014中最闪亮的新特性了转载 2015-01-17 02:16:23 · 1279 阅读 · 0 评论 -
SQL 2014新功能介绍系列7 –针对基数估计的新设计(New Design for Cardinality Estimation)
对于SQL Server数据库来说,性能一直是一个绕不开的话题。而当我们去分析和研究性能问题时,执行计划又是一个我们一直关注的重点之一。我们知道,在进行编译时,SQL Server会根据当前的数据库里的统计信息,在一定的时间内,结合本机资源,挑选一个当前最佳的执行计划去执行该语句。那么数据库分析引擎如何使用这些统计信息的呢?数据库引擎会根据数据库里的统计信息,去计算每次操作大约返回多少行。转载 2015-01-17 02:13:06 · 642 阅读 · 0 评论 -
SQL 2014新功能介绍系列6 – 缓存池扩展 (Buffer Pool Extension)
SQL Server 2014缓存池扩展 (Buffer Pool Extension)功能可以将缓存池扩展到较快的SSD存储上。为内存比较紧张的系统提供了新的扩展途径。Buffer Pool 扩展可以带来以下好处。1. 提高随机I/O的吞吐量2. 降低I/O延迟3. 提高单位时间内处理事务的吞吐量4. 显著地提高读性能5. 以软件方式为客户实现了类似于混合硬盘的转载 2015-01-17 02:10:59 · 780 阅读 · 0 评论 -
How to kill Active SQL Connections
我们经常遇到这样的情景,在做数据库分离,删除的时候要先关闭数据库连接,这时候我们就面临两个问题:1.如何查找有哪些活动连接2.如何关闭这些连接今天在CodeProject上看到有人给出了一个很好的SQL来解决这个问题。1.How to find the active SQL connections select db_name(dbid) as [Database N原创 2015-01-01 18:14:26 · 586 阅读 · 0 评论 -
An SqlServer Store Procedure DataAccess Layer Class
这是一个C#使用存储过程的Helper类。using System;using System.Data;using System.Data.Sql;using System.Data.SqlClient;using System.Configuration;using System.Collections.Generic;namespace SqlServerStoredProc原创 2015-01-04 23:04:01 · 959 阅读 · 0 评论 -
SQL Server 原生数据从XML生成JSON数据
SQL Server 是关系数据库,查询结果通常都是数据集,但是在一些特殊需求下,我们需要XML数据,最近这些年,JSON作为WebAPI常用的交换数据格式,那么数据库如何生成JSON数据呢?今天就写了一个DEMO. 1.创建表及测试数据SET NOCOUNT ONIF OBJECT_ID('STATS') IS NOT NULL DROP TABLE STATSIF O原创 2015-05-23 19:07:10 · 1634 阅读 · 0 评论 -
如何查询多列中的某值
情景在表中有一个值,但是不知道在哪一列中,如何查询包含该值的特定列的数据呢?可能听得不是太明白,看下面的例子!方案1.创建表-- Create a table create table tbl_test(id int identity(1,1),column1 nvarchar(50),coulmn2 nvarchar(50),coulmn3 nvarchar(50))2原创 2015-05-23 18:55:13 · 1045 阅读 · 1 评论 -
SQL查询即将合同即将到期的员工
在项目开发过程中,我们经常需要查询某些即将到期的资源信息,并给相关的人通过邮件等形式进行提醒。这类需求非常普遍,今天写了一个Demo,能够代表这类问题的解决方案,结合轮询机制,能够很好滴解决此类问题。1.创建数据ps:这里涉及到了表变量及Union All语法,不明白的请自行脑补!传送门:1.表变量http://database.51cto.com/art/201011/233原创 2015-06-01 22:07:10 · 3243 阅读 · 0 评论 -
影响SQL Server数据库应用性能的几个常见因素
性能问题是困扰数据库用户的常见问题之一。经常会有人因为遇到性能问题,质疑SQLServer处理大型数据应用的能力。其实,作为一个在市场上经营了二十多年,出了好几代版本的数据库产品,SQLServer作为一个企业级数据库的能力,是毋庸置疑的。在实际应用中,数据量达到几百GB,甚至上TB级,并发连接数超过1、2千个,每秒钟处理的请求数量超过1000多个的SQLServer,现在已经很多了。在国内的一些转载 2015-05-30 16:40:53 · 2278 阅读 · 0 评论 -
SQL Server 2012 阻止修改数据表结构
原创 2015-05-10 16:18:19 · 1878 阅读 · 0 评论 -
SqlServer 在事务中获得自增ID
在sqlserver 中插入数据时,如何返回自增的主键ID,方式有很多,这里提供一种。本文转载自:http://blog.csdn.net/lee576/article/details/44624981感谢 lee576 的分享精神,代码如下:USE tempdbgoCREATE TABLE table1( id INT, employee VARCHAR(32)转载 2015-04-02 13:00:59 · 1607 阅读 · 0 评论 -
使用top做sql分页
网上有很多人在写分页的sql,评论里面经常有人说,这个分页不好,那个过时了,我觉得这些好与不好,过时与不过时都需要根据具体情境来判断。今天我闲来无事写了一个使用top分页,数据只有1000条,虽然说明不了很多问题,但是作为自己学习的一个记录吧。表结构如下:USE [MyDB]GO/****** Object: Table [dbo].[MyTable] Script Da原创 2015-03-01 21:25:46 · 1430 阅读 · 0 评论 -
使用Row_Number的分页存储过程
分页存储过程是非常通用的功能,今天自己写了一个分页存储过程,写下来记录一下。CREATE TABLE [dbo].[MyTable]( [Id] [int] NOT NULL, [Info1] [nvarchar](50) NULL, [Info2] [nvarchar](50) NULL, [Info3] [nvarchar](50) NULL, CONSTRAINT [PK_My原创 2015-02-28 20:24:14 · 1081 阅读 · 0 评论 -
SQL 2014新功能介绍系列5 – IO资源调控器
在本文中,我们将来看看SQL Server 2014在资源调控器方面增加了哪些新的功能。资源调控器(Resource Governor)是从SQL Server 2008开始出现的一项功能。它是用于管理 SQL Server 工作负荷和系统资源使用情况的功能。 在SQL Server 2014之前,资源调控器只能限制某些用户访问SQL Server所占用的CPU带宽、内存资源。但是随着虚拟化和云技转载 2015-01-17 02:09:32 · 756 阅读 · 0 评论 -
SQL 2014新功能介绍系列4 - 延迟事务持续性(Delayed Durability Transactions)
在SQL Server 2014之前, SQL Server提交事务是一个同步的过程,也就是说,只有当SQL Server将该事务相对应的日志记录写入到了磁盘文件之后,才会返回事务提交成功的信号。这也是为了体现事务4个基本特性中的持久性(Durability)而实现的功能。只有这样,我们才能保证当SQL Server因为某些原因突然Crash之后,再重启的时候,那些已经提交但还没有写入到数据文件上转载 2015-01-17 02:07:32 · 542 阅读 · 0 评论 -
SqlServer 常用的一些变量
View Code select APP_NAME ( ) as w --当前会话的应用程序 select @@ERROR --返回最后执行的 Transact-SQL 语句的错误代码(integer)(如果最后一条语句不出错,就一直是0) select @@IDENTITY --返回最后插入的标识值 select USER_NAME() --返回用户数据库用户名原创 2014-11-27 21:43:24 · 609 阅读 · 0 评论 -
SqlServer 数据库完整备份及差异备份
View Code --查询文件是否存在 CREATE TABLE #tmp ([File Exists] BIT, [File is a Directory] BIT, [Parent Directory Exists] BIT) INSERT INTO #tmp ([File Exists], [File is a Directory], [Parent Directory E原创 2014-11-27 21:42:14 · 2307 阅读 · 0 评论 -
Sql 行转列及列转行的使用
View Code --行转列 create table #CarLog(LogDate datetime,PathLine nvarchar(10),Amount int) --drop table #CarLog insert into #CarLog(LogDate,PathLine,Amount)VALUES('2011-12-24','1号线',1) insert原创 2014-11-27 21:40:22 · 675 阅读 · 0 评论 -
[SqlServer03]-数据库高可用性方案
企业应用原创 2014-09-21 17:43:08 · 1112 阅读 · 0 评论 -
[非技术]-电话面试感想
前几天原创 2014-11-13 19:29:39 · 800 阅读 · 0 评论 -
关于SqlServer 视图容易犯错的两个地方
SqlServer的视图是一个原创 2014-11-12 22:20:55 · 1321 阅读 · 0 评论 -
[SqlServer]-SqlServer Login User Schema Concept And Relation
关于SqlServer Login,User Schema Mapping原创 2014-11-08 09:55:55 · 898 阅读 · 0 评论 -
[SqlServer01]-数据库表及数据操作控制
有时候我们希望某些表的数据不能被删除,可以使用下面的触发器原创 2014-09-11 21:02:01 · 697 阅读 · 0 评论 -
C# 数据库事物
SqlServer 数据库本身是支持事物的,但通常我们在C# 代码中也可以做事物。今天写了一个小例子,供初学者参考,也作为自己的笔记。1.数据库表USE [DBDemo]GO/****** Object: Table [dbo].[T_Employee] Script Date: 11/27/2014 21:18:58 ******/SET ANSI_NULLS ONGO原创 2014-11-27 21:17:15 · 674 阅读 · 0 评论 -
SqlBulkCopy 快速插入数据到SqlServer 数据库
使用SqlBulkCopy提高导入数据的性能向SQL Server中导入大量数量可以用bulk insert,但是必须要求插入的文件在数据库机器上或者一个数据库可以访问的共享文件夹中(我不知道怎么设置共享文件夹,以使得SQL Server能访问到)SqlBulkCopy 是.net中的一个类,提供了导入大量数据的功能。基本用法如下:using (SqlBulkCop原创 2014-11-27 21:45:02 · 767 阅读 · 0 评论 -
一个关于 sql server 文件组测试sql
use mastergoif DB_ID(N'care365') is not null--如果数据库存在,则删除它drop database care365gocreate database care365on primary(name=care1,filename='C:/database/care365.mdf',--主文件组放在C盘下size=10MB,filegro原创 2014-12-07 23:48:27 · 827 阅读 · 0 评论 -
SQL SERVER 2005 递归查询备忘
--SQL SERVER 2005 递归查询use TestDBset nocount onif object_id('Dept','U') is not nulldrop table Deptgocreate table Dept(ID int,ParentID int,Name varchar(20)) insert into Dept select 1,0,'AA' in原创 2014-12-07 23:43:33 · 773 阅读 · 0 评论 -
sql server 常用函数备忘
select ASCII('a'); --将字符转化为ASCII码select char('97') --将ASCII码转化为字符select sqrt(49); --返回一个数的平方根select square(7); --返回一个数的平方select ceiling(4.5) --返回大于或等于n的最小整数select floor(4.5)原创 2014-12-07 23:46:09 · 608 阅读 · 0 评论 -
SqlServer索引的原理与应用
索引的概念索引的用途:我们对数据查询及处理速度已成为衡量应用系统成败的标准,而采用索引来加快数据处理速度通常是最普遍采用的优化方法。索引是什么:数据库中的索引类似于一本书的目录,在一本书中使用目录可以快速找到你想要的信息,而不需要读完全书。在数据库中,数据库程序使用索引可以重啊到表中的数据,而不必扫描整个表。书中的目录是一个字词以及各字词所在的页码列表,数据库中的索引是表中的值以及各值存储转载 2014-12-05 23:41:22 · 591 阅读 · 0 评论 -
SqlServer 索引及优化
(一)深入浅出理解索引结构 实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索引和非聚集索引的区别: 其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我们要查转载 2014-12-05 23:37:03 · 692 阅读 · 0 评论 -
SqlServer 数据库自动备份的两种解决方案
我们需要二个文件:DialyBackup.sqlEverydayBackup.bat原创 2014-11-24 23:54:51 · 3981 阅读 · 0 评论 -
How to send email using sqlserver
This is from CodeProject:http://www.codeproject.com/Articles/846204/How-To-Send-Mail-Using-SQL-Server-PartIntroductionThere are three parts for this tutorial:Configure email profile and send转载 2014-11-28 03:25:39 · 773 阅读 · 0 评论 -
SQL Server char nchar vchar nvarchar 辨析
在数据库中经常使用到的几个数据类型,往往仔细去想其区别的时候,记得之前了解过,但印象不深刻,这里归纳总结下:char:固定长度,存储ANSI字符,不足的补英文半角空格。nchar:固定长度,存储Unicode字符,不足的补英文半角空格varchar:可变长度,存储ANSI字符,根据数据长度自动变化。nvarchar:可变长度,存储Unicode字符,根据数据长度自动变化。n原创 2015-09-29 08:37:07 · 1264 阅读 · 1 评论