MSSQL: различия между версиями

Материал из ALT Linux Wiki
(Новая страница: « Установка Microsoft SQL server 2017 на ALT Linux. [https://www.microsoft.com/ru-ru/sql-server/sql-server-2017 Здесь] можно скачать r…»)
 
Нет описания правки
(не показано 27 промежуточных версий 4 участников)
Строка 1: Строка 1:
 
<!--
Установка Microsoft SQL server 2017 на ALT Linux.
= Установка Microsoft SQL server 2017 на ALT Linux =


[https://www.microsoft.com/ru-ru/sql-server/sql-server-2017 Здесь] можно скачать rpm-пакет наподобие mssql-server-14.0.800.90-2.x86_64.rpm, пригодный для тестирования в тестовый период.
[https://www.microsoft.com/ru-ru/sql-server/sql-server-2017 Здесь] можно скачать rpm-пакет наподобие mssql-server-14.0.800.90-2.x86_64.rpm, пригодный для тестирования в тестовый период.


Напрямую для установки он не пригоден, потому что пакет имеет зависимости от другой системы.
Просто установить его невозможно, потому что пакет имеет зависимости от другой системы. Обратите внимание, что лицензия запрещает распространение перепакованного пакета.


С помощью
С помощью
  epm install --repack mssql-server-14.0.800.90-2.x86_64.rpm
  epm install --repack mssql-server-14.0.800.90-2.x86_64.rpm
можно установить пакет: он будет перепакован в rpm для целевой системы и установлен.
можно установить пакет: он будет перепакован в rpm для целевой системы и установлен.


После установки пакета выполните для настройки сервера
После установки пакета выполните для настройки сервера
# /opt/mssql/bin/mssql-conf setup
# /opt/mssql/bin/mssql-conf setup
-->
<!--
<!--
В каталоге /opt/mssql/lib/mssql-conf есть вспомогательные скрипты.
В каталоге /opt/mssql/lib/mssql-conf есть вспомогательные скрипты.
Строка 23: Строка 23:
-->
-->


[[Категория:Администрирование]]
= Установка сервера MSSQL на Альт Сервер 8 =
 
1. Скачайте демо-версию с https://packages.microsoft.com/sles/12/mssql-server-preview/ (пакет {{pkg|mssql-server-15.0.1600.8-1.x86_64.rpm}}; может быть более новый)
 
2. Установите необходимые зависимости:
apt-get install eepm cyrus-sasl2 libsasl2-plugin-gssapi libsss_nss_idmap pbzip2 libnuma
 
3. Пересоберите под Альт:
epm repack mssql-server-15.0.1400.75-4.x86_64.rpm
 
4. Установите:
epm install mssql-server-15.0.1400.75-alt1.repacked.with.epm.5.x86_64.rpm
 
Если {{altbug|35561}} ещё не исправлен, потребуется собрать пакет-заглушку для /bin/sysctl. Для этого можно взять пример spec-файла из {{altbug|35559}}и собрать и установить пакет (пакет должен оказаться в ~/RPM/RPMS/noarch; помните, что сборка пакетов в ALT Linux выполняется от имени обычного пользователя):
 
rpm -bb bin-sysctl.spec
rpm -Uvh bin-sysctl-0.1-alt1.noarch.rpm
 
5. Создайте пользователя:
useradd mssql
 
6. Создайте рабочий каталог для сервера:
mkdir -p /var/opt/mssql
chown mssql:mssql /var/opt/mssql
 
7. Пропишите автоматический запуск службы и запустите её
systemctl enable mssql-server
systemctl start mssql-server
 
8. После установки пакета выполните для настройки сервера
/opt/mssql/bin/mssql-conf setup
 
= Установка полнотекстового поиска =
После установки основного пакета MS SQL, но до п. 8 (настройки сервера) установите аналогичным образом пакет msqsql-server-fts:
1. Скачайте пакет с https://packages.microsoft.com/sles/12/mssql-server-preview/ {{pkg|mssql-server-fts-15.0.1600.8-1.x86_64.rpm}}
 
2. Пересоберите под Альт:
epm repack mssql-server-fts-15.0.1600.8-1.x86_64.rpm
 
3. Установите:
epm install mssql-server-fts-15.0.1600.8-alt1.repacked.with.epm.8.x86_64.rpm
 
 
= Установка драйвера ODBC к MSSQL =
 
Драйвер требуется как для работы sqlcmd из mssql-tools, так и для других приложений. Ставится в месте установки приложений.
 
1. Установить необходимое программное обеспечение для установки и работы:
apt-get install eepm wget lftp unixODBC
 
2. Скачать последнюю сборку msodbcsql17 для SUSE (версия для rhel работает, но имеет проблемы с зависимостями в ALT):
wget "$(lftp -e 'ls;quit' https://packages.microsoft.com/sles/12/prod/ | awk '/msodbcsql17/ {a=$5} END {print "https://packages.microsoft.com/sles/12/prod/" a}')"
 
3. Установить с переупаковкой:
epm install --repack msodbcsql17-*-1.x86_64.rpm
 
4. Прописать символические ссылки на libssl и libcrypto (нужные имена файлов видно в выводе epm repack):
ln -s /lib64/libssl.so.10 /lib64/libssl.so.1.0.0
ln -s /lib64/libcrypto.so.10 /lib64/libcrypto.so.1.0.0
 
если изменится способ загрузки библиотек, вероятно потребуется выполнить ldconfig
 
5. Прописать как драйвер ODBC:
odbcinst -i -d -f /opt/microsoft/msodbcsql17/etc/odbcinst.ini &>/dev/null
 
Проверка установки:
<source lang="text"># odbcinst -q -d
[PostgreSQL]
[MySQL]
[ODBC Driver 17 for SQL Server]</source>
 
= Установка mssql-tools =
 
Уже должны быть установлены unixODBC и сопутствующие установке msodbcsql17 пакеты.
 
1. Скачать последнюю сборку mssql-tools для SUSE:
wget "$(lftp -e 'ls;quit' https://packages.microsoft.com/sles/12/prod/ | awk '/mssql-tools/ {a=$5} END {print "https://packages.microsoft.com/sles/12/prod/" a}')"
 
2. перепаковать:
epm repack mssql-tools-*-1.x86_64.rpm
 
3. Установить:
rpm -Uvh mssql-tools-*repacked.with.epm.*.x86_64.rpm
 
= Работа с СУБД посредством mssql-tools =
 
В примере используется подстановка: sa — суперпользователь, Pa$$word — пароль администратора, который указали при {{cmd|mssql-conf setup}}
 
Создание базы данных:
/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P'Pa$$word' -Q 'create database test'
 
Просмотр доступных баз данных:
/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P'Pa$$word' -Q 'sp_databases'
 
= Настройка драйвера ODBC для доступа к базе =
 
Драйвер уже должен быть установлен так, как написано ранее. Пример для базы test на сервере с IP 10.4.4.26.
 
Конфигурируем источник. Для этого создаём файл {{path|/etc/odbc.ini}} (или добавляем в него секцию):
<source lang="ini">
[MSSQLServer]
Driver = ODBC Driver 17 for SQL Server
Description = Test database on MSSQL Server on Linux
Trace = No
Server = 10.4.4.26
Port = 1433
TDS version = 0.95
Database = test</source>
 
Проверка источника:
{|class="standard"
!Значение
!Описание
|-
|{{term|MSSQLServer}}||Имя секции источника, прописанного в {{path|/etc/odbc.ini}}
|-
|{{term|sa}}||Имя пользователя
|-
|{{term|Pa$$word}}||Пароль пользователя
|}
 
<source lang="text" highlight="1"># echo 'SELECT name FROM sys.databases' | isql MSSQLServer sa 'Pa$$word' -b
+---------------------------------------------------------------------------------------------------------------------------------+
| name                                                                                                                            |
+---------------------------------------------------------------------------------------------------------------------------------+
| master                                                                                                                          |
| tempdb                                                                                                                          |
| model                                                                                                                          |
| msdb                                                                                                                            |
| test                                                                                                                            |
+---------------------------------------------------------------------------------------------------------------------------------+
SQLRowCount returns 0
5 rows fetched</source>
 
{{Attention|Не тестируйте подключение при входе по паролю к базе данных в мастере создания базы данных LibreOffice Base. Это приводит к зависанию LibreOffice Base.}}
 
= Установка драйвера JDBC к MSSQL =
 
1. Загрузите драйвер JDBC с сайта Microsoft по ссылке: https://www.microsoft.com/ru-RU/download/details.aspx?id=57175
 
Выбирайте загрузку {{path|sqljdbc_7.0.0.0_rus.tar.gz}}
 
2. Распакуйте файл jar из загруженного архива:
tar xf sqljdbc_7.0.0.0_rus.tar.gz sqljdbc_7.0/rus/mssql-jdbc-7.0.0.jre8.jar
cp sqljdbc_7.0/rus/mssql-jdbc-7.0.0.jre8.jar /usr/share/java
 
= Пример использования JDBC/MSSQL в LibreOffice Base =
 
Действия выполняются из-под обычного пользователя, пользователем же и могут быть выполнены.
 
1. Откройте LibreOffice Writer и добавьте класс {{path|/usr/share/java/mssql-jdbc-7.0.0.jre8.jar}} по аналогичной методике, как описано в статье [[Microsoft Access]]. Перезапустите LibreOffice.
 
2. Запустите LibreOffice Base, выберите подключение к базе данных через JDBC и заполните поля источника и драйвера:
;URL источника данных (подключаемся к серверу 10.4.4.26, порт стандартный, база данных test)
:<pre>sqlserver://10.4.4.26:1433;database=test</pre>
;Класс драйвера JDBC
:<pre>com.microsoft.sqlserver.jdbc.SQLServerDriver</pre>
 
{{Note|Указание базы данных через / (как в подсказке) не работает. [[https://docs.microsoft.com/ru-ru/sql/connect/jdbc/step-3-proof-of-concept-connecting-to-sql-using-java?view=sql-server-2017 пример на сайте Microsoft]].}}
 
[[Изображение:LibreOffice-MSSQL-JDBC.png]]
 
3. Укажите имя пользователя и то, что требуется пароль для подключения.
 
4. Сохраните базу данных LibreOffice Base в виде файла и можете работать на сервере MSSQL:
 
[[Изображение:LibreOffice-MSSQL-Connected.png]]
 
{{Category navigation|title=ПО уровня предприятия|category=Enterprise Software|sortkey={{SUBPAGENAME}}}}
[[Категория:Admin]]

Версия от 11:58, 28 мая 2019


Установка сервера MSSQL на Альт Сервер 8

1. Скачайте демо-версию с https://packages.microsoft.com/sles/12/mssql-server-preview/ (пакет mssql-server-15.0.1600.8-1.x86_64.rpm; может быть более новый)

2. Установите необходимые зависимости:

apt-get install eepm cyrus-sasl2 libsasl2-plugin-gssapi libsss_nss_idmap pbzip2 libnuma

3. Пересоберите под Альт:

epm repack mssql-server-15.0.1400.75-4.x86_64.rpm

4. Установите:

epm install mssql-server-15.0.1400.75-alt1.repacked.with.epm.5.x86_64.rpm

Если altbug #35561 ещё не исправлен, потребуется собрать пакет-заглушку для /bin/sysctl. Для этого можно взять пример spec-файла из altbug #35559и собрать и установить пакет (пакет должен оказаться в ~/RPM/RPMS/noarch; помните, что сборка пакетов в ALT Linux выполняется от имени обычного пользователя):

rpm -bb bin-sysctl.spec
rpm -Uvh bin-sysctl-0.1-alt1.noarch.rpm

5. Создайте пользователя:

useradd mssql

6. Создайте рабочий каталог для сервера:

mkdir -p /var/opt/mssql
chown mssql:mssql /var/opt/mssql

7. Пропишите автоматический запуск службы и запустите её

systemctl enable mssql-server
systemctl start mssql-server

8. После установки пакета выполните для настройки сервера

/opt/mssql/bin/mssql-conf setup

Установка полнотекстового поиска

После установки основного пакета MS SQL, но до п. 8 (настройки сервера) установите аналогичным образом пакет msqsql-server-fts: 1. Скачайте пакет с https://packages.microsoft.com/sles/12/mssql-server-preview/ mssql-server-fts-15.0.1600.8-1.x86_64.rpm

2. Пересоберите под Альт:

epm repack mssql-server-fts-15.0.1600.8-1.x86_64.rpm

3. Установите:

epm install mssql-server-fts-15.0.1600.8-alt1.repacked.with.epm.8.x86_64.rpm


Установка драйвера ODBC к MSSQL

Драйвер требуется как для работы sqlcmd из mssql-tools, так и для других приложений. Ставится в месте установки приложений.

1. Установить необходимое программное обеспечение для установки и работы:

apt-get install eepm wget lftp unixODBC

2. Скачать последнюю сборку msodbcsql17 для SUSE (версия для rhel работает, но имеет проблемы с зависимостями в ALT):

wget "$(lftp -e 'ls;quit' https://packages.microsoft.com/sles/12/prod/ | awk '/msodbcsql17/ {a=$5} END {print "https://packages.microsoft.com/sles/12/prod/" a}')"

3. Установить с переупаковкой:

epm install --repack msodbcsql17-*-1.x86_64.rpm

4. Прописать символические ссылки на libssl и libcrypto (нужные имена файлов видно в выводе epm repack):

ln -s /lib64/libssl.so.10 /lib64/libssl.so.1.0.0
ln -s /lib64/libcrypto.so.10 /lib64/libcrypto.so.1.0.0

если изменится способ загрузки библиотек, вероятно потребуется выполнить ldconfig

5. Прописать как драйвер ODBC:

odbcinst -i -d -f /opt/microsoft/msodbcsql17/etc/odbcinst.ini &>/dev/null

Проверка установки:

# odbcinst -q -d
[PostgreSQL]
[MySQL]
[ODBC Driver 17 for SQL Server]

Установка mssql-tools

Уже должны быть установлены unixODBC и сопутствующие установке msodbcsql17 пакеты.

1. Скачать последнюю сборку mssql-tools для SUSE:

wget "$(lftp -e 'ls;quit' https://packages.microsoft.com/sles/12/prod/ | awk '/mssql-tools/ {a=$5} END {print "https://packages.microsoft.com/sles/12/prod/" a}')"

2. перепаковать:

epm repack mssql-tools-*-1.x86_64.rpm

3. Установить:

rpm -Uvh mssql-tools-*repacked.with.epm.*.x86_64.rpm

Работа с СУБД посредством mssql-tools

В примере используется подстановка: sa — суперпользователь, Pa$$word — пароль администратора, который указали при mssql-conf setup

Создание базы данных:

/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P'Pa$$word' -Q 'create database test'

Просмотр доступных баз данных:

/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P'Pa$$word' -Q 'sp_databases'

Настройка драйвера ODBC для доступа к базе

Драйвер уже должен быть установлен так, как написано ранее. Пример для базы test на сервере с IP 10.4.4.26.

Конфигурируем источник. Для этого создаём файл /etc/odbc.ini (или добавляем в него секцию):

[MSSQLServer]
Driver = ODBC Driver 17 for SQL Server
Description = Test database on MSSQL Server on Linux
Trace = No
Server = 10.4.4.26
Port = 1433
TDS version = 0.95
Database = test

Проверка источника:

Значение Описание
MSSQLServer Имя секции источника, прописанного в /etc/odbc.ini
sa Имя пользователя
Pa$$word Пароль пользователя
# echo 'SELECT name FROM sys.databases' | isql MSSQLServer sa 'Pa$$word' -b
+---------------------------------------------------------------------------------------------------------------------------------+
| name                                                                                                                            |
+---------------------------------------------------------------------------------------------------------------------------------+
| master                                                                                                                          |
| tempdb                                                                                                                          |
| model                                                                                                                           |
| msdb                                                                                                                            |
| test                                                                                                                            |
+---------------------------------------------------------------------------------------------------------------------------------+
SQLRowCount returns 0
5 rows fetched
Внимание! Не тестируйте подключение при входе по паролю к базе данных в мастере создания базы данных LibreOffice Base. Это приводит к зависанию LibreOffice Base.


Установка драйвера JDBC к MSSQL

1. Загрузите драйвер JDBC с сайта Microsoft по ссылке: https://www.microsoft.com/ru-RU/download/details.aspx?id=57175

Выбирайте загрузку sqljdbc_7.0.0.0_rus.tar.gz

2. Распакуйте файл jar из загруженного архива:

tar xf sqljdbc_7.0.0.0_rus.tar.gz sqljdbc_7.0/rus/mssql-jdbc-7.0.0.jre8.jar
cp sqljdbc_7.0/rus/mssql-jdbc-7.0.0.jre8.jar /usr/share/java

Пример использования JDBC/MSSQL в LibreOffice Base

Действия выполняются из-под обычного пользователя, пользователем же и могут быть выполнены.

1. Откройте LibreOffice Writer и добавьте класс /usr/share/java/mssql-jdbc-7.0.0.jre8.jar по аналогичной методике, как описано в статье Microsoft Access. Перезапустите LibreOffice.

2. Запустите LibreOffice Base, выберите подключение к базе данных через JDBC и заполните поля источника и драйвера:

URL источника данных (подключаемся к серверу 10.4.4.26, порт стандартный, база данных test)
sqlserver://10.4.4.26:1433;database=test
Класс драйвера JDBC
com.microsoft.sqlserver.jdbc.SQLServerDriver
Примечание: Указание базы данных через / (как в подсказке) не работает. [пример на сайте Microsoft].


LibreOffice-MSSQL-JDBC.png

3. Укажите имя пользователя и то, что требуется пароль для подключения.

4. Сохраните базу данных LibreOffice Base в виде файла и можете работать на сервере MSSQL:

LibreOffice-MSSQL-Connected.png