AZCopy to upload or download Azure SQL Database export
Let’s take a hypothetical example that your app generates a subsequent file for each order in your storage account and you’ve to download\copy it to one of your servers. Now how will you achieve this? AZCopy is the solution.
You can use Azure portal to do it, however it will be a manual exercise and not a feasible solution. Here comes AZCopy to rescue. This is a powerful tool which can help you do this easily. It’s just like Robocopy.exe. This tiny tool helps you copy all type data from your storage account be it a blob or a table entity.
AZCopy Benefits
You can upload, download, copy files concurrently & the biggest advantage you get is it can resume interrupted operations.
Download the latest version of AZCopy Utility (MicrosoftAzureStorageTools.msi) from here: http://aka.ms/downloadazcopy. The setup is less than 3 megabytes in size. Here is how it looks like:
It doesn’t offer any GUI to play with. That means there is a slight learning curve for all those GUI people.
Let’s see a basic command, how to copy/upload a single file from local disk to Azure storage account:
AzCopy /Source:C:\Backup /Dest:https://sepstoragedemo.blob.core.windows.net/db-files /DestKey:a4IQjGlIpDFPwMS4sF8v+tSrd50s5+XXFSS17JFw3hTl4fnrJvigNA9OAZAx5u4m8DmcTlRKvtibX1GLRW9jDw== /Pattern:AZCopy.txt
Please note that you must issue the statement in a single line without any linebreaks.
In-case you want to download the file from Azure to local disk you just need to change the source and destination values accordingly along with relevant Access Keys. You can also use the same command if you want to copy files between different storage accounts, the storage accounts can be in the same or different regions.
The syntax is quite simple, here are the switches one may use with the command:
/Pattern:”file-pattern”
Specifies a file pattern that indicates which files to copy. The behavior of the /Pattern parameter is determined by the location of the source data, and the presence of the recursive mode option. Recursive mode is specified via option /S.
If the specified source is a directory in the file system, then standard wildcards are in effect, and the file pattern provided is matched against files within the directory. If option /S is specified, then AzCopy also matches the specified pattern against all files in any subfolders beneath the directory.
AzCopy uses case-sensitive matching when the /Source is a blob container or blob virtual directory, and uses case-insensitive matching in all the other cases.
/S à Specifies recursive mode for copy operations. In recursive mode, AzCopy will copy all blobs or files that match the specified file pattern, including those in subfolders.
Let’s cross verify the file on Azure storage account using Portal:
Since the tool copies the files asynchronously, once you issue the statement the copy operation starts in the background and uses only the available spare bandwidth. You can however use /SyncCopy parameter to force the copy operation synchronously.
Hope you got answer to your questions! Happy Learning!
feel free to leave a comment. 🙂
Thanks,
Sarabpreet Singh Anand
Subscribe now to get latest Tips\blog posts in your Inbox
Follow @SQLChamp