Sql server 如何使用PowerShell脚本在Azure SQL Server数据库上还原架构?

Sql server 如何使用PowerShell脚本在Azure SQL Server数据库上还原架构?,sql-server,powershell,azure-sql-database,schema,restore,Sql Server,Powershell,Azure Sql Database,Schema,Restore,我已经创建了一个sql server,在该服务器上部署了弹性池,并且能够根据此链接在弹性池中创建多个数据库。现在我上传这个问题的目的是..我只想恢复模式,然后再将数据恢复到这些模式 使用PowerShell脚本创建了azure sql数据库。有人能帮我吗?如果您想将架构从本地SQL server还原到弹性池中的Azure SQL数据库,您可以使用该工具 DMA支持oly迁移架构: 如果要在Azure SQL数据库之间恢复架构,可以使用SSMS。您可以使用生成和发布脚本向导创建脚本,以便在SQL

我已经创建了一个sql server,在该服务器上部署了弹性池,并且能够根据此链接在弹性池中创建多个数据库。现在我上传这个问题的目的是..我只想恢复模式,然后再将数据恢复到这些模式
使用PowerShell脚本创建了azure sql数据库。有人能帮我吗?

如果您想将架构从本地SQL server还原到弹性池中的Azure SQL数据库,您可以使用该工具

DMA支持oly迁移架构:


如果要在Azure SQL数据库之间恢复架构,可以使用SSMS。您可以使用生成和发布脚本向导创建脚本,以便在SQL Server数据库引擎或Azure SQL数据库实例之间传输数据库

右键单击数据库--生成脚本:

然后可以使用PowerShell运行SQL脚本

参考:

  • 我有一个问题,因为您需要将架构和稍后的数据还原到那些已创建的Azure SQL数据库中,为什么不导入备份文件(如.bacpac文件)以直接使用PowerShell在该Azure SQL服务器中创建数据库

    请参考以下教程:


    希望这有帮助。

    还原bacpac会在Azure SQL数据库上创建一个新数据库。下面是用于还原它的PowerShell脚本

    # Restore/Import bacpac to database with an S3 performance level
    $importRequest = New-AzSqlDatabaseImport -ResourceGroupName $resourceGroupName `
        -ServerName $serverName `
        -DatabaseName $databaseName `
        -DatabaseMaxSizeBytes "262144000" `
        -StorageKeyType "StorageAccessKey" `
        -StorageKey $(Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName -StorageAccountName $storageAccountName).Value[0] `
        -StorageUri "https://$storageaccountname.blob.core.windows.net/$storageContainerName/$bacpacFilename" `
        -Edition "Standard" `
        -ServiceObjectiveName "S3" `
        -AdministratorLogin "$adminSqlLogin" `
        -AdministratorLoginPassword $(ConvertTo-SecureString -String $password -AsPlainText -Force)
    
    # Check restore/import status and wait for the import to complete
    
    $importStatus = Get-AzSqlDatabaseImportExportStatus -OperationStatusLink $importRequest.OperationStatusLink
    [Console]::Write("Importing")
    while ($importStatus.Status -eq "InProgress")
    {
        $importStatus = Get-AzSqlDatabaseImportExportStatus -OperationStatusLink $importRequest.OperationStatusLink
        [Console]::Write(".")
        Start-Sleep -s 10
    }
    [Console]::WriteLine("")
    $importStatus
    
    恢复后,可以将数据库分配给弹性池

    # Move the database to the pool
    $firstDatabase = Set-AzSqlDatabase -ResourceGroupName $resourceGroupName `
        -ServerName $serverName `
        -DatabaseName $firstDatabaseName `
        -ElasticPoolName $PoolName
    

    您要从哪个数据库架构还原?