Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Отладка T-SQL в MS SQL Server 2019 Express Edition на CentOS 8 / 17 сообщений из 17, страница 1 из 1
26.04.2020, 15:46
    #39951702
Harlan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка T-SQL в MS SQL Server 2019 Express Edition на CentOS 8
Желаю всем не болеть!

Имеется MS SQL Server 2019 Express Edition установленный на CentOS 8 (имя машины sql4dev). В файрволле открыт порт 1433/tcp
На другой машине запущена VS2019 Professional. Создаю запрос "EXEC MyProcedure", нажимаю [Ctrl+Shift+E] (Выполнить) и получаю результат.
Нажимаю [Alt+F5] (выполнить с отладчиком) и получаю ляпуху "Не удалось запустить отладчик. Было сформировано исключение: "Неопределенные данные. Этот метод или свойство не может вызываться для значений равных null.". Нажимаю "ОК" и получаю следующую ляпуху: "Не удается запустить программу "MSSQL:://sql4dev/?/sys/=0". Неподдерживаемая операция. Неизвестная ошибка: 0x80004005."

Все микрософтовские рекомендации посвященные удалённой отладке и настройке для работы отладчика касаются виндов. Тем не менее информация, что на линуксовой версии отладка невозможна, отсутствует.

В связи с этим вопросы:
1. Возможна ли отладка на SQL Server for Linux в принципе?
2. Кому-нибудь удавалось включить удалённую отладку на этом звере?
3. Счастливчики, ответившие положительно на второй вопрос, поделитесь, пожалуйста, опытом?

--
А баги ползали и нагло шевелили усами... (с) Не моё.
...
Рейтинг: 0 / 0
27.04.2020, 08:37
    #39951833
Ennor Tiegael
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка T-SQL в MS SQL Server 2019 Express Edition на CentOS 8
Harlan
Express Edition
По умолчанию эта редакция SQL Server не принимает сетевые подключения. Порт на файерволле вы открыли, это хорошо, а network connections в настройках инстанса разрешили? Проще говоря, подключиться из SSMS с другой машины получается?
...
Рейтинг: 0 / 0
27.04.2020, 08:40
    #39951835
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка T-SQL в MS SQL Server 2019 Express Edition на CentOS 8
Ennor Tiegael
Порт на файерволле вы открыли
По настройке файрволла в документации есть статья, там вроде не только этот стандартный порт (я сам никогда не настраивал, и вообще, никогда не слышал, что бы люди пользовались отладчиком)
...
Рейтинг: 0 / 0
27.04.2020, 10:49
    #39951860
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка T-SQL в MS SQL Server 2019 Express Edition на CentOS 8
Настройки всех портов описаны в документации.
...
Рейтинг: 0 / 0
28.04.2020, 10:42
    #39952255
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка T-SQL в MS SQL Server 2019 Express Edition на CentOS 8
Harlan
Желаю всем не болеть!

Имеется MS SQL Server 2019 Express Edition установленный на CentOS 8 (имя машины sql4dev). В файрволле открыт порт 1433/tcp
На другой машине запущена VS2019 Professional. Создаю запрос "EXEC MyProcedure", нажимаю [Ctrl+Shift+E] (Выполнить) и получаю результат.
Нажимаю [Alt+F5] (выполнить с отладчиком) и получаю ляпуху "Не удалось запустить отладчик. Было сформировано исключение: "Неопределенные данные. Этот метод или свойство не может вызываться для значений равных null.". Нажимаю "ОК" и получаю следующую ляпуху: "Не удается запустить программу "MSSQL:://sql4dev/?/sys/=0". Неподдерживаемая операция. Неизвестная ошибка: 0x80004005."

Все микрософтовские рекомендации посвященные удалённой отладке и настройке для работы отладчика касаются виндов. Тем не менее информация, что на линуксовой версии отладка невозможна, отсутствует.

В связи с этим вопросы:
1. Возможна ли отладка на SQL Server for Linux в принципе?
2. Кому-нибудь удавалось включить удалённую отладку на этом звере?
3. Счастливчики, ответившие положительно на второй вопрос, поделитесь, пожалуйста, опытом?

--
А баги ползали и нагло шевелили усами... (с) Не моё.


4. А есть смысл колбаситься с отладкой "MS SQL Server 2019 Express Edition установленный на CentOS 8" ?

что вы хотите отладить?
4.1. во многих случаях вместо отладчика достаточно насовать принтов или вывода в лог таблицу
4.2. установите такой же экспресс на машину с виндоуз и отлаживайте
...
Рейтинг: 0 / 0
28.04.2020, 12:10
    #39952294
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка T-SQL в MS SQL Server 2019 Express Edition на CentOS 8
Ролг Хупин, возможно человек ни когда не видел этого отладчика и имеет некие завышенные ожидания от его работы... в свое время я на него посмотрел и больше ни когда не пользовался... может что поменялось с тех былинных времен?
...
Рейтинг: 0 / 0
28.04.2020, 12:34
    #39952313
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка T-SQL в MS SQL Server 2019 Express Edition на CentOS 8
Никогда не пользовался интерактивной отладкой, все контрольные точки сохраняем в запросами таблицу, пишем комментарий. Запускаем, смотрим. Или же PRINT выводим, если простой случай. Это же не процедурный язык, нет смысла по шагам проходить.
...
Рейтинг: 0 / 0
28.04.2020, 13:17
    #39952329
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка T-SQL в MS SQL Server 2019 Express Edition на CentOS 8
Владислав Колосов
Никогда не пользовался интерактивной отладкой, все контрольные точки сохраняем в запросами таблицу, пишем комментарий. Запускаем, смотрим. Или же PRINT выводим, если простой случай. Это же не процедурный язык, нет смысла по шагам проходить.
Это SQL непроцедурный, а T-SQL процедурный.
Конечно, нормальную отладку было бы хорошо сделать, ещё лет эдак 20 назад.
Но вот, нешмогли, поэтому никто отладкой не пользуется.
...
Рейтинг: 0 / 0
28.04.2020, 16:23
    #39952418
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка T-SQL в MS SQL Server 2019 Express Edition на CentOS 8
alexeyvg,

ну как... процедурный... PL/SQL процедурный, T-SQL с большой натяжкой. Разве что формально - условные операторы, циклы, ветвление кода. Что там, в принципе, отлаживать пошагово в циклах, если не кодировать "как в бейсике", а использовать data-driven классику?
...
Рейтинг: 0 / 0
28.04.2020, 20:53
    #39952585
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка T-SQL в MS SQL Server 2019 Express Edition на CentOS 8
Владислав Колосов
Что там, в принципе, отлаживать пошагово в циклах, если не кодировать "как в бейсике", а использовать data-driven классику?
Это как бы призыв убрать из T-SQL PRINT, и возможность вывести на экран результат SELECT-а? :-)

Циклы тут вообще ни при чём.
Понятно, если сиквел используется только для select * from table, то никаких print-ов и отладо не нужно, но если есть какая то последовательность действий, то для отладки "data-driven классики" приходится:
Владислав Колосов
все контрольные точки сохраняем в запросами таблицу, пишем комментарий. Запускаем, смотрим. Или же PRINT выводим, если простой случай
А намного удобнее было бы сделать Shift+F10, или чтототам, потом подвести мышку к переменной, к временной таблице, и SSMS покажет данные, а если к UPDATE, то покажет, какие строки обновились, и какие значения были, а какие стали.

Это же не какой то "чудо", а обычные, рутинные, удобные средства разработки, которые уже вовсю были у программистов 20-30 лет назад.

А в MSSQL/SSMS, пока что, как во времена перфокарт.
Я, помню, на перфокартах отладочные принты вставлял, когда на фортране программировал, ну и сейчас так же на сиквеле, мне привычно :-)
...
Рейтинг: 0 / 0
01.05.2020, 15:35
    #39953553
Harlan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка T-SQL в MS SQL Server 2019 Express Edition на CentOS 8
Забавно читать "истории" в стиле: "Я работаю плотником уже 30 лет. Однажды я забивал гвозди и стукнул молотком себе по пальцам. С тех пор я этим вредным инструментом не пользуюсь, а для забивания гвоздей использую микроскоп и не понимаю этих идиотов, которые спрашивают, как держать молоток? Пользуйтесь микроскопом и будет вам счастье!"

Господа, честное слово, мне не интересно, ПОЧЕМУ вы не используете отладчик. Мне интересно КАК его запустить. Точно так же, не обладаю ни желанием, ни временем объяснять, почему мой выбор пал на такую "странную" связку "Linux - MS SQL". Но она имеет место быть.

Всем, кто дал деловые советы - огромное спасибо!
По существу могу сказать следующее:
1. SSMS подключается и запросы исполняет.
2. В последних версиях SSMS отладку запретили и переложили её на Visual Studio. (честно говоря, не понимаю этого шага)
3. Было бы сильно проще, если бы в документации MS SQL были указаны конкретные порты, а не RPС. Дело в том, что реализаций RPC чуть меньше, чем этих самых портов и какой именно реализует Микрософт известно только тому индусу, который прикручивал эту фичу к продукту. Но прикол в том, что я и выключал файрволл на сервере, толку - ноль.
...
Рейтинг: 0 / 0
01.05.2020, 15:51
    #39953561
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка T-SQL в MS SQL Server 2019 Express Edition на CentOS 8
Модератор: Harlan, Аккуратнее с неточными аналогиями. Не все смогут отреагировать на них правильно, начнется срач и я тему прикрою. И в этом вы будете виноваты сами.
...
Рейтинг: 0 / 0
01.05.2020, 17:45
    #39953579
Harlan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка T-SQL в MS SQL Server 2019 Express Edition на CentOS 8
Господин модератор, приношу свои глубочайшие извинения. Просто, к сожалению, накипело.
...
Рейтинг: 0 / 0
01.05.2020, 21:09
    #39953613
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка T-SQL в MS SQL Server 2019 Express Edition на CentOS 8
Harlan
Забавно читать "истории" в стиле: "Я работаю плотником уже 30 лет. Однажды я забивал гвозди и стукнул молотком себе по пальцам. С тех пор я этим вредным инструментом не пользуюсь, а для забивания гвоздей использую микроскоп и не понимаю этих идиотов, которые спрашивают, как держать молоток? Пользуйтесь микроскопом и будет вам счастье!"
Не понял, эта аналогия про стартовый пост, или про ответы?
...
Рейтинг: 0 / 0
01.05.2020, 21:12
    #39953616
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка T-SQL в MS SQL Server 2019 Express Edition на CentOS 8
Harlan
Господа, честное слово, мне не интересно, ПОЧЕМУ вы не используете отладчик. Мне интересно КАК его запустить. Точно так же, не обладаю ни желанием, ни временем объяснять, почему мой выбор пал на такую "странную" связку "Linux - MS SQL". Но она имеет место быть.
Это люди просто делились своим опытом. Никто же не против, пользуйтесь. Я бы сам с удовольствием пользовался, если бы оно было сделано нормально, но мне надоели пляски, по типу ваших, с каждым компом и сервером, ещё лет 20 назад. Ну его, принтом обойдусь.
...
Рейтинг: 0 / 0
01.05.2020, 23:10
    #39953642
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка T-SQL в MS SQL Server 2019 Express Edition на CentOS 8
Для удаленной отладки вроде бы требуется DCOM. Я сомневаюсь, что под Linux существует реализация DCOM.
https://docs.microsoft.com/ru-ru/sql/ssms/scripting/configure-firewall-rules-before-running-the-tsql-debugger?view=sql-server-2016.
...
Рейтинг: 0 / 0
05.05.2020, 20:24
    #39954418
Antony J Z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отладка T-SQL в MS SQL Server 2019 Express Edition на CentOS 8
[quot alexeyvg#22123373]
Ennor Tiegael
... и вообще, никогда не слышал, что бы люди пользовались отладчиком)


Зря. Весьма приятная штуковина.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Отладка T-SQL в MS SQL Server 2019 Express Edition на CentOS 8 / 17 сообщений из 17, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]