2016-06-11 64 views

回答

1

您可以将.sql文件存储在Azure Blob存储中,并在Runbook下载.sql文件,读取其内容并将其传递给SqlCommand对象。

喜欢的东西:

try { 
    # Connect to Azure using service principal auth 
    $ServicePrincipalConnection = Get-AutomationConnection -Name $AzureConnectionAssetName   

    Write-Output "Logging in to Azure..." 

    $Null = Add-AzureRmAccount ` 
     -ServicePrincipal ` 
     -TenantId $ServicePrincipalConnection.TenantId ` 
     -ApplicationId $ServicePrincipalConnection.ApplicationId ` 
     -CertificateThumbprint $ServicePrincipalConnection.CertificateThumbprint 
} 
catch { 
    if(!$ServicePrincipalConnection) { 
     throw "Connection $AzureConnectionAssetName not found." 
    } 
    else { 
     throw $_.Exception 
    } 
} 

$Path = "C:\abc.sql" 
Set-AzureRmCurrentStorageAccount -ResourceGroupName $ResourceGroupName -Name $StorageAccountName 

Get-AzureStorageBlobContent -Container $Container -Blob $Blob -Destination $Path 
$Content = Get-Content $Path 
$Cmd = New-Object System.Data.SqlClient.SqlCommand($Content, $Conn)