Azure PowerShell в MacOS - запуск файла сценария - PullRequest
1 голос
/ 22 мая 2019

Я использую PowerShell 6.2 на MacOS.Я пытаюсь запустить файл * .sql в целевой базе данных, но не могу найти соответствующий модуль.

Моя цель - скопировать производственную базу данных в копию изолированной программной среды, затем стереть логины / разрешения и установить новую.Я использую:

New-AzSqlDatabaseCopy -ResourceGroupName "ProdRG" -ServerName "ProdSrv" -DatabaseName "ProdDB" -CopyResourceGroupName "SandRG" -CopyServerName "SandServ" -CopyDatabaseName "SandDB"

Как выполнить сценарий SQL на новом экземпляре?

1 Ответ

1 голос
/ 23 мая 2019

Для вашего местного экземпляра

Вы можете импортировать SQL-модуль SQL в ваш текущий контекст, используя:

Import-Module "sqlps" -DisableNameChecking

Параметр -DisableNameChecking должен игнорировать предупреждения, которые вы можете получить при импорте модуля без «утвержденной» схемы именования существительных-глаголов, которую PowerShell рекомендует из библиотеки.

Тогда вы можете запустить:

Invoke-Sqlcmd -ServerInstance ServerName -inputFile "yoursqlfile.sql" -Database "your database"

Чтобы запустить сценарий sql для этой конкретной базы данных.

Ссылка: https://docs.microsoft.com/en-us/powershell/module/sqlserver/invoke-sqlcmd?view=sqlserver-ps

Для вашего экземпляра Azure в Azure Powershell:

Вы можете запустить следующее (найдено в ответе SO, связанном ниже):

$connectionString = "Data Source=MyDataSource;Initial Catalog=MyDB;User ID=user1;Password=pass1;Connection Timeout=90"
$connection = New-Object -TypeName System.Data.SqlClient.SqlConnection($connectionString)
$query = [IO.File]::ReadAllText("C:\...\TestSQL.sql")
$command = New-Object -TypeName System.Data.SqlClient.SqlCommand($query, $connection)
$connection.Open()
$command.ExecuteNonQuery()
$connection.Close()

Ссылка: Используйте Azure Powershell для выполнения файла .sql

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