Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Секьюрная передача файлов на сервер  [new]
Barboss
Member

Откуда:
Сообщений: 128
Приветствую, господа!

Задача: пользователю нужно отправить на сервер для последующей обработки н-ное количество файлов.

Есть интересные способы передачи файлов/документов на сервер с MS SQL? Возможно с использованием сервисов из стека MS SQL?
Кроме: FTP, Shared-folder, Email и написания своих утилит. Интеграционная шина и облака не подходят к сожалению никак.
Еще был вариант с помощью ASP-скрипта передавать файл, но не удобно смотреть список файлов, имеющихся на сервере. Да и сама передача не принесет удовольствия пользователю.

Спасибо!
7 авг 19, 14:24    [21943816]     Ответить | Цитировать Сообщить модератору
 Re: Секьюрная передача файлов на сервер  [new]
court
Member

Откуда:
Сообщений: 1778
Barboss
Приветствую, господа!

Задача: пользователю нужно отправить на сервер для последующей обработки н-ное количество файлов.

Есть интересные способы передачи файлов/документов на сервер с MS SQL? Возможно с использованием сервисов из стека MS SQL?
Кроме: FTP, Shared-folder, Email и написания своих утилит. Интеграционная шина и облака не подходят к сожалению никак.
Еще был вариант с помощью ASP-скрипта передавать файл, но не удобно смотреть список файлов, имеющихся на сервере. Да и сама передача не принесет удовольствия пользователю.

Спасибо!

Считал файл в ADODB.Stream
Сохранил Stream в varbinary(max) поле серверной таблички.
И вызвал какую-то серверную ХП, которая этот файл из поля "вынет" и сохранит в файл в нужном месте
... нуу или, джоб/задача в шедулере, запускаются по расписанию, и скл-ной ХП / вбс-скриптом "вынимают" всё что насохраняли с пред.запуска джоба
7 авг 19, 15:18    [21943877]     Ответить | Цитировать Сообщить модератору
 Re: Секьюрная передача файлов на сервер  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 6639
Barboss,

из постановки задачи непонятно, какая роль отводится SQL Server в обработке файлов.
7 авг 19, 15:30    [21943890]     Ответить | Цитировать Сообщить модератору
 Re: Секьюрная передача файлов на сервер  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 28894
Недостаточно информации о задаче. Что такое "отправить", это по какому протоколу? Кто будет приёмником? При чём тут сиквел? Отправить коммандой copy считается секюрной передачей, если прокинут ВПН канал?
ИМХО вы хотите "то, не знаю что".
Вы лучше озвучте задачу так, как её сформулировал заказчик.
7 авг 19, 16:40    [21943981]     Ответить | Цитировать Сообщить модератору
 Re: Секьюрная передача файлов на сервер  [new]
Barboss
Member

Откуда:
Сообщений: 128
Заказчик просит обеспечить безопасный канал передачи файлов (например файлы Excel) на сервер БД для дальнейшей их закачки в БД. Собственно БД на MS SQL со всеми доступными сервисами. Самый удобный в этом плане - расшаренная папка с сервера через OpenVPN, но может есть что то более интересное. Требуется простой интерфейс для пользователя.
7 авг 19, 17:24    [21944022]     Ответить | Цитировать Сообщить модератору
 Re: Секьюрная передача файлов на сервер  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2197
Barboss,

вы не в том форуме спрашиваете
7 авг 19, 17:51    [21944044]     Ответить | Цитировать Сообщить модератору
 Re: Секьюрная передача файлов на сервер  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 28894
Barboss
Самый удобный в этом плане - расшаренная папка с сервера через OpenVPN, но может есть что то более интересное
Да, по задаче самое удобное и простое - впн + шара. Ну или фтп

У сиквела совсем ничего нет на тему передачи файлов
Есть возможность использовать обычные средства передачи файлов (копирование, фтп) из инструмента ETL, но это только вспомогательное средство управления, для нужд ETL, а не какой то самостоятельный способ.

Так что тут вам ничего полезного не предложат. Если и есть ещё какие то удобные механизмы, то спрашивать лучше в разделе Windows
7 авг 19, 18:55    [21944104]     Ответить | Цитировать Сообщить модератору
 Re: Секьюрная передача файлов на сервер  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8552
Как вариант - спи#дить втихую файл с сервера через MS-SQL ... Сам так делал. Были "надо мной" однажды тупые админы. Пришлось бэкап базы себе так сливать на ноут для сохранности и для последующей работы . Тех дурачков давно нет, а мы с клиентом по-прежнему в деловых отношениях. Хочешь жЫть,- умей select-ить вертеться.
7 авг 19, 20:19    [21944148]     Ответить | Цитировать Сообщить модератору
 Re: Секьюрная передача файлов на сервер  [new]
Massa52
Member

Откуда:
Сообщений: 349
Barboss,
https://www.restapitutorial.com/
8 авг 19, 07:34    [21944290]     Ответить | Цитировать Сообщить модератору
 Re: Секьюрная передача файлов на сервер  [new]
Barboss
Member

Откуда:
Сообщений: 128
Спасибо за советы! Про вопрос не в тему сиквела - согласен )
Пойду договариваться с безопасниками про шару :)
8 авг 19, 09:17    [21944338]     Ответить | Цитировать Сообщить модератору
 Re: Секьюрная передача файлов на сервер  [new]
andy st
Member

Откуда:
Сообщений: 741
Barboss,
пример
create table AAA (id int identity(1,1) , img varbinary(max))
insert into AAA (img) select BulkColumn from Openrowset( Bulk 'C:\test.xlsx', Single_Blob) as tb

exec master..xp_cmdshell 'echo 9.0 >> C:\format.fmt'
exec master..xp_cmdshell 'echo 1 >> C:\format.fmt'
exec master..xp_cmdshell 'echo 1 SQLBINARY 0 0 "" 1 col "" >> C:\format.fmt'

declare @SQLcommand varchar(8000)
select @SQLcommand = 'bcp "SELECT img from tempdb.dbo.AAA where id=1" queryout "C:\testout.xlsx" -T -f "C:\format.fmt" -S 127.0.0.1'
exec master..xp_cmdshell @SQLcommand

format.fmt надо создать в папке выгрузки, т.к. при выгрузке bcp в нативном виде блоба без формата в начало файла приписывается длина поля.
линкованные сервера и сборка строк в динамике для изменения названия файла по желанию заказчика
8 авг 19, 09:35    [21944354]     Ответить | Цитировать Сообщить модератору
 Re: Секьюрная передача файлов на сервер  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 47957
Barboss
Заказчик просит обеспечить безопасный канал передачи файлов (например файлы Excel) на сервер БД для дальнейшей их закачки в БД.

Сообщи ему, что для закачки информации в БД файлы вовсе не надо передавать на сервер. У "Мастера Импорта и Экспорта" вполне простой интерфейс.
8 авг 19, 13:29    [21944660]     Ответить | Цитировать Сообщить модератору
 Re: Секьюрная передача файлов на сервер  [new]
Barboss
Member

Откуда:
Сообщений: 128
Dimitry Sibiryakov
Barboss
Заказчик просит обеспечить безопасный канал передачи файлов (например файлы Excel) на сервер БД для дальнейшей их закачки в БД.

Сообщи ему, что для закачки информации в БД файлы вовсе не надо передавать на сервер. У "Мастера Импорта и Экспорта" вполне простой интерфейс.


:) Хотим сделать постоянную/периодичную закачку файлов с данными ))) Шара папки с сервера вполне реальна (vpn и все такое). Идея где то всплыла - дескать пробовать файлы выкладывать на репорт сервер - и далее скачивать средствами SSIS-средствами. Но это полный изврат на уровне бдсм. Да и интерфейс не очень себе симпотишный.
9 авг 19, 08:54    [21945300]     Ответить | Цитировать Сообщить модератору
 Re: Секьюрная передача файлов на сервер  [new]
tunknown
Member

Откуда:
Сообщений: 665
Barboss
Задача: пользователю нужно отправить на сервер для последующей обработки н-ное количество файлов.
Не ясно, какая обработка нужна, но если она относится к базе, то можно использовать filetable. SMB протокол не самая безопасная вещь, но если это во внутренней сети, то сразу получите содержимое файлов, доступное на select. Учитывайте размер файлов при бекапе этой базы и/или logshipping.
9 авг 19, 09:18    [21945308]     Ответить | Цитировать Сообщить модератору
 Re: Секьюрная передача файлов на сервер  [new]
andy st
Member

Откуда:
Сообщений: 741
Barboss,
на компьютере-источнике выделить папку и сделать на неё шару, в которую локально складываются файлы для закачки.
для учётки, из под которой запускается sql server выдать права на эту шару
сервер по регламенту проверяет шару на доступность и если доступна, то на наличие файлов для закачки
по факту подключения vpn шара становится доступна, файлы закачиваются и дальше bulk openrowset+сотоварищи
при отключении - сервер останавливает "качайку" на этапе проверки связи
9 авг 19, 09:21    [21945311]     Ответить | Цитировать Сообщить модератору
 Re: Секьюрная передача файлов на сервер  [new]
PsyMisha
Member

Откуда: другая столица
Сообщений: 264
Я бы пошел лучше путем составного сиквел-агент джоба. В первых шагах отрабатывается все то, что имеет отношение к предметной области SQL, вызовы T-SQL кода и т.п., а инфраструктурную обвязку, все методы передачи файлов, выкладки на внешние сервера - вобщем то, что нетипично для РСУБД - назначил бы на дальнейшие шаги с вызовами внешних PowerShell-модулей
9 авг 19, 09:37    [21945324]     Ответить | Цитировать Сообщить модератору
 Re: Секьюрная передача файлов на сервер  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 6639
PsyMisha,

ETL задачи вполне успешно решаются при помощи Integration Services и дополнительных утилит вроде psftp или ftps. Пакеты так же можно выполнять по расписанию SQL Agent под выделенной технологической учетной записью.
9 авг 19, 13:22    [21945570]     Ответить | Цитировать Сообщить модератору
 Re: Секьюрная передача файлов на сервер  [new]
PsyMisha
Member

Откуда: другая столица
Сообщений: 264
Владислав Колосов,

Да, все верно, опций много
9 авг 19, 14:07    [21945626]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить