如何使用 PowerShell 在弹性池中复制数据库

How to copy database within elastic pool using PowerShell

能否请您告知将一个数据库复制到同一弹性池中另一个数据库的 PowerShell 代码?

我正在尝试使用

  1. New-AzureRmSqlDatabaseCopy,但执行失败,因为 New-AzureRmSqlDatabaseCopy 不适用于弹性池。
  2. How to Execute and Store Transact-SQL (T-SQL) Query Results in a PowerShell Array,但因超时异常而出错。
  3. Invoke-Sqlcmd 也因 Invoke-Sqlcmd 失败:执行超时已过期。操作完成前超时时间已过或服务器未响应 异常。

这是我需要的:

  1. 在同一个弹性池中复制数据库。当我手动执行时,我使用 "CREATE DATABASE [Database_Name_02] AS COPY OF [Database_Name_01]" T-SQL 脚本。
  2. 复制时获得通知(复制大约需要5-7分钟)或失败时获得错误信息。

非常感谢您的帮助,提前!!!

我认为 New-AzureRmSqlDatabaseCopy 可以正常工作,如果你想在弹性池中复制数据库,数据库及其副本应该在同一个 sql 服务器上。

您可以尝试下面的命令,我这边运行良好。

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

登录门户: