数据库
首页 > 数据库> > sql-server – SQL Server 2017 Linux CU1 – MODIFY FILE遇到操作系统错误31

sql-server – SQL Server 2017 Linux CU1 – MODIFY FILE遇到操作系统错误31

作者:互联网

我有一台“VMWare RHEL 7.4”机器,我安装了“SQL Server 2017 Linux CU1”,我创建了一个“Linux Linear Volume”,当我尝试在“Linear Volume”中恢复数据库备份时,请参阅底部的步骤我收到了以下错误.

/ *
Msg 5149,Level 16,State 3,Line 6
在尝试扩展物理文件’/sqldata/mssql_data/defense/defense_Data_01.MDF’时,MODIFY FILE遇到操作系统错误31(连接到系统的设备无法运行.).
Msg 3013,Level 16,State 1,Line 6
RESTORE DATABASE异常终止.
* /

我能够在“/ var / opt / mssql / data”上恢复数据库备份没有任何问题,然后我分离并将数据库移动到“线性卷”并且我能够附加数据库就好了,但是任何操作需要扩展数据文件失败并显示相同的错误消息.

我已经为Oracle和PostgreSQL数据库设置了“Linux Linear Volumes”,它一直都能正常运行.

你见过这个问题吗?这是“SQL Server 2017 Linux CU1”的错误吗?

创建Linux线性卷

> vmware add / dev / sdc disk 100gb
>分区/ dev / sdc和create / dev / sdc1分区为100gb
fdisk / dev / sdc
>创建卷组
vgcreate vgsqldata / dev / sdc1
vgscan
vgdisplay vgsqldata
>逻辑卷
lvcreate -l 25599 vgsqldata -n lvsqldata
lvdisplay -v / dev / vgsqldata / lvsqldata
>格式化音量
mkfs.ext3 / dev / vgsqldata / lvsqldata
>山
mkdir / sqldata
mount -t ext3 / dev / vgsqldata / lvsqldata / sqldata
df -kh
触摸/sqldata/test.txt
ls -la / sqldata
rm -rf /sqldata/test.txt
>坚持坐骑
vi / etc / fstab
–mount逻辑卷
/ dev / vgsqldata / lvsqldata / sqldata ext3默认值为1 1
>改变所有者
chown -R mssql:mssql / sqldata
ls -la /
“drwxr-xr-x.5 mssql mssql 4096 Nov 7 10:43 sqldata”

我们使用“Linux Linear Volumes”的原因是因为以后更容易添加更多空间,只需要添加另一个vmware磁盘,对磁盘进行分区并将新磁盘添加到Linear Volume.

增加Linux线性卷

> vmware add / dev / sdd disk 100gb
>分区/ dev / sdd和create / dev / sdd1分区为100gb
fdisk / dev / sdd
>扩展卷组
vgextend vgsqldata / dev / sdd1
>扩展逻辑卷
lvextend -l 100%FREE / vgsqldata / lvsqldata

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html-single/logical_volume_manager_administration/

我很感激有关此问题的任何反馈.

谢谢,

马塞洛马克斯
OCP高级技术经理
www.esri.com

解决方法:

我弄清楚了这个问题.

问题:不支持EXT3文件系统.

https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup
文件系统XFS或EXT4(其他文件系统,如BTRFS)不受支持

解决方案:创建EXT4文件系统.

>注释安装ext3文件系统的/ etc / fstab中的行

vi / etc / fstab

– 安装逻辑卷

“#/ dev / vgsqldata / lvsqldata / sqldata ext3默认为1 1”

:WQ!

>重新启动服务器

重启

>检查文件系统是否未安装

df -kh

>检查线性音量

vgscan

vgdisplay vgsqldata

lvdisplay -v / dev / vgsqldata / lvsqldata

>将音量格式化为ext4

mkfs.ext4 / dev / vgsqldata / lvsqldata

>山

mkdir / sqldata

mount -t ext4 / dev / vgsqldata / lvsqldata / sqldata

df -kh

触摸/sqldata/test.txt

ls -la / sqldata

rm -rf /sqldata/test.txt

>坚持坐骑

vi / etc / fstab

– 安装逻辑卷

/ dev / vgsqldata / lvsqldata / sqldata ext4默认值为1 1

>改变所有者

chown -R mssql:mssql / sqldata

ls -la /

“drwxr-xr-x.5 mssql mssql 4096 Nov 7 10:43 sqldata”

标签:sql-server-2017,sql-server,linux
来源: https://codeday.me/bug/20190806/1602765.html