Підключення до локального 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.