Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Сборка CLR с UNSAFE / 25 сообщений из 25, страница 1 из 1
27.02.2018, 16:44
    #39607988
CLR
CLR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка CLR с UNSAFE
Сборка CLR с безапасностью UNSAFE создает новый процесс (внешний, например powershell.exe).
Будет ли созданный процесс виден в дисппетчере задач винды ?
И если будет, то что будет, если его прибить?
...
Рейтинг: 0 / 0
27.02.2018, 17:43
    #39608019
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка CLR с UNSAFE
CLR,

будет виден.

если прибьете ничего критичного не будет если у вас в дальнейшей логике не идет обращений к экземпляру процесса. иначе словите исключение.
...
Рейтинг: 0 / 0
27.02.2018, 17:55
    #39608030
CLR
CLR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка CLR с UNSAFE
Спасибо
...
Рейтинг: 0 / 0
27.02.2018, 18:29
    #39608059
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка CLR с UNSAFE
CLR Сборка CLR с безапасностью UNSAFE создает новый процесс (внешний, например powershell.exe).
Будет ли созданный процесс виден в дисппетчере задач винды ?
И если будет, то что будет, если его прибить?

это просто песня
...
Рейтинг: 0 / 0
27.02.2018, 18:32
    #39608061
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка CLR с UNSAFE
Ролг Хупин,

дык законы физики не запрещают. Кого волнует этика, принципы и последствия?
...
Рейтинг: 0 / 0
27.02.2018, 19:03
    #39608084
CLR
CLR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка CLR с UNSAFE
А по существу есть что сказать?
...
Рейтинг: 0 / 0
27.02.2018, 19:10
    #39608092
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка CLR с UNSAFE
CLR,

по существу уже сказано.
просто не понятно зачем оно вам сдалось "есть через задний проход"?
...
Рейтинг: 0 / 0
27.02.2018, 19:22
    #39608098
CLR
CLR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка CLR с UNSAFE
felix_ff,

ну, я это не Вам, я хотел по существу услышать от неких умников, от которых здесь пользы 0.0000.

Я понял, что ничего страшного не будет, но хотелось бы понять, какие могут возникнуть проблемы.

"Зачем?" - это вопрос больше философский. Если это не опасно для сиквела, то почему бы и не использовать такую архитектуру. Цель - вызывать скрипты на powershell из tsql, который будет возвращать строку.
...
Рейтинг: 0 / 0
27.02.2018, 19:42
    #39608113
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка CLR с UNSAFE
CLR,

ну а представьте себе что у вас powershell-скрипт к примеру уйдет в забытье(по любой причине), а хранимка иницирующая его процесс ждет от него ответа.
Будете ждать пока вручную не полезете на сервер процесс прибивать.

Я это к чему, довольно сомнительное удовольствие децентрализации операций.
Если вам необходим запуск внешних приложений по какой то логике с сиквела, я бы на вашем месте посмотрел в сторону service broker с внешней активацией.
...
Рейтинг: 0 / 0
27.02.2018, 19:49
    #39608118
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка CLR с UNSAFE

и кстати: потенциально для сервера вредна любая сборка с permission_set > SAFE

в МС специально назвали UNSAFE - что бы если что все шишки Вам
...
Рейтинг: 0 / 0
28.02.2018, 04:14
    #39608250
cossack5
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка CLR с UNSAFE
CLR,
Если у вас 2016-й сиквел, можно выполнять скрипты на R (через sp_execute_external_script). В 2017-й версии добавлен python. MS очень продвигала этот способ для исполнения скриптов.
...
Рейтинг: 0 / 0
28.02.2018, 12:44
    #39608411
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка CLR с UNSAFE
Класс :) Некто бьется головой об стену, ему говорят - не делай так, плохо будет. А он отвечает - говорите по существу, я пробиваю головой стену.
...
Рейтинг: 0 / 0
28.02.2018, 13:35
    #39608447
CLR
CLR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка CLR с UNSAFE
Владислав Колосов,

у вас аргументы есть? или мне на слово вам верить нужно ?
...
Рейтинг: 0 / 0
28.02.2018, 13:40
    #39608451
CLR
CLR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка CLR с UNSAFE
felix_ffCLR,

ну а представьте себе что у вас powershell-скрипт к примеру уйдет в забытье(по любой причине), а хранимка иницирующая его процесс ждет от него ответа.
Будете ждать пока вручную не полезете на сервер процесс прибивать.

Я это к чему, довольно сомнительное удовольствие децентрализации операций.
Если вам необходим запуск внешних приложений по какой то логике с сиквела, я бы на вашем месте посмотрел в сторону service broker с внешней активацией.

если зависнет - да, согласен, это минус. Но меня больше интересовал момент живучести сиквела, дабы не уронить сам сиквел.

с service broker интересный вариант, но мне нужен синхронный вызов, например я хочу получить результат от веб-сервера, например json.
...
Рейтинг: 0 / 0
28.02.2018, 14:21
    #39608487
CLR
CLR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка CLR с UNSAFE
cossack5CLR,
Если у вас 2016-й сиквел, можно выполнять скрипты на R (через sp_execute_external_script). В 2017-й версии добавлен python. MS очень продвигала этот способ для исполнения скриптов.

вот это интересно, спасибо!
...
Рейтинг: 0 / 0
02.03.2018, 13:55
    #39609638
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка CLR с UNSAFE
CLR,

лекции читать неохота, но сами поймете, когда потребуется всё это удерживать на плаву хотя бы на полупромышленном уровне, 24/7 с проектом, планами публикаций и прочей атрибутикой.
...
Рейтинг: 0 / 0
02.03.2018, 13:55
    #39609639
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка CLR с UNSAFE
О, совсем забыл о непрерывной интеграции.
...
Рейтинг: 0 / 0
02.03.2018, 17:07
    #39609744
CLR
CLR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка CLR с UNSAFE
Владислав КолосовCLR,

лекции читать неохота, но сами поймете, когда потребуется всё это удерживать на плаву хотя бы на полупромышленном уровне, 24/7 с проектом, планами публикаций и прочей атрибутикой.

Владислав Колосовлекции читать неохота, но сами поймете, когда потребуется всё это удерживать на плаву хотя бы на полупромышленном уровне, 24/7 с проектом, планами публикаций и прочей атрибутикой.

Если я вас правильно понял, то угроза не в в том, что сиквел начнет падать, а в сложности сопровождения и развития?

Ну ок, если рассмотреть какие есть инструменты ETL. ssis-пакеты - от них начал отказываться более двух лет назад, сначала в сторону clr, а сейчас в сторону powershell. на clr несколько библиотек (в основном абстрактных, для вызова/транспорта с внешними источниками) все остальное сейчас переводится на powershell. При прямых руках нет проблем на промышленном уровне с 24/7 и разработка в целом проще и быстрее, чем с ssis.


А что с непрерывной интеграцией?
...
Рейтинг: 0 / 0
08.03.2018, 11:26
    #39612172
northern
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка CLR с UNSAFE
А почему нельзя используя sp_execute_external_script запускать скрипты PowerShell ?
...
Рейтинг: 0 / 0
08.03.2018, 16:28
    #39612286
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка CLR с UNSAFE
northern,

наверное потому что поддерживаемые языки на текущий момент для sp_execute_external_script - phyton и R?
или вы предлагаете писать обертку для запуска ps?
...
Рейтинг: 0 / 0
08.03.2018, 21:26
    #39612340
northern
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка CLR с UNSAFE
felix_ffнаверное потому что поддерживаемые языки на текущий момент для sp_execute_external_script - phyton и R?
или вы предлагаете писать обертку для запуска ps?

Так именно это и вызывает недоумение - иметь такой мощный инструмент (pws) и не встроить его в sp_execute_external_script
в джобах агента ведь можно вызывать скрипт pws.
...
Рейтинг: 0 / 0
08.03.2018, 21:27
    #39612341
northern
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка CLR с UNSAFE
а люди костыли строгают ))
...
Рейтинг: 0 / 0
08.03.2018, 23:13
    #39612368
northern
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка CLR с UNSAFE
CLR, смотри как можно:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
execute sp_execute_external_script 
@language = N'Python',
@script = N'
import subprocess
 
proc = subprocess.Popen(["powershell", "Get-Variable | ConvertTo-Json"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = proc.communicate()

out = out.decode("cp866")
err = err.decode("cp866")

json = out
if len(err) > 0: 
    json = "Ошибка! " + err
', 
@params = N'@r_rowsPerRead INT, @json NVARCHAR(MAX) OUTPUT',
@r_rowsPerRead = @RowsPerRead,
@json = @json OUTPUT

SELECT @json
...
Рейтинг: 0 / 0
08.03.2018, 23:16
    #39612371
northern
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка CLR с UNSAFE
DECLARE не скопировал...

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
--пример использования питона для получения результата (json) из powershell
DECLARE @RowsPerRead INT = 5
DECLARE @json NVARCHAR(MAX)

execute sp_execute_external_script 
@language = N'Python',
@script = N'
import subprocess
 
proc = subprocess.Popen(["powershell", "Get-Variable | ConvertTo-Json"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = proc.communicate()

out = out.decode("cp866")
err = err.decode("cp866")

json = out
if len(err) > 0: 
    json = "Ошибка! " + err
', 
@params = N'@r_rowsPerRead INT, @json NVARCHAR(MAX) OUTPUT',
@r_rowsPerRead = @RowsPerRead,
@json = @json OUTPUT

SELECT @json
...
Рейтинг: 0 / 0
09.03.2018, 11:35
    #39612471
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сборка CLR с UNSAFE
CLRfelix_ff,

ну, я это не Вам, я хотел по существу услышать от неких умников, от которых здесь пользы 0.0000.

Я понял, что ничего страшного не будет, но хотелось бы понять, какие могут возникнуть проблемы.

"Зачем?" - это вопрос больше философский. Если это не опасно для сиквела, то почему бы и не использовать такую архитектуру. Цель - вызывать скрипты на powershell из tsql, который будет возвращать строку.


Будет возможность опишите вашу методику определения пользы в виде чисел.

Вообще-то можно сделать и так:

в том месте, где вы запускаете "процесс" - вместо этого вкидываете сообщение брокеру, а внешний обработчик очереди (приложение, сервис) при обработке запускает процесс и делает всё, что хотелось, но не стоит делать внутри серверных процедур.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Сборка CLR с UNSAFE / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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