Как скопировать базу данных в эластичный пул с помощью PowerShell

Не могли бы вы порекомендовать код PowerShell, который копирует одну базу данных в другую в пределах того же эластичного пула?

Я пытался использовать

  1. New-AzureRmSqlDatabaseCopy, но выполнение не удалось, поскольку New-AzureRmSqlDatabaseCopy не предназначен для работы с эластичными пулами.
  2. Как выполнить и сохранить результаты запроса Transact-SQL (T-SQL) в массиве PowerShell, но он завершился с ошибкой тайм-аута.
  3. Invoke-Sqlcmd также завершился ошибкой с Invoke-Sqlcmd: истекло время ожидания выполнения. Время ожидания истекло до завершения операции, или сервер не отвечает на исключение.

Вот что мне нужно:

  1. Скопируйте базу данных в тот же эластичный пул. Я использую сценарий T-SQL "CREATE DATABASE [Database_Name_02] AS COPY OF [Database_Name_01]", когда я делаю это вручную.
  2. Получите уведомление при копировании (копирование занимает около 5-7 минут) или сообщение об ошибке при сбое.

Заранее большое спасибо за помощь!!!

1 ответ

Решение

Я думаю New-AzureRmSqlDatabaseCopy будет работать нормально, если вы хотите скопировать базу данных в эластичный пул, база данных и ее копия должны находиться на одном сервере SQL.

Вы можете попробовать команду ниже, она отлично работает на моей стороне.

New-AzureRmSqlDatabaseCopy -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -DatabaseName <databaseName of the db to be copied> -CopyDatabaseName <databaseName of the copy> -ElasticPoolName <ElasticPoolName>

Проверьте на портале:

Другие вопросы по тегам