加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

sql-server – 比早期版本更喜欢SQL Server 2016的客观理由是什

发布时间:2021-01-11 21:03:32 所属栏目:编程 来源:网络整理
导读:由于Microsoft自SQL Server 2005或2008年以来更频繁地进行SQL Server版本升级,许多公司发现很难确定何时升级是“必须的”!当升级是“很高兴” 本着一些早期问题的精神,询问有关首选SQL Server的各种新版本的理由而不是之前的版本,公司可能会考虑在早期版本上
副标题[/!--empirenews.page--]

由于Microsoft自SQL Server 2005或2008年以来更频繁地进行SQL Server版本升级,许多公司发现很难确定何时升级是“必须的”!当升级是“很高兴”

本着一些早期问题的精神,询问有关首选SQL Server的各种新版本的理由而不是之前的版本,公司可能会考虑在早期版本上升级到SQL Server 2016的一些客观技术或业务原因,甚至更晚的版本发布如SQL Server 2014?

(这个关于SQL Server 2012的question与SQL Server 2008相比,或者说this one关于SQL Server 2012与SQL Server 2005相比,这个问题的精神可以作为这个问题的例子.他们的答案也扩展了公司的一些原因.从SQL Server 2008或SQL Server 2005开始)

解决方法

考虑升级到SQL Server 2016有很多原因.大多数情况下,这些原因取决于SQL Server的版本.这不是一个详尽的清单,但我会想到一些理由.包括我们刚刚在2016年11月发布SQL Server 2016 SP1时所了解的一个非常重要的原因.期待看到我错过的扩展或功能的其他答案.

重大原因:现在标准版中提供了许多功能

2016年11月16日,微软宣布推出针对SQL Server 2016的Service Pack 1.随着此次发布,他们还宣布以前为企业版客户保留的许多功能将在SQL Server的所有版本中提供 – 标准版,Express版(带有少数例外),Web除企业版外.

对于开发和销售具有SQL Server后端的软件的软件供应商而言,这应该是一个非常令人信服的理由 – 现在可以为客户提供许多功能,无论他们的SQL Server许可版本如何.对于那些必须保持随着时间的推移而添加到产品中的审计或其他安全性增强的行业的公司而言,这也很有吸引力.

在我看来,在使用SQL Server超过17年的时间里,这使得SQL Server 2016 SP1很可能成为最引人注目的升级,因为我已经开始使用6.5版本的SQL Server了. (不要误解我的意思,2000年,2005年和2012年也有他们的时代优势!)

请看下面的列表,但作为您现在可以在标准版中使用的一些功能的快速示例,您可以使用以下内容:压缩,更改数据捕获,细粒度审计,行级安全性,始终加密,分区,数据库快照,内存中OLTP,列存储.

SQL Server 2016新功能的特定原因

我试图将本节中的原因仅限于SQL Server 2016中引入的功能.我也只是在这个答案中描述核心引擎增强功能,而不是报告,分析,数据集成等.

安全相关

行级安全性 – 我有许多客户希望能够逐行实现安全性. “用户x可以查看此行上的数据,但不能查看该行”.许多客户已经创建了功能和/或基于复杂视图的结构来实现这一目标.在SQL Server 2016中,可以使用内置的谓词和安全策略来提供帮助.您可以阅读有关RLS here的更多信息.

动态数据屏蔽 – 这个在纸面上听起来很棒,但我想知道它是否会证明它比安全区域中的其他两个变化更有用.基本上,您可以根据调用者的权限在查询时动态屏蔽或混淆数据.要混淆的数据量是可编程的.例如,在Microsoft使用的示例中,您可以屏蔽除信用卡号码的最后四位数之外的所有数字,以便呼叫中心的呼叫接收者可以验证最后的四位数.您可以阅读有关该here的更多信息.

始终加密 – 也许您已经听说过有关透明数据加密的一些缺陷或担忧.也许您不想使用TDE,因为担心具有SA访问权限的人可以根据需要明确解密. Always Encrypted作为一项功能发布,将解密/加密功能放在应用程序调用SQL Server的手中. SQL Server中的静态数据已加密.由于这种方法,飞行前往SQL Server的数据也被加密.您可以阅读有关Always Encrypted here的更多信息.

HA / DR功能

这里有一些功能.一种是在SQL Server Standard中使用Always On Availability Groups的能力 – 基本可用性组.这是必要的,因为镜像已弃用且无替换.功能仅限于副本数量和同步方法.你可以阅读更多here.

这不是对可用性组的唯一更改(顺便提一下,它是在SQL Server 2012中引入的).还有一些其他更改(您可以看到详尽的列表,其中包含指向其他更改的链接here):

>支持组托管服务帐户.
>支持分布式事务(某些为caveats).
>读取意图连接可以在只读副本之间进行负载平衡.
>现在有三个副本可以参与自动故障转移.
>加密数据库现在可以加入Always On Availability Group.
>性能改进 – SQL Server 2016主题的一部分是“它只是更快” – 这是微软营销的旋转,但它正在市场上证明.对可用性组性能进行了一些改进.

安装程序修复了一些常见错误

从SQL Server 2016开始的SQL Server安装程序修复了配置TempDB时出现的一些常见错误.设置GUI现在指导您完成最佳实践配置.

查询商店

SQL Server MVP和调谐器中的最爱.此功能是一种工具,可让您深入了解引擎如何执行查询.特别适用于跟踪查询计划随时间变化导致的性能问题.这可以是一个查看工具,也可以是一个修复工具.有助于简化一些性能调优概念.您可以阅读有关该here的更多信息.

时间表

我经常看到有必要提出一个问题,例如“这样的数据看起来像这样的日期”.时态表是这样做的一种方法.绝对有一些仓储用例.查看更多here.

列存储改进

这对我来说有三个很大的改进.一个是可更新的非聚簇列存储索引. SQL Server 2014为我们提供了可更新的集群,但现在我们已经更新了nonclusted. SQL Server 2016还允许内存中OLTP表上的列存储索引.现在,SQL Server 2016中存在将传统B树非聚簇索引放置在聚簇列存储索引上的功能.

内存中OLTP的其他功能改进

现在可以使用In-Memory表或本机编译过程中不支持的一些功能.一些附加内容(但请参阅this article了解更多信息):UNIQUE约束,检查约束,DML中的OUTPUT子句,外部联接,选择列表中的子查询,SELECT DISTINCT,UNION / UNION ALL等.

一般性能改进

SQL Server 2014在每个版本的几个关键领域对性能进行了一些改进. SQL Server 2016在整个产品中进行了额外的关键增强.这包括为许多客户消除由于基数估算器更改而升级到SQL Server 2014时有时会遇到的一些痛苦.为了改善日常性能,在发动机上下进行了一些改变.微软的CSS团队一直在他们的博客上写博客.您可以搜索“SQL Server 2016它运行得更快”.本系列的博客文章示例是here.

我已经看到这种情况在已升级的客户中发挥作用,并期望越来越多地看到它.

一些缺点

任何升级都有明显的缺点.这可能是因为我以顾问的身份来做这件事,但我认为缺点是难以置信的可管理性,并且只是认为他们“先计算成本”项目需要注意和管理.

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读