Microsoft SQL Server 不同版本详细介绍、对比、差异、硬件需求、各个版本功能区别,SQL Server 2019、2022多种方式安装详细介绍,哪个版本的SQL Server最好?
- 版本摘要信息
版本主要信息,版本号、补丁包信息等,如:
“Microsoft SQL Server 2008 R2 (SP3)”
“Microsoft SQL Server 2017 (RTM)”
2. 详细版本号
SQL Server 详细版本号格式: 主版本号.次版本号.update版本号.编译版本号
如:
“10.50.6000.34”
“14.0.1000.169”
其中主版本号的定义如下:
8 - SQL Server 2000
9 - SQL Server 2005
10 - SQL Server 2008
11 - SQL Server 2012
12 - SQL Server 2014
13 - SQL Server 2016
14 - SQL Server 2017
15 - SQL Server 2019
3. 32位/64位信息
标识数据库版本是32位还是64位
X86 - 32位版本
X64 - 64位版本
4. 版本编译日期
如:“Aug 19 2014 12:21:34”, “Aug 22 2017 17:04:49”
- 企业版/标准版/体验版信息
显示数据库版本是企业版、开发者版、标准版等信息。
企业版 - “Enterprise Edition”
开发者版 - “Developer Edition”
标准版 - “Standard Edition”
体验版 - “Express Edition”
数据中心版 - “Data Center Edition”
三、企业版、标准版、体验版对硬件资源的使用限制
- SQL Server 2008 R2
- SQL Server 2012
- SQL Server 2014
- SQL Server 2016
- SQL Server 2017
- SQL Server 2019
SQL Server 的各个历史版本中,除了 SQL Server 2008 R2 的最高级别版本为数据中心版(Datacenter),其余版本的最高级别版本均为企业版(Enterprise)。最高级别版本无硬件资源使用限制。
SQL Server 还有一类版本:开发者版(Developer)。开发者版在功能以及硬件资源使用上,都等同于最高级别版本(数据中心版/企业版)。只是开发者版不能用于商业环境。
随着硬件资源的不断提升,标准版/体验版的硬件资源限制也在逐步放开。例如 SQL Server 2012 标准版最多使用64GB内存,而到了SQL Server 2014 提升到了128GB内存,这个策略挺好。
SQL Server 2012 及其之后的企业版license重要变更
上文中提到,SQL Server 2012及其之后的版本,最高级别的版本均为企业版,企业版对硬件资源的使用没有限制。其实这种说法并不准确,具体还要看在企业版的前提下,使用的是哪种license许可。
SQL Server 2012 及其之后的企业版版本,有两种类型的license许可:
基于服务器+客户端访问许可证(CAL)的许可 --> 最多使用20核CPU
基于内核的服务器许可 -->CPU使用无限制
查看数据库使用的是哪种license许可
如果是基于内核的服务器许可,在使用 select @@version
查看版本详细信息时,输出的结果中会有关键字:Core-based Licensing。如果不存在该关键字,则说明是基于服务器+客户端访问许可证(CAL)的许可。
哪个版本的SQL Server最好?
SQL Server是微软公司推出的一款关系型数据库管理系统,被广泛应用于企业级数据库管理和数据分析等领域。随着SQL Server不断更新迭代,不同版本的SQL Server具有不同的特点和功能,那么哪个版本的SQL Server最好呢?
SQL Server的版本
SQL Server有多个版本,主要包括Express、Standard、Enterprise和Developer等。不同版本之间的主要区别在于功能、性能和授权等方面。
Express:免费版本,适用于小型应用或开发环境。
Standard:中端版本,适用于中小型企业的生产环境。
Enterprise:高端版本,适用于大型企业级数据库系统。
Developer:专门用于开发和测试环境,功能和性能与Enterprise版本相同。
SQL Server的功能比较
不同版本的SQL Server在功能上有所差异,主要体现在支持的功能和性能方面。
Express版本
Express版本是免费版本,虽然功能相对较少,但对于小规模应用或个人开发者来说已经足够。Express版本主要特点包括:
最大数据库大小限制为10GB
最大内存限制为1GB
支持最多4个处理器
不支持SQL Server代理服务
不支持数据库邮件
Standard版本
Standard版本是中端版本,适用于中小型企业的生产环境。Standard版本相比Express版本具有更多的功能和性能优势,主要特点包括:
无数据库大小限制
无内存限制
支持最多16个处理器
支持SQL Server代理服务
支持数据库邮件
Enterprise版本
Enterprise版本是高端版本,适用于大型企业级数据库系统。Enterprise版本在功能和性能方面较Standard版本更加强大,主要特点包括:
支持实时操作分析
支持高可用性和灾难恢复
支持数据加密和安全性
支持企业级扩展性和性能优化
支持高级数据挖掘和业务智能
不同版本的SQL Server适用于不同的场景和需求,选择合适的版本可以提高数据库管理效率和性能。如果对于小型应用或个人开发来说,Express版本已经足够;对于中小型企业来说,Standard版本是一个不错的选择;对于大型企业级系统来说,Enterprise版本是最佳选择。
MS SQL Server版本的选择
1,企业版(Enterprise Edition),故名思义,它是提供给企业使用的,企业版是一个全面的数据管理和业务智能平台,为关键业务应用提供了企业级的可扩展性、数据仓库、安全、高级分析和报表支持。这一版本将为你提供更加坚固的服务器和执行大规模在线事务处理,注意,企业版一般要安装在服务器版操作系统上.
2,标准版(Standard Edition),是一个完整的数据管理和业务智能平台,为部门级应用提供了最佳的易用性和可管理特性。
3,开发者版(Developer Edition),开发者版允许开发人员构建和测试基于SQL Server的任意类型应用。这一版本拥有所有企业版的特性,但只限于在开发、测试和演示中使用。基于这一版本开发的应用和数据库可以很容易地升级到企业版。注意,开发者版最适合于开发人员使用.
4,工作组版(Workgroup Edition),工作组版是一个值得信赖的数据管理和报表平台,用以实现安全的发布、远程同步和对运行分支应用的管理能力。 这一版本拥有核心的数据库特性,可以很容易地升级到标准版或企业版。
5,Web版,它是针对运行于Windows服务器中要求高可用、面向Internet Web服务的环境而设计。这一版本为实现低成本、大规模、高可用性的Web应用或客户托管解决方案提供了必要的支持工具。
6,简易版(Express Edion),它也是一个免费版本,它拥有核心的数据库功能,其中包括了SQL Server 2008中最新的数据类型,但它是SQL Server的一个微型版本。这一版本是为了学习、创建桌面应用和小型服务器应用而发布的,也可供ISV再发行使用。
以上就是几个常见的SQL Server版本,总结有以下几点:
1,如果是服务器操作系统(如windows server 2003,windows server 2008),一般选择安装企业版(Enterprise Edition).
2,如果是个人,或家庭电脑,操作系统为windows xp,windows 7等,一般选择安装开发者版(Developer Edition)或简易版(Express Edion),简易版只适合于入门学习,后期的话最好是安装开发者版.
SQL Server开发版与企业版功能差异详解
在数据库管理系统中,SQL Server以其强大的功能和灵活性赢得了广泛的认可。为了满足不同用户的需求,SQL Server提供了多个版本,其中开发版(Developer Edition)和企业版(Enterprise Edition)是两种常见的版本。
一、功能完整性
首先,从功能完整性的角度来看,企业版无疑是SQL Server中最全面的版本。它提供了高可用性、备份压缩、高级数据分析、分区等一系列高级功能,非常适合大型企业和数据密集型应用。这些功能确保了企业版在处理复杂业务场景和大规模数据时的高效性和稳定性。
开发版在功能上与企业版保持一致,这意味着开发人员可以在开发版上构建和测试与企业版相同的应用程序。然而,开发版有一个重要的限制:它只能用于开发和测试环境,而不能用于生产环境。这一限制确保了开发版不会在生产环境中引发潜在的风险和问题。
二、许可限制
除了功能完整性外,许可限制也是区分开发版和企业版的重要因素。企业版通常需要根据服务器的CPU数量或核心数量进行授权,这意味着用户需要为使用的每个CPU或核心支付相应的费用。这种授权模式确保了企业版在大型企业和数据密集型应用中的合法性和合规性。
相比之下,开发版的授权模式更加灵活。它通常基于单个开发人员的许可进行授权,而不是基于服务器的CPU数量或核心数量。这使得开发版成为独立软件供应商(ISV)、咨询人员、系统集成商以及解决方案供应商等开发人员的理想选择。他们可以在开发版上自由地构建和测试应用程序,而无需担心高昂的授权费用。
三、适用场景
企业版和开发版的适用场景也有所不同。企业版更适合大型企业和数据密集型应用,这些场景通常需要处理大量的数据和复杂的业务逻辑。企业版的高级功能和稳定性确保了在这些场景下的高效性和可靠性。
开发版则更适合开发人员和学习者。它提供了与企业版相同的功能,但仅限于开发和测试环境。这使得开发版成为学习和实验SQL Server的理想工具。开发人员可以在开发版上自由地构建和测试应用程序,而无需担心对生产环境造成潜在的影响。
四、价格差异
当然,价格也是区分企业版和开发版的一个重要因素。由于企业版提供了更全面的功能和更高的性能要求,因此其价格通常也更高。相比之下,开发版的价格更加亲民,这使得更多的开发人员和学习者能够负担得起并使用它。
五、实际案例
为了更好地理解开发版和企业版之间的差异,我们可以考虑一个实际的案例。假设一个大型电商企业需要构建一个复杂的数据库系统来处理大量的订单数据和客户信息。在这种情况下,企业版将是更好的选择,因为它提供了高级的数据分析功能和稳定性来确保系统的正常运行。
另一方面,如果一个开发人员正在学习SQL Server并希望构建一个简单的应用程序来练习他的技能,那么开发版将是更好的选择。它提供了与企业版相同的功能,但仅限于开发和测试环境,这使得开发人员可以在不担心对生产环境造成潜在影响的情况下自由地构建和测试他的应用程序。
六、产品关联
在SQL Server的开发和测试过程中,千帆大模型开发与服务平台可以作为一个强大的辅助工具。它提供了丰富的开发资源和工具,包括代码编辑器、调试器、版本控制系统等,可以帮助开发人员更加高效地构建和测试SQL Server应用程序。通过与开发版的结合使用,千帆大模型开发与服务平台可以进一步提升开发人员的生产力和代码质量。
七、总结
综上所述,SQL Server开发版和企业版在功能完整性、许可限制、适用场景和价格等方面存在显著的差异。用户需要根据自身的需求和预算来选择合适的版本。对于大型企业和数据密集型应用来说,企业版将是更好的选择;而对于开发人员和学习者来说,开发版则是一个更加经济实惠且功能强大的选择。无论选择哪个版本,用户都应该充分了解其特性和限制,以确保满足自身的需求并避免潜在的风险和问题。
Microsoft SQL Server的最低硬件要求可能会根据不同的版本和使用场景有所不同。以下是SQL Server的一些基本硬件要求,适用于大多数版本:
- 处理器(CPU):
- 至少1.4 GHz 64位(x64)处理器。
- 对于某些工作负载,建议使用更快的处理器或多核处理器。
- 内存(RAM):
- 最小2 GB RAM。
- 对于生产服务器,建议至少8 GB RAM,具体取决于数据库的大小和复杂性。
- 对于大型数据库或高性能需求,可能需要更多的内存。
- 磁盘空间:
- 最小3.5 GB的磁盘空间用于安装SQL Server。
- 实际数据库文件所需的空间取决于数据量,通常需要更多的磁盘空间。
- 建议使用SSD硬盘以获得更好的性能。
- 存储配置:
- 数据文件和日志文件应该放在不同的磁盘上以提高性能。
- 对于大型数据库,建议使用RAID配置以提高数据的可靠性和性能。
- 网络:
- 至少1 GBps的网络适配器,对于高吞吐量的应用,更快的网络适配器更佳。
- 操作系统:
- 需要安装在支持的操作系统上,例如Windows Server、Linux(对于某些SQL Server版本)等。
- 其他:
- 需要一个支持的操作系统环境,如Windows Server Core安装或完整的Windows Server安装。
- 某些SQL Server的功能可能需要额外的硬件资源,例如SQL Server Reporting Services(SSRS)可能需要更多的内存和处理能力。
请注意,这些是基本的最低要求,实际需求可能会根据你的具体使用情况(如数据库大小、并发用户数、查询复杂性等)而变化。对于生产环境,建议根据实际工作负载进行性能测试,以确定合适的硬件配置。此外,随着SQL Server版本的更新,这些要求可能会有所变化,因此最好查看Microsoft官方文档中针对特定版本的最新硬件要求。
sqlserver 安装配置
yum install -y curl wget
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
yum install epel-release -y
安装sqlserver 2019 服务
curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo
yum install -y mssql-server
配置sqlserver
/opt/mssql/bin/mssql-conf setup
systemctl status mssql-server
安装sqlserver客户端工具
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo
yum install -y mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
防火墙加白
firewall-cmd --zone=public --add-port=1433/tcp --permanent
firewall-cmd --reload
测试sqlserver
sqlcmd -S localhost -U sa
SELECT name FROM sys.databases;
go
use tested;
go
docker 容器方式安装
docker run -e "ACCEPT_EULA=Y" \
-e "MSSQL_SA_PASSWORD=YourStrong!Passw0rd" \
-p 1433:1433 \
--name sql_server_container \
-v sql_data:/var/opt/mssql \
-d mcr.microsoft.com/mssql/server:2022-latest
version: '3.3'
services:
sqlserver:
image: mcr.microsoft.com/mssql/server:2022-latest
container_name: mssql-server
restart: always
environment:
- ACCEPT_EULA=Y
- SA_PASSWORD=tangdoudou.123
- MSSQL_SA_PASSWORD=tangdoudou.123
ports:
- 5433:1433
volumes:
- ./sqlserver:/var/opt/mssql
安装执行
docker compose up
使用 sqlcmd 工具连接的示例如下:
docker exec -it sql_server_container /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P "YourStrong!Passw0rd"
查看容器内的 SQL Server 错误日志:
docker exec -t sqlserver01 cat /var/opt/mssql/log/errorlog | grep connection
加密证书配置
openssl req -x509 -nodes -newkey rsa:2048 -subj '/CN=mssql.contoso.com' -keyout mssql.key -out mssql.pem -days 365
sudo chown mssql:mssql mssql.pem mssql.key
sudo chmod 600 mssql.pem mssql.key
#Saving the certificate to the certs folder under /etc/ssl/ which has the following permission 755(drwxr-xr-x)
sudo mv mssql.pem /etc/ssl/certs/ drwxr-xr-x
#Saving the private key to the private folder under /etc/ssl/ with permissions set to 755(drwxr-xr-x)
sudo mv mssql.key /etc/ssl/private/
systemctl stop mssql-server
sudo cat /var/opt/mssql/mssql.conf
sudo /opt/mssql/bin/mssql-conf set network.tlscert /etc/ssl/certs/mssql.pem
sudo /opt/mssql/bin/mssql-conf set network.tlskey /etc/ssl/private/mssql.key
sudo /opt/mssql/bin/mssql-conf set network.tlsprotocols 1.2
sudo /opt/mssql/bin/mssql-conf set network.forceencryption 0
systemctl restart mssql-server