Підключення до локального MS SQL Server від клієнтського інтерфейсу


11

Я дуже новачок у серверах SQL та баз даних. Нещодавно я використовував SQL Server Express і звертався до моєї бази даних за допомогою студії управління SQL Server в Windows. Зараз я намагаюся досягти подібних налаштувань на машині Linux.

Я хотів би створити локальний екземпляр SQL Server на машині, а потім використовувати SQLectron як клієнт GUI для запиту моєї бази даних. Я використовую Manjaro Linux і тому встановлюю свої пакети з AUR.

До сих пір я встановив mssql-server, mssql-toolsі sqlectron-gui. Я запустив sudo /opt/mssql/bin/mssql-conf setupкоманду для того, щоб (я вважаю) налаштувати локальний сервер. Після цього запуск команди systemctl status mssql-serverповертає це:

[kev @ XPS-Manjaro ~] $ systemctl статус mssql-сервер
● mssql-server.service - двигун бази даних Microsoft SQL Server
Завантажено: завантажено (/usr/lib/systemd/system/mssql-server.service; увімкнено; попередньо встановлений постачальник: вимкнено)
Активний: активний (працює) з ср. 2017-08-23 13:43:49 IST; 2 год. 42 хв. Тому
    Документи: https://docs.microsoft.com/en-us/sql/linux
Основний PID: 9130 (sqlservr)
    Завдання: 165
CGroup: /system.slice/mssql-server.service
        ├─9130 / opt / mssql / bin / sqlservr
        └─9144 / opt / mssql / bin / sqlservr

23 серпня 13:43:52 XPS-Manjaro sqlservr [9130]: [Дані про 145BB]
23 серпня 13:43:52 XPS-Manjaro sqlservr [9130]: [дані про блокування 66B]
23 серпня 13:43:52 XPS-Manjaro sqlservr [9130]: [дані про 96BB]
23 серпня 13:43:52 XPS-Manjaro sqlservr [9130]: [дані про 100BB]
23 серпня 13:43:52 XPS-Manjaro sqlservr [9130]: [71B data blob]
23 серпня 13:43:52 XPS-Manjaro sqlservr [9130]: [дані 124BB]
23 серпня 13:49:03 XPS-Manjaro sqlservr [9130]: [156B дані про блоб]
23 серпня 13:49:03 XPS-Manjaro sqlservr [9130]: [Дані про 194BB]
23 серпня 13:52:31 XPS-Manjaro sqlservr [9130]: [дані про блокування 74B]
23 серпня 13:52:31 XPS-Manjaro sqlservr [9130]: [Дані про блокування 199B]

Зараз я намагаюся створити локальне з'єднання зі своїм сервером через SQLectron на наступному екрані:

введіть тут опис зображення

Оскільки у мене дуже мало досвіду роботи з серверами SQL, я повністю втрачаю те, де отримати всі ці облікові дані для підключення до мого локального сервера. Єдиний, про який я знаю - це пароль, який я встановив у sudo /opt/mssql/bin/mssql-conf setupкоманді.

Як знайти ім'я сервера, адресу хоста (127.0.0.1?), Порт, домен, шлях сокета Unix та ім’я користувача?


Я працював тільки з SQL Server у Windows, але якщо деякі терміни допоможуть: ім'я буде ім'ям сервера (та екземпляром, якщо потрібно); з того, що ви говорите, addressяк 127.0.0.1` має працювати; portповинні були бути встановлені під час налаштування сервера (за замовчуванням зазвичай це 1433); userбуде ім'я користувача ви хочете , щоб увійти в (ймовірно , може бути обліковий запис користувача Linux, або обліковий запис SQL Server (наприклад sa) і passwordпароль для цього облікового запису. Databaseі Schemaбуде базою даних за замовчуванням і схеми ви б підключитися до, спробувати masterі порожній, або masterі dbo.
— RDFozz

Відповіді:


7

Якщо ви користуєтесь графічним інтерфейсом на тій же машині, що і сервіс mssql-сервера, тоді ви можете використовувати localhost для адреси (127.0.0.1). Якщо ви запускаєте GUI з іншої робочої станції, вам знадобиться IPv4-адреса машини, на якій працює сервер mssql-сервера. Ви можете отримати це, запустивши ifconfigз підказки термінал Linux. Вибірка з ifconfig:

eth0: прапори = 4163 mtu 1500
        ефір 00: 15: 5d: 89: 45: 01 txqueuelen 1000 (Ethernet)
        RX-пакети 423 байти 137827 (134,5 KiB)
        Похибки RX 0 впали 0 перевищення 0 кадр 0
        TX-пакети 0 байт 0 (0,0 B)
        Похибки TX 0 впали 0 перевитрати 0 перевізник 0 зіткнення 0

eth1: прапори = 4163 mtu 1500
        інет 192.168.200.11 мережева маска 255.255.255.0 мовлення 192.168.200.255
        inet6 fe80 :: 2f70: 9d15: 8e7d: 16cb префіксен 64 діапазон 0x20
        ефір 00: 15: 5d: 89: 45: 04 txqueuelen 1000 (Ethernet)
        Пакети RX 20138 байт 2006000 (1,9 МБ)
        Похибки RX 0 впали 0 перевищення 0 кадр 0
        Пакети TX 19756 байт 30125657 (28,7 МіБ)
        Похибки TX 0 впали 0 перевитрати 0 перевізник 0 зіткнення 0

lo: прапори = 73 mtu 65536
        inet 127.0.0.1 маска мережі 255.0.0.0
        inet6 :: 1 префікс. 128 області 0x10
        петля txqueuelen 1 (локальна петля)
        RX пакети 3239 байт 361340 (352,8 KiB)
        Похибки RX 0 впали 0 перевищення 0 кадр 0
        TX-пакети 3239 байт 361340 (352,8 KiB)
        Похибки TX 0 впали 0 перевитрати 0 перевізник 0 зіткнення 0

У висновку вище, важливим бітом є адреса "inet", яка в моєму випадку - 192.168.200.11.

Порт за замовчуванням для SQL Server становить 1433 - якщо ви не вибрали інший порт у mssql-conf, використовуйте цей номер порту. Переконайтесь, що брандмауер у вікні Linux дозволяє зовнішні з'єднання через 1433, якщо ви збираєтесь підключитися до SQL Server через мережу.

Використовуйте saяк логін, так і пароль, вказаний під час налаштування SQL Server за допомогою sudo /opt/mssql/bin/mssql-conf setupкоманди.

Я залишив би путь домену та unix пустим.

Після підключення до примірника, можливо, ви захочете налаштувати не-sa. Зробіть це із CREATE LOGINзаявою .

Просто FYI, ви можете використовувати студію управління SQL Server для підключення до SQL Server в Linux, якщо це ваше бажання.


Що стосується вашого FYI, як я можу отримати інтерфейс SSMS на Linux? Я встановив і те, mssql-serverі інше mssql-tools, що, здається, не має будь-якого додатку GUI або нічого встановленого стосовно SSMS. Оскільки я найбільше знайомий із SSMS, я вважаю за краще продовжувати його використовувати, але не думаю, що він доступний в Linux.
— KOB

о, ні, я мав на увазі, що ви можете запустити SSMS на робочій станції Windows і підключити її до SQL Server в Linux.
— Макс Вернон

Ой гаразд, я так і думав. Ні, я просто експериментую і хотів би, щоб все працювало з моєї машини Linux.
— KOB

Останнє слідування далі: Якщо я зараз хотів отримати доступ до своєї бази даних із сценарію Python, мені просто потрібно налаштувати мій обліковий запис, який ви не згадували, як ви згадували, а потім встановити якийсь драйвер? Я використовував драйвер ODBC під час роботи в Windows. У своєму сценарії Pyton в Windows я отримав своє ім’я сервера для двигуна підключення від SSMS, який був у формі CPX-9GL9XXXXXXX\SQLEXPRESS. Як я можу знайти таке еквівалентне ім’я сервера, не маючи доступу до SSMS?
— KOB

Браузер SQL Server використовується для пошуку екземплярів SQL Server, не знаючи заздалегідь номер порту ... так що для CPX-9GL9XXXXXXX\SQLEXPRESS-> SQLEXPRESSце ім'я екземпляра , яке було б переведено службою браузера SQL Server у номер порту. На жаль, браузер SQL Server ще не підтримується в Linux , тому вам потрібно знати номер порту, який за замовчуванням становить 1433.
— Макс Вернон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.