Как запустить пакетный файл PowerShell или файл command.ps1 через сервер SQL, если sql находится на одном сервере, а файл на другом сервере - PullRequest
0 голосов
/ 09 мая 2019

Я хочу соединить две виртуальные машины / сервер, одна имеет файл данных и пакетный файл, другая установила sql, чтобы вызвать команду сервера A, которая будет работать с файлами сервера b

команда Sql --- на сервере A

EXEC master..xp_cmdshell  'cd.. && "C:\Program Files\Powershell\6\pwsh.exe" -File "C:\Users\sprasad\Desktop\script\command1.ps1"'

ошибка

1- import-module: указанный модуль 'C: \ Program Файлы \ Derivation_19_01_rev0 \ Core.PowershellModule.TradeLoader.dll 'были не загружен, потому что ни в одном модуле не было найдено допустимого файла модуля каталог.

потому что файлы находятся на сервере B

1 Ответ

0 голосов
/ 10 мая 2019

Я запускаю сценарии sql, хранящиеся в файлах (sqlscript.sql) на ServerA, против установки SQL на ServerB с использованием удаленного powershell. Модуль Powershel SQLPS необходим на сервере A. см. Ссылку

шаги:

  1. включить удаленную оболочку на сервереB

    Enable-PSRemoting -force

  2. на вашем сервере SQL добавьте пользователя, который выполняет сценарий на сервере A, в список пользователей с правами на базу данных.

  3. используйте сценарий на сервере severA, например:

    Модуль импорта -Name SQLPS -NoClobber -DisableNameChecking -Scope Local Invoke-Sqlcmd -ServerInstance serverA -InputFile sqlscript.sql -Verbose

    Invoke-Sqlcmd -ServerInstance 'serverB' -InputFile sqlscript.sql -Verbose

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