2016-03-28 3 views
0

Je tente de démarrer une exportation d'une base de données SQL Azure vers un blob. Cependant, après avoir essayé différentes approches et avoir fait des recherches sur le web, je n'arrive pas à trouver un moyen de le faire fonctionner.Start-AzureSqlDatabaseExport: Référence d'objet non définie sur une instance d'un objet

$exportRequest = Start-AzureSqlDatabaseExport -SqlConnectionContext $SqlContext -StorageContainer $Container -DatabaseName 'Users' -BlobName 'autobackupotest.bacpac' -Verbose -Debug 

La ligne ci-dessus les résultats dans:

DEBUG: 2:05:14 PM - StartAzureSqlDatabaseExport begin processing with ParameterSet 'ByContainerObject'. 
WARNING: Client Session Id: '111746f6-65c2-4ba1-b7c6-52a9171ee6-2016-03-28 08:15:58Z' 
WARNING: Client Request Id: 'f20b3326-a6c4-48d7-beb0-6ce7b17585-2016-03-28 11:05:14Z' 
Start-AzureSqlDatabaseExport : Object reference not set to an instance of an object. 
At C:\tests\thirdversion.ps1:29 char:22 
+  $exportRequest = Start-AzureSqlDatabaseExport -SqlConnectionContext $SqlCont ... 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : NotSpecified: (:) [Start-AzureSqlDatabaseExport], NullReferenceException 
    + FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.SqlDatabase.Database.Cmdlet.StartAzureSqlDatabaseExport 

DEBUG: 2:05:19 PM - StartAzureSqlDatabaseExport end processing. 

J'ai vérifié les variables que j'utilise pour cette applet de commande et ils ne sont pas nuls. Avant cette applet de commande j'utilise le code suivant:

Import-Module Azure 
Import-Module Azure.Storage 

Get-AzureRmSubscription –SubscriptionName “Production” | Select-AzureRmSubscription 

# Username for Azure SQL Database server 
$ServerLogin = "username" 

# Password for Azure SQL Database server 
$serverPassword = ConvertTo-SecureString "abcd" -AsPlainText -Force 


# Establish credentials for Azure SQL Database Server 
$ServerCredential = new-object System.Management.Automation.PSCredential($ServerLogin, $serverPassword) 

# Create connection context for Azure SQL Database server 
$SqlContext = New-AzureSqlDatabaseServerContext -FullyQualifiedServerName “myspecialsqlserver.database.windows.net” -Credential $ServerCredential 

$StorageContext = New-AzureStorageContext -StorageAccountName 'prodwad' -StorageAccountKey 'xxxxx' 
$Container = Get-AzureStorageContainer -Name 'automateddbbackups' -Context $StorageContext 

$exportRequest = Start-AzureSqlDatabaseExport -SqlConnectionContext $SqlContext -StorageContainer $Container -DatabaseName 'Users' -BlobName 'autobackupotest.bacpac' -Verbose -Debug 

Qu'est-ce qui pourrait ne pas fonctionner ici? Ce message d'exception ne fournit aucun détail.

Répondre

2

J'ai testé votre code et ça marche très bien de mon côté.

Exécutez Login-AzureRmAccount pour vous connecter avant Get-AzureRmSubscription –SubscriptionName “Production” | Select-AzureRmSubscription, vérifiez que l'abonnement Production existe dans le client actuel. Et double vérifier le nom d'utilisateur, mot de passe pour le serveur SQL, StorageAccount, StorageAccountKey, ContainerName sont tous corrects.