Включение специальных распределенных запросов SQL для одной команды - PullRequest
0 голосов
/ 26 сентября 2019

Мне нужно прочитать данные из файлов Excel, чтобы сделать сотни обновлений для SQL Server.Сервер по умолчанию настроен на запрет этих запросов, но я могу изменить этот параметр.Я читал о рисках, связанных с разрешением этих запросов, но мне было интересно, есть ли проблемы безопасности, проблемы с производительностью или другие риски, о которых я не знаю, если я включу их на время одной команды.

Короче говоря, разумно ли делать следующее?

exec sp_configure 'Ad Hoc Distributed Queries', 1
reconfigure

begin try

    select * from OPENROWSET(

    'Microsoft.ACE.OLEDB.12.0'

    ,'Excel 12.0;Database=C:\Temp\Test.xlsx;'

    ,'SELECT * FROM [Sheet1$]') as xl
end try

begin catch
    print 'Error occurred'
end catch

exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...