Как скопировать базу данных в эластичный пул с помощью PowerShell
Не могли бы вы порекомендовать код PowerShell, который копирует одну базу данных в другую в пределах того же эластичного пула?
Я пытался использовать
- New-AzureRmSqlDatabaseCopy, но выполнение не удалось, поскольку New-AzureRmSqlDatabaseCopy не предназначен для работы с эластичными пулами.
- Как выполнить и сохранить результаты запроса Transact-SQL (T-SQL) в массиве PowerShell, но он завершился с ошибкой тайм-аута.
- Invoke-Sqlcmd также завершился ошибкой с Invoke-Sqlcmd: истекло время ожидания выполнения. Время ожидания истекло до завершения операции, или сервер не отвечает на исключение.
Вот что мне нужно:
- Скопируйте базу данных в тот же эластичный пул. Я использую сценарий T-SQL "CREATE DATABASE [Database_Name_02] AS COPY OF [Database_Name_01]", когда я делаю это вручную.
- Получите уведомление при копировании (копирование занимает около 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>
Проверьте на портале: