sql server新增列

SQL Server 2017 is considered a major release in the history of the SQL Server life cycle for various reasons. From my personal point of view, SQL Server 2017 is indeed an interesting release. After writing lot about it and testing various features of SQL Server 2017, I’d like to walk you through some of its interesting features.

由于各种原因,SQL Server 2017被认为是SQL Server生命周期历史上的主要版本。 从我个人的角度来看,SQL Server 2017确实是一个有趣的版本。 在编写了大量相关文章并测试了SQL Server 2017的各种功能之后,我想向您介绍其一些有趣的功能。

SQL Server 2017 …

SQL Server 2017…

  1. is now on the platform of or choice; SQL Server 2017 on several Linux distros, that can run on Docker containers, and SQL VM in Azure, along with the good ol’ SQL Server on Windows. 现在处于或选择的平台上; 可以在Docker容器和Azure上SQL VM上运行的多个Linux发行版上SQL Server 2017,以及Windows上的出色SQL Server。
  2. expands its reach to support Graph database technology 扩展其范围以支持Graph数据库技术
  3. includes automatic database tuning 包括自动数据库调整
  4. supports Machine Learning by adopting Python 通过采用Python支持机器学习
  5. contains new dynamic management views and functions 包含新的动态管理视图和功能
  6. has new string functions 具有新的字符串功能
  7. And more… 和更多…

Time to dig in

是时候挖了

Let’s uncover the mystery behind the faster development and deployment of SQL Server. The file size of the SQL Server executable, sqlservr.exe, is ~3 MB in SQL Server 2017, compared to ~64 MB in SQL Server 2008 R2. The SQL Server team realized the importance of decoupling and modularizing the surface area code into much smaller components. The entire architecture is broken down into multiple smaller micro-services so that the deployments and integration are made on each of the respective components, and that the process is seamless.

让我们揭示SQL Server更快开发和部署背后的奥秘。 SQL Server可执行文件sqlservr.exe的文件大小在SQL Server 2017中约为3 MB,而在SQL Server 2008 R2中约为64 MB。 SQL Server团队意识到将表面代码解耦和模块化成更小的组件的重要性。 整个体系结构被分解为多个较小的微服务,以便在各个组件上进行部署和集成,并且过程是无缝的。

Starting with SQL Server 2017, Microsoft is no longer using the old model of release under which cumulative updates (CUs) were released every two months and service packs (SPs) containing all the fixes from the preceding CUs were released once a year. This new model allowed shortening the release cycle and features getting added to SQL Database and SQL Server faster than ever before. Most recently, the SQL Server engineering team managed to ship SQL Server 2017 along with the new cross-platform support within 15 months after the release of SQL Server 2016. This is in contrast with the legacy three-to-five-year shipping cycles of the past.

从SQL Server 2017开始,Microsoft不再使用旧的发布模型,在该模型下,每两个月发布一次累积更新(CU),并且每年一次发布一次包含以前CU的所有修补程序的Service Pack(SP)。 这种新模型可以缩短发布周期,并且可以更快地将功能添加到SQL数据库和SQL Server。 最近,SQL Server工程团队设法在SQL Server 2016发布后的15个月内交付了SQL Server 2017以及新的跨平台支持。这与传统的3到5年的交付周期相反过去。

One would feel why SQL Server2016 and 2017 are such big releases in a matter of a difference of just a few months. However, starting with 2017, Microsoft is moving to a rapid-release cadence with enhanced functionality and new features being rolled out annually instead of having to wait two or three years between versions.

人们会觉得为什么SQL Server2016和2017这么大的发布仅相差几个月的时间。 但是,从2017年开始,微软将转向具有增强功能和每年推出新功能的快速发布节奏,而不必在版本之间等待两到三年。

Linux上SQL Server 2017 (SQL Server 2017 on Linux)

Clearly, two of the biggest changes with SQL Server 2017 are its support for Linux and Docker containers, both of which could have a big impact on the database trends of the future. The release of SQL Server 2017 for Linux has proven to be a step towards extending the capabilities to a high-performance platform, which has already set some TPC benchmark records.

显然,SQL Server 2017的两个最大变化是它对Linux和Docker容器的支持,这两者都可能对未来的数据库趋势产生重大影响。 事实证明,针对LinuxSQL Server 2017发行版是将功能扩展到高性能平台的一步,该平台已经树立了一些TPC基准记录。

In this release, we can look forward to running SQL Server instances on Linux computers. Many of our previous articles show you how to get started by creating a RedHat virtual machine in Microsoft Azure, as well as installing SQL Server on a CentOS machine. Here are some of the articles.

在此版本中,我们期待在Linux计算机上运行SQL Server实例。 我们之前的许多文章都向您展示了如何通过在Microsoft Azure中创建RedHat虚拟机以及在CentOS计算机上安装SQL Server来入门。 这里是一些文章。

  • Installation of SQL Server vNext CTP on Linux Distribution CentOS 7 安装SQL Server vNext CTP:在Linux Distribution CentOS 7上安装SQL Server vNext CTP
  • A Quick start Guide to Managing SQL Server 2017 on CentOS/RHEL Using the SSH Protocol is discussed in this article 使用SSH协议在CentOS / RHEL上管理SQL Server 2017的快速入门指南
  • How to configure SQL Server 2017 on Linux with mssql-conf and other available tools is discussed in this article 本文讨论了如何使用mssql-conf和其他可用工具在Linux上配置SQL Server 2017

ML(机器学习)中的Python支持 (Python support in ML (Machine Learning))

The next great feature that’s new in SQL Server 2017 is the addition of support for the Python scripting language, which is in addition to R, support for which was added in 2016, to form a new machine-learning services package. There’s no doubt that AI is now among the hottest buzzwords in IT. It seems like almost every IT product is now suddenly AI-enabled, and SQL Server is no exception in that regard. In April 2017, SQL Server was officially touted as “The first RDBMS with built-in AI!” Some of my articles that talk about these capabilities are:

SQL Server 2017中的新的下一个重要功能是增加了对Python脚本语言的支持,这是对R的补充,R在2016年添加了对R的支持,以形成一个新的机器学习服务包。 毫无疑问,人工智能现在已成为IT中最热门的流行语之一。 似乎几乎每个IT产品现在都突然启用了AI,并且SQL Server在这方面也不例外。 2017年4月,SQL Server被正式吹捧为“首个内置AI的RDBMS!” 我的一些有关这些功能的文章包括:

  • How to use Python in SQL Server 2017 to obtain advanced data analytics 如何在SQL Server 2017中使用Python获得高级数据分析
  • Data Interpolation and Transformation using Python in SQL Server 2017 SQL Server 2017中使用Python进行数据插值和转换
  • The importance of Python in SQL Server Administration 在SQL Server管理中Python的重要性中讨论了它给DBA带来的好处和重要性。
  • Why would a SQL Server DBA be interested in Python? 为什么SQL Server DBA对Python感兴趣?

图数据库 (Graph Databases)

This section explores the integration of Graph database components in SQL Server 2017. The pointer at the end of this section includes a working data set of relational and graph databases, and data models. In addition, it explains how to integrate graph databases with relational databases and how to convert the relational tuples into a graph data set.

本节探讨了SQL Server 2017中Graph数据库组件的集成。本节末尾的指针包括关系数据库和图形数据库的工作数据集以及数据模型。 此外,它还说明了如何将图形数据库与关系数据库集成以及如何将关系元组转换为图形数据集。

A key concept of graph databases are edges and nodes. The relationships allow entities to be linked together directly, and in many cases retrieved with one operation. In some cases, due to stringent data modeling design, the relational data model may not be a good fit as it incurs costly join operations. In the past, the lack of viable alternatives and the lack of support made the graph model a difficult alternative, but that is no more the case.

图数据库的关键概念是边和节点。 这些关系允许将实体直接链接在一起,并且在许多情况下,可以通过一个操作来检索它们。 在某些情况下,由于严格的数据建模设计,关系数据模型可能不太适合,因为它会导致昂贵的联接操作。 过去,缺乏可行的替代方案和缺乏支持,使得图模型成为了一个困难的替代方案,但事实并非如此。

We’ll also look at the integration of graph database support to help model many-to-many relationships as nodes and edges, rather than with the traditional relational model.  The footprint of the graph database technology in the IT industry is clearly visible today, and for good reasons such as adding efficiency to social recommendations, IT network analysis, fraud detection, product recommendation, and so on.

我们还将研究图形数据库支持的集成,以帮助将多对多关系建模为节点和边,而不是使用传统的关系模型。 图数据库技术在IT行业中的足迹如今已清晰可见,并且有充分的理由,例如,提高了社交推荐的效率,IT网络分析,欺诈检测,产品推荐等。

Go ahead, look at a use case we picked to demonstrate the features of Graph databases in this article: An introduction to a SQL Server 2017 graph database

继续,看一下本文中用来演示Graph数据库功能的用例: SQL Server 2017图形数据库简介

字符串函数 (String functions)

One of the major capabilities of modern computers is processing the human language. Basically, the strings are transformed into the code which is then processed by a machine. The built-in string functions have always been efficient in handling string literals. It is possible to find and alter string values using various options. However, string functions and string manipulation consume most of the query execution time in decoding the various parts of the character literals. SQL Server 2017 offers various new string manipulation functions, which have been in the talk for many of its features that simplify a developer’s life; no more writing long T-SQL statements with temporary tables and complex logic, only to manipulate and aggregate strings.

现代计算机的主要功能之一是处理人类语言。 基本上,字符串被转换为代码,然后由机器处理。 内置的字符串函数在处理字符串文字方面一直非常有效。 可以使用各种选项查找和更改字符串值。 但是,在解码字符文字的各个部分时,字符串函数和字符串操作会消耗大部分查询执行时间。 SQL Server 2017提供了各种新的字符串操作功能,这些功能已经在讨论中简化了开发人员的工作; 不再需要编写带有临时表和复杂逻辑的长T-SQL语句,只需要操作和聚合字符串即可。

Here are some of the new string manipulation functions present in SQL Server 2017:

以下是SQL Server 2017中提供的一些新的字符串操作函数:

  • CONCAT_WS CONCAT_WS
  • TRANSLATE 翻译
  • TRIM 修剪
  • STRING_AGG STRING_AGG

Read more about this in the article: Top string functions in SQL Server 2017

在文章中了解有关此内容的更多信息: SQL Server 2017中的顶级字符串函数

DMV和DMF (DMVs and DMFs)

With the advent of system objects, the metadata of various pieces of SQL Server have been exposed for a better understanding of the entire system. These system objects, for the most part, are a cumulative collection of data, or the aggregation or accumulation of the various counter values or different data-structures of SQL Server. Most importantly, the data is real time, and obviously dynamic in nature. In most of the cases, the DMVs are used, and they define the baseline or pressure points of various metrics that determine the performance of the system. The DMFs provide cumulative statistics of the requested parameters.

随着系统对象的出现,各种SQL Server的元数据已经公开,以更好地了解整个系统。 这些系统对象大部分是数据的累积集合,或者是SQL Server的各种计数器值或不同数据结构的聚集或累积。 最重要的是,数据是实时的,并且本质上显然是动态的。 在大多数情况下,将使用DMV,它们定义了确定系统性能的各种指标的基线或压力点。 DMF提供所请求参数的累积统计信息。

The new DMVs introduced in SQL Server 2017 are as follows:

SQL Server 2017中引入的新DMV如下:

  • sys.dm_tran_version_store_space_usage sys.dm_tran_version_store_space_usage
  • sys.dm_db_stats_histogram (Transact-SQL)  sys.dm_db_stats_histogram(Transact-SQL)
  • sys.dm_exec_query_statistics_xml sys.dm_exec_query_statistics_xml
  • sys.dm_os_host_info  sys.dm_os_host_info
  • sys.dm_os_sys_info sys.dm_os_sys_info
  • A new column modified_extent_page_count introduced in sys.dm_db_file_space_usage to track differential changes in each database file of the database.
  • sys.dm_db_file_space_usage中引入了新列Modifyed_extent_page_count,以跟踪数据库的每个数据库文件中的差异更改。
  • Identify the free disk space using the new DMV sys.dm_os_enumerate_fixed_drives 使用新的DMV sys.dm_os_enumerate_fixed_drives标识可用磁盘空间
SELECT * FROM sys.dm_os_enumerate_fixed_drives;

The new DMFs introduced in SQL Server 2017 are as follows

SQL Server 2017中引入的新DMF如下

  • sys.dm_db_log_info  sys.dm_db_log_info
  • sys.dm_db_log_stats sys.dm_db_log_stats

Read the Top 8 new (or enhanced) SQL Server 2017 DMVs and DMFs for DBAs to find out more.

阅读前八名新的(或增强的)SQL Server 2017 DMV和DBA的DMF,以了解更多信息。

可恢复在线索引重建 (Resumable Online Index Rebuild)

SQL Server 2017 is the first commercial RDBMS to support pause and resume functionality for index maintenance operations. Most administrators consider index rebuild on VLDB’s a daunting task to manage. Many critical database solutions don’t permit to perform offline database maintenance operations. In most cases, the database design plays an important role in that regard. SQL Server 2017 provides index maintenance tasks with great flexibility as an alternative solution to managing the maintenance operations. There are situations where database administrators might need to temporarily free up system resources. For example, what if a priority task needs resources and a lower-priority index rebuild is eating away the resources? We’d rather have the index rebuild operation run in some other available maintenance window—but at the same time, what if the rebuild was halfway? We do not want to lose that state either. In such a case, the operation can be paused, and resumed during a maintenance window. This can be a termed as “piecemeal index maintenance operation.”

SQL Server 2017是第一个支持用于索引维护操作的暂停和恢复功能的商业RDBMS。 大多数管理员认为在VLDB上进行索引重建是一项艰巨的任务。 许多关键数据库解决方案不允许执行脱机数据库维护操作。 在大多数情况下,数据库设计在这方面起着重要作用。 SQL Server 2017提供了非常灵活的索引维护任务,作为管理维护操作的替代解决方案。 在某些情况下,数据库管理员可能需要暂时释放系统资源。 例如,如果优先级任务需要资源,而较低优先级的索引重建却吞噬了资源,该怎么办? 我们希望在其他可用的维护窗口中运行索引重建操作-但是同时,如果重建进行到一半怎么办? 我们也不想失去那个状态。 在这种情况下,可以在维护窗口期间暂停操作并恢复操作。 这可以称为“零星索引维护操作”。

  1. Resume: Resume an index-rebuild operation, after a failure. 恢复:失败后恢复索引重建操作。
  2. Pause: Pause the rebuild operation (and resume it at a later point). 暂停:暂停重建操作(并在以后恢复)。
  3. Rebuild: Rebuild large indexes with minimal log space usage. 重建:以最小的日志空间使用率重建大型索引。

Let’s look at Overview of Resumable Indexes in SQL Server 2017, an article that covers resumable online index operations in detail

让我们看看SQL Server 2017中的可恢复索引概述 ,这篇文章详细介绍了可恢复在线索引操作

自动数据库调优 (Automatic database tuning)

Monitoring the databases for optimal query performance, creating and maintaining required indexes, and dropping rarely-used, unused, or expensive indexes is a common database administration task. SQL Server 2017 can now assist database administrators in performing these routine operations by identifying problematic query execution plans and fixing SQL plan performance problems. Automatic tuning begins with continuously monitoring the database, and learning about the workload that it serves. Automatic database tuning is based on Artificial Intelligence; AI is now providing great flexibility in managing and tuning the performance of database systems. More on this topic is discussed in a dedicated post on automatic database tuning: Understanding automatic tuning in SQL Server 2017

监视数据库以获得最佳查询性能,创建和维护所需的索引以及删除很少使用,未使用或昂贵的索引是一项常见的数据库管理任务。 SQL Server 2017现在可以通过确定有问题的查询执行计划并修复SQL计划性能问题来帮助数据库管理员执行这些常规操作。 自动调整首先要持续监视数据库,并了解其服务的工作量。 自动数据库调整基于人工智能; 人工智能现在为管理和调整数据库系统的性能提供了极大的灵活性。 有关自动数据库调整的专门文章中讨论了有关此主题的更多信息: 了解SQL Server 2017中的自动调整

结语 (Wrapping up)

I feel that SQL Server on Linux, Python Integration, Graph Databases and Resumable index operations stand out to be the top features of SQL Server 2017. The list of many features and enhancement does not stop here. I will discuss the other pieces we omitted, in a separate article. What are your top features in SQL Server 2017? Feel free to comment here!

我认为Linux上SQL Server,Python集成,图形数据库和可恢复索引操作脱颖而出是SQL Server 2017的主要功能。许多功能和增强功能的列表并不止于此。 我将在另一篇文章中讨论我们省略的其他部分。 SQL Server 2017中最重要的功能是什么? 在这里随意发表评论!

翻译自: https://www.sqlshack.com/whats-new-in-sql-server-2017/

sql server新增列

sql server新增列_SQL Server 2017中的新增功能相关推荐

  1. sql server新增列_SQL Server 2016安装中的新增功能?

    sql server新增列 SQL Server 2016 introduced officially on the 1st of June 2016. It comes with many new ...

  2. sql 标量子查询_SQL Server 2017:标量子查询简化

    sql 标量子查询 Nowadays a lot of developers use Object-Relational Mapping (ORM) frameworks. ORM is a prog ...

  3. sql隐式转换_SQL Server中的隐式转换

    sql隐式转换 This article will provide an overview of SQL Server implicit conversion including data type ...

  4. sql server update触发器_SQL Server 触发器

    T-SQL 触发器 触发器分为 BEFORE触发器*(SQL Server不支持,Oracle支持)在事件发生时触发. AFTER触发器是 SQLServer生成的最初用于自动相应数据修改的机制.在 ...

  5. sql server高可用_SQL Server 2019常规可用性和安装概述

    sql server高可用 介绍 (Introduction) On November 4th, 2019, during the Ignite conference at Orlando, Micr ...

  6. 使用sql语句生成报表_SQL Server报表服务:如何使用报表生成器处理常见的最终用户要求

    使用sql语句生成报表 In this article, we will discuss the SQL Server Reporting Service Report Builder and loo ...

  7. sql 自定义函数 示例_SQL Server SESSION_CONTEXT()函数与示例

    sql 自定义函数 示例 This article explores the SQL Server session context function, SESSION_CONTEXT() and pe ...

  8. sql取上个月年月_SQL Server 取日期时只要年月或年月日

    select CONVERT(varchar(7) ,getdate(), 120) as 'Date' from 表名;--只取年月且日期格式为 xxxx-xx select CONVERT(var ...

  9. sql 自定义函数 示例_SQL Server Choose()函数介绍和示例

    sql 自定义函数 示例 In the article, a CASE statement in SQL, we explored one of the important logical expre ...

最新文章

  1. ios软件商店上架老被打回_安卓神级特殊站点+苹果下载神器上架
  2. 基于海康机器视觉算法平台的对位贴合项目个人理解 | CSDN原力计划
  3. arcgis车辆轨迹动态_聪明反被聪明误 屏蔽车辆GPS被处罚
  4. Angular模态框
  5. (算法)Word Break
  6. java变换变量赋值_Java变量的类型转换
  7. 查看openssh版本_OpenSSH命令注入漏洞复现(CVE202015778)
  8. 停止运行_锅炉停止运行应注意哪些事项?
  9. aspx 修改了样式但是在点击按钮后被刷新_135编辑器使用教程|动画按钮到底在哪里啊?...
  10. 蓝桥杯2015年第六届C/C++B组国赛第一题-积分之迷
  11. 列表和字典操作的时间复杂度
  12. 【转】Excel表格的35招必学秘技
  13. Python 批量修改PDF文件名
  14. postgresql学习(一)
  15. 基于Altium designer软件设计PCB,原理图经验总结
  16. 八大典型APT攻击过程详解
  17. 谢国忠:不能因自身利益驱动而散布违背经济规律的言论
  18. 想进BAT一线互联网大厂,该怎么准备技术面试?一位6年老Android的面经总结(附300+面试题)
  19. 投骰子游戏(C++)
  20. 51、截止时间调度概述

热门文章

  1. 不良事件总结怎么写_护理不良事件总结分析.doc
  2. python压缩文件操作_python处理zip压缩文件 | 学步园
  3. 字符串单词翻转c语言,C语言反转一行字符串单词示例
  4. app devops建设
  5. 机器学习之路:python 集成分类器 随机森林分类RandomForestClassifier 梯度提升决策树分类GradientBoostingClassifier 预测泰坦尼克号幸存者...
  6. redis的linux安装
  7. FILE类型指针的头文件
  8. 弄懂bind,apply和call的区别
  9. css命中与jquery命中
  10. 计算机网络学习笔记(29. DNS概述)