Microsoft SQL Server
2018年12月12日 16:59

Microsoft SQL Server是一种关系数据库管理系统或RDBMS,它支持企业IT环境中的各种事务处理,商业智能和分析应用程序。它是三种市场领先的数据库技术之一,还有Oracle数据库和IBM的DB2。

与其他RDBMS软件一样,Microsoft SQL Server构建于SQL之上,SQL是一种标准化编程语言,数据库管理员(DBA)和其他IT专业人员使用它来管理数据库并查询它们包含的数据。SQL Server与Transact-SQL(T-SQL)绑定,后者是Microsoft的SQL实现,它为标准语言添加了一组专有的编程扩展。

最初的SQL Server代码是由前Sybase公司在20世纪80年代开发的,后者现在归SAP所有。Sybase最初构建的软件可以在Unix系统和小型机平台上运行。微软和当时领先的PC数据库供应商Ashton-Tate公司联手制作了第一个版本的Microsoft SQL Server,专为OS / 2操作系统而设计,  并于1989年发布。

此后Ashton-Tate辞职,但微软和Sybase继续合作,直到1994年微软接管了SQL Server的所有开发和营销,用于自己的操作系统。前一年,随着Sybase关系开始解体,微软在修改16位OS / 2代码库以创建具有附加功能的32位实现后,还在新发布的Windows NT上提供了该软件。它专注于未来的Windows代码。1996年,Sybase将其版本重命名为Adaptive Server Enterprise,将SQL Server名称保留给Microsoft。

SQL Server的版本

在1995年至2016年间,Microsoft发布了10个版本的SQL Server。早期版本主要针对部门和工作组应用程序,但Microsoft在后续版本中扩展了SQL Server的功能,将其转变为企业级关系DBMS,可与Oracle数据库,DB2和其他竞争平台竞争高端数据库用途。多年来,Microsoft还将各种数据管理和数据分析工具整合到SQL Server中,以及支持新技术(包括Web,云计算和移动设备)的功能。

Microsoft SQL Server 2016于2016年6月普遍推出,是两年前微软采用的“移动优先,云优先”技术战略的一部分。除此之外,SQL Server 2016还增加了新功能,用于性能调优,实时运营分析,移动设备上的数据可视化和报告,以及混合云支持,使DBA能够在本地系统和公共云服务的组合上运行数据库降低IT成本。例如,SQL Server Stretch Database技术将不常访问的数据从本地存储设备移动到Microsoft Azure云,同时保留数据可用于查询(如果需要)。

Microsoft SQL Server

SQL Server 2016还通过SQL Server R服务增加了对大数据分析和其他高级分析应用程序的支持,SQL Server R服务使DBMS能够运行以开源R编程语言编写的分析应用程序,以及PolyBase,这是一种允许SQL Server用户访问数据的技术存储在Hadoop集群或Azure blob存储中以进行分析。此外,SQL Server 2016是第一个在基于x64微处理器的64位服务器上独占运行的DBMS版本。它还增加了在Docker容器中运行SQL Server的能力,这是一种在共享操作系统上将应用程序彼此隔离的虚拟化技术。

以前的版本包括SQL Server 2005,SQL Server 2008和SQL Server 2008 R2,尽管其名称有后续声音,但它被认为是主要版本。接下来是SQL Server 2012和SQL Server 2014。SQL Server 2012提供了新功能,例如列存储索引,可用于以数据仓库和分析应用程序的基于列的格式存储数据,以及AlwaysOn可用性组,一种高可用性和灾难恢复技术。(Microsoft在发布SQL Server 2016时将后者名称的拼写更改为Always On。)

SQL Server 2014添加了内存中OLTP,它允许用户针对存储在内存优化表中的数据运行联机事务处理(OLTP)应用程序,而不是基于标准磁盘的表。SQL Server 2014的另一个新功能是缓冲池扩展,它将SQL Server的缓冲池内存缓存与固态驱动器集成在一起 - 另一个功能旨在通过从传统硬盘卸载数据来提高I / O吞吐量。

Microsoft SQL Server在Windows上独占运行了20多年。但是,在2016年,微软表示计划在Linux上提供DBMS,从11月发布的社区技术预览版开始,最初称为SQL Server vNext; 之后,该更新正式命名为SQL Server 2017,并于当年10月普遍推出。

在Linux上运行SQL Server的支持将数据库平台移动到企业中常见的开源操作系统上,使微软有可能进入不使用Windows或具有混合服务器环境的客户。SQL Server 2017还扩展了在先前版本中为Windows系统添加的Docker支持,以包括基于Linux的容器。

SQL Server 2017中另一个值得注意的功能是支持Python编程语言,这是一种在分析应用程序中广泛使用的开源语言。通过添加,SQL Server R服务被重命名为机器学习服务(In-Database)并扩展为运行R和Python应用程序。最初,机器学习工具包和各种其他功能仅在Windows版本的数据库软件中可用,在Linux上支持更有限的功能集。

内部SQL Server的架构

与其他RDBMS技术一样,SQL Server主要围绕基于行的表结构构建,该表结构将不同表中的相关数据元素相互连接,从而无需在数据库中的多个位置冗余存储数据。关系模型还提供参照完整性和其他完整性约束以保持数据准确性; 这些检查是更广泛遵守原子性,一致性,隔离性和持久性原则的一部分 - 统称为ACID属性,旨在保证数据库事务的可靠处理。

Microsoft SQL Server的核心组件是SQL Server数据库引擎,它控制数据存储,处理和安全性。它包括一个处理命令和查询的关系引擎,以及一个管理数据库文件,表,页面,索引,数据缓冲区和事务的存储引擎。存储过程,触发器,视图和其他数据库对象也由数据库引擎创建和执行。

坐在数据库引擎下面的是SQL Server操作系统或SQLOS; 它处理较低级别的功能,例如内存和I / O管理,作业调度和数据锁定,以避免冲突更新。网络接口层位于数据库引擎上方,使用Microsoft的Tabular Data Stream协议来促进与数据库服务器的请求和响应交互。在用户级别,SQL Server DBA和开发人员编写T-SQL语句来构建和修改数据库结构,操作数据,实现安全保护和备份数据库等任务。

SQL Server服务,工具和版本

Microsoft还将各种数据管理,商业智能(BI)和分析工具与SQL Server 捆绑在一起。除了最初出现在SQL Server 2016中的R服务和现在的机器学习服务技术之外,数据分析产品还包括SQL Server Analysis Services,一种处理用于BI和数据可视化应用程序的数据的分析引擎,以及SQL Server Reporting Services ,支持BI报告的创建和交付。

在数据管理方面,Microsoft SQL Server包括SQL Server Integration Services,SQL Server数据质量服务和SQL Server主数据服务。与DBMS捆绑在一起的还有两组DBA和开发人员工具:用于开发数据库的SQL Server数据工具和用于部署,监视和管理数据库的SQL Server Management Studio。

Microsoft提供四种主要版本的SQL Server,它们提供不同级别的捆绑服务。其中两个是免费提供的:用于数据库开发和测试的全功能开发人员版本,以及可用于运行具有高达10 GB磁盘存储容量的小型数据库的Express版本。对于大型应用程序,Microsoft销售包含所有SQL Server功能的企业版,以及具有部分功能集的标准版,以及用户可在其数据库服务器中配置的处理器核心数和内存大小限制。

但是,当SQL Server 2016 Service Pack 1(SP1)在2016年末发布时,Microsoft将以前仅限于企业版的一些功能作为Standard和Express的一部分提供。其中包括内存中OLTP,PolyBase,列存储索引以及数据仓库的分区,数据压缩和更改数据捕获功能,以及一些安全功能。此外,该公司使用SQL Server 2016 SP1在不同版本中实现了一致的编程模型,从而可以更轻松地将应用程序从一个版本扩展到另一个版本。

SQL Server中的安全功能

从SQL Server 2016 SP1开始,所有版本的Microsoft SQL Server都支持高级安全功能,包括添加到2016版本的三种技术:Always Encrypted,它允许用户更新加密数据而无需先解密; 行级安全性,它允许在数据库表的行级别控制数据访问; 和动态数据屏蔽,它自动隐藏来自没有完全访问权限的用户的敏感数据元素。

其他值得注意的SQL Server安全功能包括透明数据加密,用于加密数据库中的数据文件,以及细粒度审计,它收集有关数据库使用情况的详细信息,以报告法规遵从情况。Microsoft还支持传输层安全协议,以保护SQL Server客户端和数据库服务器之间的通信。

Azure SQL数据库也支持Microsoft SQL Server中的大多数工具和其他功能,这是一种基于SQL Server数据库引擎构建的云数据库服务。或者,用户可以通过Azure虚拟机上的SQL Server技术直接在Azure上运行SQL Server; 它配置在Azure上运行的Windows Server 虚拟机中的DBMS 。VM产品针对将本地SQL Server应用程序迁移或扩展到云进行了优化,而Azure SQL数据库则设计用于新的基于云的应用程序。

在云中,Microsoft还提供Azure SQL数据仓库,这是一种基于SQL Server 的大规模并行处理(MPP)实现的数据仓库服务。MPP版本最初是一个名为SQL Server并行数据仓库的独立产品,也可作为Microsoft分析平台系统的一部分用于本地使用,该系统将其与PolyBase和其他大数据技术相结合。

731 190

上一篇:网页性能:消除白色闪烁延迟

下一篇:设计模式之工厂模式

相关文章

旗下产品

软件IP代理 企业HTTP代理 开放HTTP代理 高速硬件IP代理
@ 2016 - 2024.猎鹰网安IP代理, All rights reserved. 鄂ICP备18017015号-4
禁止利用本站资源从事任何违反本国(地区)法律法规的活动
新闻中心 | 其他新闻 | 帮助文档