Захват журналов для операторов .sql через powershell - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь найти хороший способ запустить операторы вставки / выбора / обновления в базе данных MSSQL с помощью сценариев PowerShell и тщательно их зарегистрировать.Мне удалось использовать Invoke-Sqlcmd, который делает вставки и операторы выбора довольно хорошо.Но моя задача состоит в том, чтобы записать логи, где-то в качестве выходного файла.То есть при выполнении вставок журнал должен фиксироваться как нет.строк, затронутых / вставленных с данными, которые были вставлены.

Invoke-Sqlcmd используется:

PS C:\Users\moshink\Desktop\Powershell SQL> Invoke-Sqlcmd -Server $server -Database $db -Username $user -Password $pass -InputFile ".\test.sql" | Out-File -FilePath ".\test_$datetime.rpt" >> $LogFile

test.sql запрос файла ниже:

use TCS_MIS
select * from tblMasterAccountType where acctType in ('0121') and intCat in ('0020')
--insert into tblMasterAccountType values ('DEP','0121','0020','PARENTHOOD ASSISTANCE ACCOUNT')

файл test.sql вызывается в Invoke-Sqlcmd .Этот файл может быть динамическим, с любым входящим запросом.

Файл Out-File ". \ Test_ $ datetime.rpt" фиксирует выходные данные оператора select, если данные выходят в соответствии с критериями, но он будет пустымесли нет данных.

Есть ли что-то, что можно запустить для мгновенного захвата при запуске файла / скрипта Insert .sql?то есть который скажет 20 вставленных строк и перечисляя вставленные данные.В основном, я ищу тщательную регистрацию при запуске любых скриптов .sql через PowerShell.Он не должен захватывать ни одну из строк, на которые влияют вставленные / обновленные / удаленные данные, и пользователя, который их выполнил.

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