1

Я следовал вместе с:

Установите SQL Server в Red Hat Enterprise Linux

и я столкнулся со следующей ошибкой в части конфигурации:

Setting system administrator (SA) account password...
sqlservr: Error: Directory [/var/system/] could not be created.  Errno [2]
Microsoft(R) SQL Server(R) setup failed with error code 1.
Please check the setup log in /var/opt/mssql/log/setup-20170117-150619.log
for more information.

что, как я уже сказал, я проверил журналы, но к моему ужасу:

[root@vps113437 log]# ls -al
total 0
drwxr-xr-x. 2 mssql mssql 70 Jan 17 15:06 .
drwxrwx---. 5 mssql mssql 79 Jan 17 14:44 ..
-rw-r--r--. 1 mssql mssql  0 Jan 17 14:51 setup-20170117-145127.log
-rw-r--r--. 1 mssql mssql  0 Jan 17 15:06 setup-20170117-150619.log

файлы журнала пусты ...

Понятия не имею, с чего начать ... есть идеи?

Вещи, которые я пробовал:

  • создание /var /system (без изменения ошибки)
  • проверка /var/log/audit/audit.log (также нет записей)

2 ответа2

0

У меня была такая же проблема на моем Centos 7 VPS. В итоге я установил Docker и запустил образ MS SQL.

РЕДАКТИРОВАТЬ: решение Томаса Бака также работает для меня, и я бы порекомендовал пойти на этот вариант. На серверах OVH есть странная ссылка, которая как-то мешает запуску MS SQL ...

В любом случае, если вы все еще хотите запустить MS SQL с Docker, это тоже довольно просто. Чтобы установить Docker:

sudo yum -y install docker docker-registry
sudo systemctl enable docker.service
sudo systemctl start docker.service
sudo systemctl status docker.service

Загрузите и запустите Docker-контейнер MS SQL:

sudo docker pull microsoft/mssql-server-linux
sudo mkdir /var/opt/mssql
sudo docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=YourPassword' -p 1433:1433 -v /var/opt/mssql:/var/opt/mssql -d microsoft/mssql-server-linux

Дополнительная информация: Docker на CentOS 7: https://www.liquidweb.com/kb/how-to-install-docker-on-centos-7/ Образ MS SQL Docker: https://docs.microsoft.com/en -us/ SQL / Linux / SQL-сервер Linux-установка-докер

0

Я только что исправил эту же проблему в новой установке Fedora 25, размещенной на коротком OVH-сервере.

Оказывается, у меня была битая символическая ссылка в /var:

[tom@aaa ~]# ls -la /var
     lrwxrwxrwx.  1 root root    15 Feb  4 12:38 puppet -> /ovh/puppet/var

Удаление этого файла исправило все :-)

Я узнал об этом после того, как ошибка меня так раздражала, я установил strace, предупредил об этом и выполнил команду с ошибкой:

[root@aaa ~]# strace /opt/mssql/bin/sqlservr
               [.....]
stat("/var//lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat("/var//adm", {st_mode=S_IFDIR|0755, st_size=6, ...}) = 0
stat("/var//puppet", 0x7ffe3b405a68)    = -1 ENOENT (No such file or directory)
close(3)                                = 0
futex(0x7f07eae42464, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7f07ea8ed1a0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
write(2, "sqlservr: Error: Directory [/var"..., 75sqlservr: Error: Directory [/var/system/] could not be created.  Errno [2]
) = 75
exit_group(1)                           = ?
+++ exited with 1 +++

Это -1 ENOENT (No such file or directory) вызвало у меня подозрение, и именно поэтому я нашел сломанную символическую ссылку, удалил ее и пошел дальше.

Я надеюсь, что это помогает кому-то еще! :-)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .