如何在Ubuntu系统的独立数据磁盘上创建MSSQL数据库
解决Ubuntu 18.04上MSSQL 2017数据磁盘在SSMS中不可见的问题
核心原因
SSMS的图形界面目录浏览器默认适配Windows路径逻辑,无法识别Linux系统的磁盘挂载点,因此需要通过命令行配置权限+T-SQL脚本创建数据库,或手动指定Linux路径。
操作步骤
确认数据磁盘挂载与权限配置
- 登录Ubuntu服务器,执行
lsblk查看数据磁盘的挂载点(例如/mnt/data) - 赋予MSSQL用户对挂载点的读写权限:
sudo chown -R mssql:mssql /mnt/data sudo chmod -R 755 /mnt/data - 验证权限:执行
sudo -u mssql touch /mnt/data/test_perm,若能创建文件则权限正常,可删除测试文件rm /mnt/data/test_perm
- 登录Ubuntu服务器,执行
通过T-SQL创建数据库(推荐)
在SSMS中连接服务器后,新建查询窗口,执行以下脚本(替换路径为你的挂载点):CREATE DATABASE YourNewDB ON PRIMARY ( NAME = YourNewDB_Data, FILENAME = '/mnt/data/YourNewDB.mdf', SIZE = 10MB, MAXSIZE = 50MB, FILEGROWTH = 5MB ) LOG ON ( NAME = YourNewDB_Log, FILENAME = '/mnt/data/YourNewDB.ldf', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB ); GOSSMS图形界面创建(可选)
若使用SSMS的“新建数据库”向导:- 在“文件”选项卡中点击“添加”,手动在“文件名”栏输入Linux绝对路径(如
/mnt/data/YourDB.mdf),不要使用“浏览”按钮(仅显示Windows本地或MSSQL默认路径)
- 在“文件”选项卡中点击“添加”,手动在“文件名”栏输入Linux绝对路径(如
额外注意
- 修改
/etc/fstab配置数据磁盘的持久化挂载,避免服务器重启后挂载失效导致数据库无法访问 - 确保MSSQL服务重启后权限仍生效,可执行
sudo systemctl restart mssql-server后再次验证路径访问
内容的提问来源于stack exchange,提问作者masiton
相关产品推荐
相关产品推荐

