SQL Server 基础知识

2019-07-21  本文已影响0人  风味沙拉

目录

什么是 SQL Server?

安装

关键概念

系统数据库(System Databases)

登录名与数据库用户(Login and user)

身份验证模式(Authentication Mode)

包含数据库(Contained Database)

总体架构

协议层(Protocol Layer)

关系引擎(Relational Engine)

存储引擎(Storage Engine)

数据文件架构

数据文件

附录 - SQL Server 工具集

参考文档

什么是 SQL Server?

SQL Server 是由微软公司(Microsoft)开发的关系型数据库(RDBMS)。RDBMS 是 SQL 以及所有现代数据库系统的基础,比如 MS SQL ServerIBM DB2OracleMySQL 以及微软的 Microsoft Access

SQL Server 主要是和 MySQLOracle 二者竞争。

这里简答提一下 SQL 的历史:SQL 由 IBM 在 19 世纪 70 年代提出,在 1986 年成为 ANSI(American National Standards Insittute) 标准,在 1987 年成为 ISO(International Organization for Standardization) 标准。

SQL Server 支持 ANSI SQL 标准。但是 SQL Server 设计了自己的 SQL 语言,称之为 T-SQL(Transactional-SQL)。类似于 OraclePL/SQL

MicrosoftSybase** 在 1989 年发布 SQL Server 1.0 版本。在 19 世纪 90 年代二者合作关系结束之后微软保持了 SQL Server 的所有权。此后,微软陆续发布了 SQL Server 2000, 2005, 2008, 2012,2014, 2016, 2017, 以及 2019。从 SQL Server 2017 开始,SQL Server** 开始支持 Linux。在 2009 年微软宣布发行 Microsoft Azure SQL 数据库并在 2010 年正式发布。

安装

安装分为三个步骤:

  1. 安装前 - 仔细阅读安装要求
  2. 安装 - 选择一种安装方式安装 SQL Server
  3. 安装后 - 使用 SQL Server 实用工具配置 SQL Server

安装前需要考虑安装的平台,比如是 Microsoft Server 的什么版本,还是Linux 平台;同时需要考虑磁盘空间处理器(类型,速度),内存,以及存储系统,比如存储架构(NAS,DAS,SAN),磁盘类型(SCSI,SSD,...),RAID类型(RAID0,RAID1,...)。

还有重要的一点是需要选择合适的 Collation(有人把 Collation 翻译为排序规则其实是不严谨的,因为 Collation 除了影响排序之外还代表了字符在数据集里的呈现形式)。Collation 主要影响两个方面:

比如下面这个例子,不同的 Collation 导致了完全不同的排序结果。

collation1.png collation2.png

SQL Server 支持在单一数据库中存储具有不同 Collation 的对象。

安装时有四种安装方式可以选择:

安装后验证安装是否成功。一般可以检查:

关键概念

系统数据库(System Databases)

SQL Server 有五个系统数据库:

这里只是简单介绍一下每个系统数据库的功能。如果需要了解详细信息,可以参考微软官方文档

登录名与数据库用户(Login and user)

身份验证模式(Authentication Mode)

SQL Server 提供两种身份验证模式

包含数据库(Contained Database)

SQL Server 2012 开始 SQL Server 引进了包含数据库(Contained Database)。包含数据库独立于其他数据库和它所属的实例。

它的主要优势是:

启用包含数据库特性必须在数据库的实例上进行,然后才可以创建包含数据库。

登录包含数据库时,需要在选项>>(Options>>)里指定要连接到的数据库,否则会出错。

contaieddb.png

总体架构

SQL Server 有三个主要组件:

协议层(Protocol Layer)

架构图中的 TDSTabular Data Stream 的缩写。

关系引擎(Relational Engine)

关系引擎(Relational Engine)又被称为查询处理器(Query Processor)。它包含能够决定执行什么样的查询以及如何做到最优查询。它负责从存储引擎(Storage Engine)请求数据并处理返回的数据。

存储引擎(Storage Engine)

存储引擎把数据存储在存储系统,如硬盘或 SAN,并在需要时返回数据。

数据文件架构

每个 SQL Server 数据库至少具有两个操作系统文件:一个数据文件和一个日志文件。

数据文件

附录 - SQL Server 工具集

参考文档

  1. https://www.w3schools.com/sql/sql_intro.asp
  2. https://en.wikipedia.org/wiki/Sybase
  3. https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-overview?view=sql-server-2017
  4. https://en.wikipedia.org/wiki/Microsoft_Azure_SQL_Database
  5. https://docs.microsoft.com/en-us/sql/relational-databases/collations/collation-and-unicode-support?view=sql-server-2017#Collation_Defn
  6. https://docs.microsoft.com/zh-cn/sql/relational-databases/security/authentication-access/getting-started-with-database-engine-permissions?view=sql-server-2017
  7. https://docs.microsoft.com/zh-cn/sql/relational-databases/security/choose-an-authentication-mode?view=sql-server-2017
  8. https://docs.microsoft.com/zh-cn/sql/relational-databases/databases/migrate-to-a-partially-contained-database?view=sql-server-2017#enable
  9. https://www.guru99.com/sql-server-introduction.html
  10. https://docs.microsoft.com/zh-cn/sql/database-engine/configure-windows/buffer-pool-extension?view=sql-server-2017
  11. https://docs.microsoft.com/zh-cn/sql/relational-databases/databases/database-files-and-filegroups?view=sql-server-2017
  12. https://docs.microsoft.com/zh-cn/sql/relational-databases/pages-and-extents-architecture-guide?view=sql-server-2017
上一篇 下一篇

猜你喜欢

热点阅读