MSSQL: различия между версиями
Нет описания правки |
м (+{{epm}}) |
||
(не показано 28 промежуточных версий 4 участников) | |||
Строка 1: | Строка 1: | ||
{{epm|mssql-server mssql-tools}} | |||
<!-- | |||
= Установка 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, пригодный для тестирования в тестовый период. | ||
Строка 9: | Строка 10: | ||
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 есть вспомогательные скрипты. | ||
Строка 22: | Строка 23: | ||
# /opt/mssql/lib/mssql-conf/invokesqlservr.sh | # /opt/mssql/lib/mssql-conf/invokesqlservr.sh | ||
--> | --> | ||
= Установка MS SQL с помощью EPM = | |||
# epm play mssql-server | |||
# epm play mssql-tools | |||
= Установка сервера MSSQL на Альт Сервер 8 = | |||
1. Скачайте демо-версию с https://packages.microsoft.com/rhel/7/mssql-server-2019/ (пакет {{pkg|mssql-server-15.0.2000.5-5.x86_64.rpm}}; может быть более новый) | |||
2. Установите необходимые зависимости: | |||
apt-get install eepm | |||
3. Пересоберите под Альт: | |||
epm repack mssql-server-15.0.2000.5-5.x86_64.rpm | |||
4. Установите: | |||
epm install mssql-server-15.0.2000.5-alt1.repacked.with.epm.6.x86_64.rpm | |||
5. Создайте пользователя: | |||
useradd mssql | |||
6. Создайте рабочий каталог для сервера: | |||
mkdir -p /var/opt/mssql | |||
chown mssql:mssql /var/opt/mssql | |||
7. Пропишите автоматический запуск службы: | |||
systemctl enable mssql-server | |||
8. Пройдите мастер первоначального конфигурирования: | |||
/opt/mssql/bin/mssql-conf setup | |||
SQL Server будет запущен. | |||
9. Проверьте подключение: | |||
/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P'Pa$$word' -Q 'sp_databases' | |||
Можно делать это с другой машины и из другой программы, например, из Management Studio. | |||
Если SQL Server отвергает все попытки подключения с ошибкой "Error code 0x2746": | |||
apt-get install libssl10 | |||
systemctl stop mssql-server | |||
systemctl edit mssql-server | |||
В открывшемся редакторе ввести это и сохранить: | |||
[Service] | |||
Environment="LD_LIBRARY_PATH=/opt/mssql/lib" | |||
Создать ссылки на библиотеки, которые будет использовать SQL Server, и запустить его: | |||
ln -s /lib64/libssl.so.1.0.2r /opt/mssql/lib/libssl.so | |||
ln -s /lib64/libcrypto.so.1.0.2r /opt/mssql/lib/libcrypto.so | |||
systemctl start mssql-server | |||
= Установка полнотекстового поиска = | |||
После установки основного пакета 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}}}} | {{Category navigation|title=ПО уровня предприятия|category=Enterprise Software|sortkey={{SUBPAGENAME}}}} | ||
[[Категория:Admin]] | [[Категория:Admin]] |
Текущая версия от 15:26, 20 января 2024
Установка MS SQL с помощью EPM
# epm play mssql-server # epm play mssql-tools
Установка сервера MSSQL на Альт Сервер 8
1. Скачайте демо-версию с https://packages.microsoft.com/rhel/7/mssql-server-2019/ (пакет mssql-server-15.0.2000.5-5.x86_64.rpm; может быть более новый)
2. Установите необходимые зависимости:
apt-get install eepm
3. Пересоберите под Альт:
epm repack mssql-server-15.0.2000.5-5.x86_64.rpm
4. Установите:
epm install mssql-server-15.0.2000.5-alt1.repacked.with.epm.6.x86_64.rpm
5. Создайте пользователя:
useradd mssql
6. Создайте рабочий каталог для сервера:
mkdir -p /var/opt/mssql chown mssql:mssql /var/opt/mssql
7. Пропишите автоматический запуск службы:
systemctl enable mssql-server
8. Пройдите мастер первоначального конфигурирования:
/opt/mssql/bin/mssql-conf setup
SQL Server будет запущен.
9. Проверьте подключение:
/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P'Pa$$word' -Q 'sp_databases'
Можно делать это с другой машины и из другой программы, например, из Management Studio.
Если SQL Server отвергает все попытки подключения с ошибкой "Error code 0x2746":
apt-get install libssl10 systemctl stop mssql-server systemctl edit mssql-server
В открывшемся редакторе ввести это и сохранить:
[Service] Environment="LD_LIBRARY_PATH=/opt/mssql/lib"
Создать ссылки на библиотеки, которые будет использовать SQL Server, и запустить его:
ln -s /lib64/libssl.so.1.0.2r /opt/mssql/lib/libssl.so ln -s /lib64/libcrypto.so.1.0.2r /opt/mssql/lib/libcrypto.so systemctl start mssql-server
Установка полнотекстового поиска
После установки основного пакета 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
Установка драйвера 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
3. Укажите имя пользователя и то, что требуется пароль для подключения.
4. Сохраните базу данных LibreOffice Base в виде файла и можете работать на сервере MSSQL: