Захват вывод сообщений с SQL Server - PullRequest
0 голосов
/ 11 марта 2019

У меня ниже PS скрипт, который создает таблицу.Я хотел бы захватить вывод сообщений (Команда (ы) успешно завершены.) С сервера SQL.Есть ли способ добиться этого?

Я пробовал -Verbose switch, но это не помогло.

PS Файл:

$CreateTableFile = "C:\DBScripts\CreateTable.sql"
Invoke-Sqlcmd -ServerInstance xyz -InputFile $CreateTableFile -Database "PSLearning" -Verbose

CreateTable.sql:
CREATE TABLE abc (
  column_1 int,
)

1 Ответ

0 голосов
/ 11 марта 2019

Вы не говорите, что хотите захватить.Все или просто ошибки.

Ошибки, вы можете использовать try / catch, все, что вы можете использовать Start-Transcript, или написать свой собственный код журнала, или что-то вроде сценария печати. ​​

Пример:

Invoke-Sqlcmd -Query "update your database set column_name ={expression} where <search_condition>; PRINT 'update successfully';" –Verbose

Как указано в файлах справки Bulit-In…

# get function / cmdlet details
(Get-Command -Name Invoke-SqlCmd).Parameters
Get-help -Name Invoke-SqlCmd -Full
Get-help -Name Invoke-SqlCmd -Online
Get-help -Name Invoke-SqlCmd -Examples

Get-help -Name Invoke-SqlCmd -Examples
# -------------------------- EXAMPLE 5 --------------------------
C:\PS>Invoke-Sqlcmd -Query "PRINT N'abc'" -Verbose
VERBOSE: abc
# Description
# -----------
# This example uses the PowerShell -Verbose parameter to return the message output of the PRINT command.

... или в сети.

Invoke-Sqlcmd

Можно отобразить выходные данные сообщений SQL Server, например, те, которые являются результатом оператора SQL PRINT, указав параметр Verbose

Пример 5. Выполнение запроса и отображение подробного вывода

PSet-Location "SQLSERVER:\SQL\MyComputer\MainInstance"
Invoke-SqlCmd -Query "PRINT N'abc'" -Verbose
VERBOSE: abc
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...