阿里云 ms sqlserver 云价格太贵?其实 centos 可以自己搭建 ms sqlserver

2022-07-29 09:48:41 +08:00
 ggvm
精打细算的云用户可能都留意到阿里云提供的云数据 mysql 、mssqlserver 等都不是很便宜。尤其对一些读写数据库次数不多客户,是很不划算的。

如果是 mysql 基本大家都会购买一台 linux ECS 搭建,但搭建 ms sqlserver 就不是那么常见了。因为 sqlserver 多数在 windows 上安装,windows 云服务器是更贵的,尤其是 sqlserver 需要 2-4G 内存起步,更加不友好。

这里提供一个信息,微软其实提供了 linux 版本的 ms sqlserver 给 redhat 厂商。

centos 也是 redhat 的一员,在 centos 中安装 ms sqlserver 可以节省一大笔云数据库的费用。

安装过程如下:

1 下载 repo

wget -O /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
2 安装 mssqlserver

yum install -y mssql-server
3 配置

/opt/mssql/bin/mssql-conf setup
安装过程,注意选择合适的版本。

如果你没有 license (废话,都没有),可以选择 express 版本安装。

跟着脚本引导不断下一步,设置了用户名和密码,即可以顺利设置成功 mssqlserver 。

安装过程竟然非常顺畅,安装后代替 windows 版本的 数据库也非常顺利。

如果有问题,可以参考: https://zhuji188.com/493.html
2097 次点击
所在节点    分享发现
24 条回复
killva4624
2022-07-29 10:13:28 +08:00
自己用用没问题,企业用户还是买云实例省心。
buchikoma
2022-07-29 10:40:07 +08:00
低频读写本身就推荐云主机自建,但使用此方法的多半也是 LSA 不敏感的用户
rds 是 paas 层,对于数据敏感型用户还是更省心的选择
ragnaroks
2022-07-29 10:42:44 +08:00
云数据库提供的是容灾和高可用能力,另外 sqlserver express 主动限制资源上限,不具备实际生产能力
dilu
2022-07-29 15:35:27 +08:00
你的视角:一年省下 1w 的数据库费用
老板的视角:一年多花了 30 多 w 招一个程序员
felixcode
2022-07-29 15:51:29 +08:00
CentOS 不是 Redhat 的一员
jfj8848
2022-07-29 18:00:49 +08:00
运维人员这样搞,准备好背锅了吗
ggvm
2022-07-29 20:20:47 +08:00
@ragnaroks
你好,兄弟。

sqlserver express 版主要限制是 data 文件限制 10G 。对于一般普通业务来说已经足够。 更何况可以建立更多数据库。
ggvm
2022-07-29 20:21:10 +08:00
@jfj8848 做好数据备份,怕什么背锅呢?
ggvm
2022-07-29 20:21:30 +08:00
@killva4624 预算足够怎么简单怎么来。
nuhou
2022-07-29 21:51:17 +08:00
微软官方还有 docker 包
ragnaroks
2022-07-29 22:01:59 +08:00
@ggvm 只能使用 100% CPU 和 1 GiB RAM
zx900930
2022-07-30 02:39:57 +08:00
微软官方都有 docker 镜像
mcr.microsoft.com/mssql/server:2019-latest
ggvm
2022-08-01 09:42:52 +08:00
@ragnaroks 并没有看到这个限制,你是哪里看到的?
ggvm
2022-08-01 09:51:10 +08:00
@zx900930 感觉微软是想占领一些“社区版”的群众
ggvm
2022-08-01 12:01:52 +08:00
@ragnaroks 你这个张嘴就来, 没有任何经验。

明明 mssql 内存占用 2G Ram 起,100% CPU 是啥意思? 占满?
ggvm
2022-08-01 12:02:42 +08:00
@felixcode 好吧,你准备咬文嚼字了吗?
ragnaroks
2022-08-01 13:49:03 +08:00
@ggvm
看来你从未订阅过任何正版 sqlserver ,express 的限制在订阅后台下载镜像的地方有提示链接,此外可以参考 https://docs.microsoft.com/zh-cn/sql/sql-server/editions-and-components-of-sql-server-2019 中规模限制章节。

100% 占用指一颗物理处理器上任意单个线程的完全利用,列如 5950x 就是 3200%;上面的文档指示可以使用 1 个插槽或 4 个核心的较小值,对于常见的容器或虚拟机场景来说,就是 100%( 1 核心);实例最大可以使用 1410 MiB 内存用作缓冲池但一定会有其它需要使用内存的东西让缓冲池没这么多内存可用;然而最关键的是生产级功能例如可用性保证、日志、备份都是标准版和企业版才有的功能,如果你的业务可以随时倒闭那么倒是可以用。

张嘴就来的现在是谁呢?
ggvm
2022-08-01 14:46:41 +08:00
@ragnaroks 你说对了,我的确没有在微软 mssqlserver 花过 1 分钱,也没有兴趣了解微软在产品上设置了哪些坑爹特性。 我的方案从来不会考虑 mssqlserver 这种软件。

我说你张嘴就来,是因为你说的只能用到 1G 内存,而我装的 mssqlserver 明明就使用了 2.2G 的物理内存和 14G 的虚拟内存是铁一般的事实。

事实上你对数据库软件的内存和数据库缓冲池内存之间的区别一无所知。就是依赖了微软数据库做了一两个项目就飘了

我之所以分享这个,纯粹是因为系统中有一些设计得比较垃圾的部分依赖了 mssql server ,每个月产生了一笔不菲的费用,出发点是完全想避免掉无谓的支出。

至于备份什么的,我更加相信人为的备份+检查的机制更加胜过依赖系统特性。你所谓的高级特性对于一个有运维的经验的团队根本都不是事。
ragnaroks
2022-08-01 14:55:33 +08:00
@ggvm 你的思想非常正确,请继续保持
ggvm
2022-08-01 15:15:00 +08:00
@ragnaroks 你的确非常能杠,不知道这样做的意义何在

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/869388

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX