SQL Server 2012 新特性】的更多相关文章

在SQL Server 2008提供FileStream,以借助Windows系统本身的API来强化SQL Server对于非结构化数据的支持后,SQL Server 2012更是推出了像Contained Database.FileTable等令人期待的新功能.对于FileTable的功能和特性,在此无需赘述,本文主要针对FileTable的T-SQL操作目录做一个实例演示. 关于FileTable的介绍,请参阅MSDN:http://technet.microsoft.com/zh-cn/l…
--Concat示例 ,null,'RTM') --Format实例 DECLARE @d DATETIME = GETDATE(); SELECT FORMAT( @d, 'd', 'en-US' ) AS Result SELECT FORMAT( @d, 'd', 'zh-CN' ) AS Result --Choose实例 ,'CareySon','Jack','Tony','Peter') ,'CareySon','Jack','Tony','Peter') ,'CareySon','…
我们都知道,Sql Server在一个数据量巨大的表中添加一个非空栏位是比较费心的,缺乏经验的DBA或是开发人员甚至可能鲁莽地直接添加导致阻塞相应业务,甚至可能因为资源欠缺造成实例的全局问题.当然这都是Sql 2008R2及以前版本的情况.在SQL2012中采用了新的实现方式.这里我将对比相应的实现方式给大家做个介绍.并简单说明Sql Server早期版本添加非空列的方法. 添加非空栏位的实现方式 早期版本(Sql Server2008R2及以前)添加非空栏位(要求有默认值)是对表中的所有数据行…
转换函数      1.PARSE      Parse是把字符串类型转化为想要的类型,看看和convert和cast的区别         SELECT PARSE ('2.111111' AS float ),CAST ('2.111111111111' AS FLOAT) ---------------------- ---------------------- 2.111111               2.111111111111    row (s ) affected )   S…
FileTable是基于FILESTREAM的一个特性.有以下一些功能: 一行表示一个文件或者目录. 每行包含以下信息: file_Stream流数据,stream_id标示符(GUID). 用户表示和维护文件及目录层次关系的path_locator和parent_path_locator 有10个文件属性 支持对文件和文档的全文搜索和语义搜索的类型列. filetable强制执行某些系统定义的约束和触发器来维护命名空间的语义 针对非事务访问时,SQL Server配置FILESTREAM共享区…
数据库角色管理,已经可以使用alter role,create role和drop role. 2012增加了几个ddl语句,可以操作服务级别的角色管理,   CREATE SERVER ROLE 用来创建服务级别的role.   CREATE SERVER ROLE DBA   SELECT name, type_desc FROM sys .server_principals WHERE type = 'R' AND name ='DBA' name                     …
安装期间的设置   为了强化角色分离,不自动在 sysadmin 固定服务器角色中设置 BUILTIN\administrators 和 Local System (NT AUTHORITY\SYSTEM). 本地管理员在单用户模式下仍可访问数据库引擎. FILESTREAM 文件组可以包含多个文件   一个 FILESTREAM 文件组可以包含多个文件. 有关演示如何创建包含多个文件的 FILESTREAM 文件组的代码示例,请参阅 CREATE DATABASE (Transact-SQL)…
简单的说就是可以让包含用户访问其他数据库,那么来看看如何配置,并且验证一下:   USE test CREATE USER up1 WITH PASSWORD = 'zhuzhu' SELECT * FROM sys . database_principals WHERE name = 'up' CREATE DATABASE test1 ALTER ROLE db_owner ADD MEMBER up   USE test1 GO ALTER DATABASE test1 SET CONTA…
在前阵子写的一篇博文"SQL SERVER 2014 下IF EXITS 居然引起执行计划变更的案例分享"里介绍了数据库从SQL SERVER 2005升级到 SQL SERVER 2014后,发现一个SQL出现性能问题,当时分析后发现执行计划变了,导致SQL出现了性能问题.但是没有彻底搞清楚为什么出现这种情况.当时看到Actual Number of Rows 与Estimated Number of Rows之间的偏差较大(统计信息是最新的),以为是优化器的Bug造成的.其实罪魁祸…
SQL Server 2014新特性:五个关键点带你了解Excel下的Data Explorer Data Explorer是即将发布的SQL Server 2014里的一个新特性,借助这个特性讲使企业中的自助式的商业智能变得更加的灵活,从而也降低了商业智能的门槛. 此文是在微软商业智能官方博客里找到的,我在这里不仅将其简单的翻译过来,同时也加入了一些个人的感悟和笔记,如果你对原文感兴趣可以点击下面的链接查看原文; http://blogs.msdn.com/b/microsoft_busine…
SQL Server 2014新特性探秘(1)-内存数据库   简介 SQL Server 2014提供了众多激动人心的新功能,但其中我想最让人期待的特性之一就要算内存数据库了.去年我再西雅图参加SQL PASS Summit 2012的开幕式时,微软就宣布了将在下一个SQL Server版本中附带代号为Hekaton的内存数据库引擎.现在随着2014CTP1的到来,我们终于可以一窥其面貌. 内存数据库 在传统的数据库表中,由于磁盘的物理结构限制,表和索引的结构为B-Tree,这就使得该类索引在…
SQL Server 2014 新特性——内存数据库 目录 SQL Server 2014 新特性——内存数据库 简介: 设计目的和原因: 专业名词 In-Memory OLTP不同之处 内存优化表 内存优化表的索引 并发能力的提升 和竞争对手相比几点 Getting Start 内存数据库的使用 存储 TSQL支持 简介: 内存数据库(In-Memory OLTP),代号Hekaton 设计目的和原因: 1.将请求的负荷放到内存中 2.减少数据延迟 3.来适应特殊的负荷类型 如果数据都是在内存…
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 撰写经历(Experience) 特约稿正文(Content-body) 第一部分:生活中资源调控器: 第二部分:SQL Server中资源调控器: 第三部分:SQL Server资源调控器运用场景—CPU: 第四部分:SQL Server资源调控器运用场景—IO: 第五部分:总结: 第六部分:作者简介: SQL Server 2014 新特性文章链接(IT168) 二.背景(Context…
Buffer Pool扩展 Buffer Pool扩展是buffer pool 和非易失的SSD硬盘做连接.以SSD硬盘的特点来提高随机读性能. 缓冲池扩展优点 SQL Server读以随机读为主,SQL Server IO分为2部分:buffer pool管理方式,和buffer pool. SQL Server 从磁盘中读入数据,并且存放在buffer pool中以供读取和修改,修改完之后脏数据还是放在buffer pool中,当内存紧张执行lazy write把脏数据写入磁盘,并且释放内存…
原文:SQL Server ->> 深入探讨SQL Server 2016新特性之 --- Temporal Table(历史表) 作为SQL Server 2016(CTP3.x)的另一个新特性,Temporal Table(历史表)记录了表历史上任何时间点所有的数据改动.Temporal Table其实早在ANSI SQL 2011就提出了,而SAP HANA, DB2和Oracle早已在它们的产品中加入/实现了这一特性.所以说微软其实是落后了几个竞争对手.既然在CTP3.0中加入了,相信…
谈谈我的微软特约稿:<SQL Server 2014 新特性:IO资源调控> 2014-07-01 10:19 by 听风吹雨, 570 阅读, 16 评论, 收藏, 收藏 一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 撰写经历(Experience) 特约稿正文(Content-body) 第一部分:生活中资源调控器: 第二部分:SQL Server中资源调控器: 第三部分:SQL Server资源调控器运用场景—CPU: 第四部分…
SQL Server 2016新特性:列存储索引新特性 行存储表可以有一个可更新的列存储索引,之前非聚集的列存储索引是只读的. 非聚集的列存储索引支持筛选条件. 在内存优化表中可以有一个列存储索引,可以在创建表的时候创建,也可以在之后的alter table语句上创建.之前内存优化表不支持列存储索引. 聚集的列存储索引可以有多个非聚集行存储索引,之前列存储索引不支持非聚集索引. 支持在聚集列存储索引上加入主键和外键约束,约束使用btree索引. 列聚集索引有一个压缩延迟选项,让事务复合收到的影响…
目录 SQL Server 2014 新特性——内存数据库 简介: 设计目的和原因: 专业名词 In-Memory OLTP不同之处 内存优化表 内存优化表的索引 并发能力的提升 和竞争对手相比几点 Getting Start 内存数据库的使用 存储 TSQL支持 简介: 内存数据库(In-Memory OLTP),代号Hekaton 设计目的和原因: 将请求的负荷放到内存中 减少数据延迟 来适应特殊的负荷类型 如果数据都是在内存中,那么当前的数据库优化器产生的执行计划是没什么意义的,因为现在的…
原文:SQL Server 2016新特性:DROP IF EXISTS  在我们写T-SQL要删除某个对象(表.存储过程等)时,一般会习惯先用IF语句判断该对象是否存在,然后DROP,比如: 旧版本: IF OBJECT_ID('dbo.PERSON','U') IS NOT NULL DROP TABLE PERSON IF EXISTS (SELECT * FROM sys.objects where name = 'PERSON') DROP TABLE PERSON SQL Ser…
简介      列存储索引其实在在SQL Server 2012中就已经存在,但SQL Server 2012中只允许建立非聚集列索引,这意味着列索引是在原有的行存储索引之上的引用了底层的数据,因此会消耗更多的存储空间,但2012中的限制最大的还是一旦将非聚集列存储索引建立在某个表上时,该表将变为只读,这使得即使在数据仓库中使用列索引,每次更新数据都变成非常痛苦的事.SQL Server 2014中的可更新聚集列索引则解决了该问题.   可更新聚集列存储索引?     聚集列存储索引的概念可以类…
使用Query Store监控性能 SQL Server Query Store特性可以让你看到查询计划选择和性能.简化了性能调优,可以快速的发现因为查询计划的选择导致的性能的差别.Query Store自动历史的查询,计划和运行时的统计信息,保留这些可以用来检查.数据通过时间窗口来分隔数据,你可以看见数据库的使用模式,并且理解查询计划在服务中的变化.可以你使用ALTER DATABASE SET选项来配置Query Store.   启动Query Store ALTER DATABASE A…
简介    SQL Server 2014提供了众多激动人心的新功能,但其中我想最让人期待的特性之一就要算内存数据库了.去年我再西雅图参加SQL PASS Summit 2012的开幕式时,微软就宣布了将在下一个SQL Server版本中附带代号为Hekaton的内存数据库引擎.现在随着2014CTP1的到来,我们终于可以一窥其面貌.   内存数据库     在传统的数据库表中,由于磁盘的物理结构限制,表和索引的结构为B-Tree,这就使得该类索引在大并发的OLTP环境中显得非常乏力,虽然有很多…
AlwaysOn 增强功能 SQL Server 2014 包含针对 AlwaysOn 故障转移群集实例和 AlwaysOn 可用性组的以下增强功能: “添加 Azure 副本向导”简化了用于 AlwaysOn 可用性组的混合解决方案创建.有关详细信息,请参阅使用“添加 Azure 副本向导”(SQL Server). 辅助副本的最大数目从 4 增加到 8. 断开与主副本的连接时,或者在缺少群集仲裁期间,可读辅助副本现在保持可用于读取工作负荷. 故障转移群集实例 (FCI) 现在可使用群集共享卷…
简介     SQL Server 2014中另一个非常好的功能是,可以将SSD虚拟成内存的一部分,来供SQL Server数据页缓冲区使用.通过使用SSD来扩展Buffer-Pool,可以使得大量随机的IOPS由SSD来承载,从而大量减少对于数据页的随机IOPS和PAGE-OUT.   SSD AS Buffer Pool     SSD是固态硬盘,不像传统的磁盘有磁头移动的部分,因此随机读写的IOPS远远大于传统的磁盘.将SSD作为Buffer Pool的延伸,就可以以非常低的成本巨量的扩充…
在大型的数据库应用中,经常会遇到部分数据的脱机和多个数据库的合并问题.比如现在有一个全省范围使用的应用程序,每个市都部署了单独的相同的应用程序服务器和数据库服务器,每个月需要将全省所有市的数据全部汇总起来用于出全省的报表,这是一种很常见的数据库合并问题.再比如我们做了一个SmartClient的应用程序,每个客户端都有应用程序和数据库,另外还有一个中心数据库用于汇总所有客户端的数据.每个智能客户端上都可以对自己的数据库进行增删改查,一旦智能客户端连接到网络上时,系统就将客户端数据库中的数据更改全…
今天聊一聊sql 2012 上的新功能-----序列 按我的理解,它就是为了实现全局性的唯一标识,按sql server 以前的版本,想对一张表标识很简单,比如identity,但如果要对某几张有业务关联关系的表,做一个统一的标识这时有没有好的办法来实现? 例如: 通过序列保证两张表ID的唯一性. 首先创建一个测试库 CREATE DATABASE MB_DB02GO USE MB_DB02 GO --创建序列CREATE SEQUENCE [dbo].[Sequence_01] AS [big…
策略管理是SQL Server 2008中的一个新特性,用于管理数据库实例.数据库以及数据库对象的各种属性.策略管理在SSMS的对象资源管理器数据库实例下的“管理”节点下,如图: 从图中可以看到,策略管理中包含三个节点:策略.条件.方面. 方面就是策略要应用的对象,包括:服务器.表.触发器.视图.存储过程……这些方面对象都是系统定义好了的,仅供瞻仰不可更改.双击具体的某一个方面可以查看该方面的属性,在定义条件时即可对这些属性进行判断,如图为存储过程方面的属性. 条件就是一个布尔表达式判断策略是否…
SQL Server 2016 CPT3中包含了一个新特性叫Row Level Security(RLS),允许数据库管理员根据业务需要依据客户端执行脚本的一些特性控制客户端能够访问的数据行,比如,我们希望业务部的经理只能查看他所在部门的员工的薪资情况.以往像要实现这样的功能,都是要通过视图里层的逻辑编写来实现.以前某个项目就是这么实现的.或者通过在应用程序层去实现,比如在提交命令到数据库前,通过在查询语句中添加WHERE字句条件来实现数据过滤.这样显然RLS是更加简便的去实现行级别权限控制.…
注:本篇文章是IT68找我的约稿,原文地址:http://tech.it168.com/a2014/0610/1633/000001633147.shtml       SQL Server 2014 CTP2之后公布了一项针对备份的特性,那就是原生备份加密.考虑到之前网络上影响很坏的数据库泄漏事件,本质上都是数据库备份泄漏给第三方导致,SQL Server的原声数据备份可以使得即使备份本身被盗,在没有加密证书的情况下也无法使用,这有效的解决了上述数据泄漏问题. 原先的解决方案     在SQL…
基数评估 目录 基数评估 说明 基数评估准确的重要性 模型假设 启用新的基数评估 验证基数评估的版本 在迁移到新的基数评估前要测试 校验基数评估 偏差问题 需要手动处理的变化 避免因为新的CE造成性能下降 SQL Server 2014中的修改 增加多个谓词的相关性的假设 修改超出统计信息范围的评估 Join评估算法修改 Join包含(Containment)假设的修改 不同值计数评估的变化 诊断输出 新基数评估的调优方法 修改数据库兼容级别 使用跟踪标记 基础调优方法 说明 查询优化器的目的是…