Armazenando credenciais sql dentro de uma assinatura do azure

1

Eu estou querendo clonar uma cópia do nosso banco de dados de produção em nosso servidor de controle de qualidade como parte de nosso programa de integração contínua.

Parece que ainda não existe um método no Azure para clonar um banco de dados, por isso estou exportando e importando o banco de dados via armazenamento de blobs.

Estou tendo problemas com os seguintes comandos (omitindo as coisas sem importância):

$SqlCtx = New-AzureSqlDatabaseServerContext -ServerName $ServerName -UseSubscription
$exportRequest = Start-AzureSqlDatabaseExport -SqlConnectionContext $SqlCtx -StorageContainer $Container -DatabaseName $DatabaseName -BlobName $BlobName

Que retorna o seguinte erro.

Start-AzureSqlDatabaseExport : Cannot bind parameter 'SqlConnectionContext'. Cannot convert the "Microsoft.WindowsAzure.Commands.SqlDatabase.Services.Server.ServerDataServiceCertAuth" value of type "Microsoft.WindowsAzure.Commands.SqlDatabase.Services.Server.ServerDataServiceCertAuth" to type "Microsoft.WindowsAzure.Commands.SqlDatabase.Services.Server.ServerDataServiceSqlAuth".

Tenho certeza de que isso acontece porque eu não tenho nenhuma credencial sql na minha assinatura, então a conexão sql não sabe como se conectar. Alguém sabe como posso fazer isso funcionar?

    
por Jamesla 01.08.2014 / 07:14

1 resposta

2

Como você apontou, é necessário fornecer credenciais do Sql. Uma maneira é solicitar ao usuário as credenciais usando Get-Credential , como no exemplo de Start-AzureSqlDatabaseExport :

$credential = Get-Credential
$SqlCtx = New-AzureSqlDatabaseServerContext -ServerName $ServerName -Credentials $credential
$StorageCtx = New-AzureStorageContext -StorageAccountName $StorageName -StorageAccountKey $StorageKey
$Container = Get-AzureStorageContainer -Name $ContainerName -Context $StorageCtx
$exportRequest = Start-AzureSqlDatabaseExport -SqlConnectionContext $SqlCtx -StorageContainer $Container -DatabaseName $DatabaseName -BlobName $BlobName

As credenciais do servidor do Azure Sql são gerenciadas separadamente das credenciais do Azure (assim como os logins da VM), por isso, não é suficiente fornecer credenciais de assinatura do Azure.

    
por 28.01.2015 / 11:11

Tags