Azure Data Movement Tools: AzCopy and Storage Explorer

Azure Data Movement Tools: AzCopy and Storage Explorer

A friendly, step-by-step guide to moving files into, out of, and between Azure storage accounts, using one fast command-line tool and one easy visual app, and knowing when to use which.

Imagine you are moving house. You could carry boxes one at a time to your car and make fifty trips, or you could hire a removal van with a crew that loads everything in one go. You could also walk through each room yourself, pointing at what goes and what stays. Both ways get your belongings to the new home, but they suit different situations. In the Azure world, AzCopy is the removal van crew, and Storage Explorer is you walking through the rooms with a clipboard.

In this guide we start from the very beginning. We will learn why moving data is harder than it looks, what Azure storage accounts are, and how two free Microsoft tools make the job safe, fast, and repeatable. Then we study how each tool works inside, how to sign in to them securely, how to keep transfers fast, how to recover when something breaks, and how to avoid the mistakes that catch many first-time users. Every new word is explained when it first appears, and every big idea comes with an everyday comparison.

AzCopy
fast command-line tool for bulk and scripted transfers
Storage Explorer
visual desktop app for browsing and managing storage
Free
both tools are offered by Microsoft at no charge

1What Are Data Movement Tools?

Start with the simple idea, then build up the picture slowly.

A data movement tool is a program whose job is to copy data from one place to another. The places may be your own computer, a file server in your office, an Azure storage account, or even a storage service run by another cloud company. The program reads the data at the source, sends it across the network, and writes it at the destination, while taking care of the awkward details such as retries, speed, and checking that nothing was damaged on the way.

Azure provides two of these tools that almost every Azure user meets sooner or later. AzCopy is a small command-line program. A command line is a text window where you type instructions instead of clicking buttons. AzCopy is built for speed, for large amounts of data, and for automation, which means running the same job again and again without a person clicking. Azure Storage Explorer is a desktop application with windows, folders, and buttons. It lets you see what is inside your storage accounts and drag files in and out, much like using the file manager on your own computer.

Analogy

Think of a courier company. AzCopy is the freight department: give it a big job, an address, and a delivery rule, and it moves a huge load quickly and keeps a record. Storage Explorer is the front counter: a friendly desk where you can look at what is stored, open a parcel, hand over a single package, and ask simple questions.

Before going further we should name the place where the data lives. Azure keeps files and objects in a storage account, which is a top-level container in Azure that holds several kinds of storage. The kinds that matter in this guide are Blob storage, which stores objects such as pictures, backups, and logs inside containers, and Azure Files, which stores shared folders that computers can mount like a drive. Both tools understand these two kinds, and Storage Explorer also understands a few more.

It is important to see what these tools are not. They are not databases, and they are not backup products with schedules built in. They do not change the data they carry. They simply move it, faithfully and efficiently. What you decide to move, when, and how often is up to you, and good planning around the tools matters as much as the tools themselves.

2Why Moving Data Is Harder Than It Looks

To see why good tools matter, picture what goes wrong without them.

Copying one small file from your laptop to a server is easy. Copying five million files totalling several terabytes over an office internet link is a different story. A terabyte is about a thousand gigabytes, roughly what a thousand hours of high-quality video would need. At that size, everything that is rare for small jobs becomes normal: the network drops for a moment, a laptop goes to sleep, a file is changed while it is being copied, and a single error in the middle of the night can ruin a transfer that has already run for ten hours.

The slow, fragile way

Some people try to move data with ordinary drag and drop in a file manager, or with a simple copy program. These work for small jobs, but for big ones they have serious weaknesses. They usually copy one file at a time, which leaves most of the network bandwidth unused. They do not know how to resume neatly after an interruption, so a failure means starting again. They give little useful report on what succeeded and what failed. And they were not designed to talk to cloud storage, so they often cannot be used for this purpose at all.

Analogy

Moving a library with one person and a shopping bag would take months, and if the person caught a cold halfway, nobody would know which books had already moved. A proper moving company uses many workers at once, numbers every box, and keeps a checklist so that any interruption can be picked up exactly where it stopped.

Why the cloud changes the problem

Cloud storage speaks through web requests over the internet. Each file becomes one or more requests, and each request has a small fixed delay. If you send them one at a time, the delays add up to a lot of waiting. The solution is to send many requests at once, which is called parallelism. A good data movement tool opens many connections and keeps them busy, so that the network link, rather than the tool, becomes the limit.

Why safety matters

Data is valuable, and moving it creates risk. A careless copy can overwrite newer files with older ones, delete things that should have stayed, or leave a half-finished mess. Good tools offer protective features such as a practice mode that shows what would happen without doing it, careful rules for replacing existing files, and checks that confirm the copy matches the original.

3The Problems These Tools Solve

Every tool exists because somebody had a painful problem. Here are the main ones.

Speed

Big transfers finish sooner

Many files move in parallel, so the network link is used fully instead of sitting idle.

Reliability

Failures do not mean starting over

Jobs can be resumed, and failed pieces can be retried without repeating finished work.

Automation

Repeatable jobs

The same transfer can be written once in a script and run on a schedule, with no human clicking.

Visibility

See and manage your storage

A visual app shows containers, folders, files, and settings without writing commands.

Migration

Moving in from elsewhere

Data can be brought in from office servers and from some other cloud providers.

Safety

Checks and previews

Practice runs, overwrite rules, and integrity checks reduce the chance of costly mistakes.

One-time migration

A company retires its old file server and wants everything in Azure by Monday. This is a migration, a one-time move of a large body of data. AzCopy is ideal here because it is fast and can resume if the weekend brings trouble.

Ongoing synchronisation

Another team needs a folder on a local server to stay matched with a container in Azure, with new and changed files copied across every night. This is synchronisation, keeping two places in step. AzCopy has a dedicated mode for this, so only the differences travel, which saves time and money.

Everyday browsing and small fixes

A developer needs to look inside a container, delete a test file, upload a single configuration file, or check which version of a file is stored. Writing a command for each of these small tasks is slow. Storage Explorer lets them do it in a few clicks.

i
Tip

A good rule of thumb is this: use Storage Explorer to look, learn, and make small changes, and use AzCopy to move large amounts of data or to do the same thing repeatedly. Many teams use both every week.

4Core Concepts You Must Know

Seven building blocks. Learn these and the rest of the topic becomes easy to follow.

Source and destination

Every transfer has a source, which is where the data comes from, and a destination, which is where it goes. Either can be a local folder, a container in Blob storage, a share in Azure Files, or, for AzCopy, certain storage services of other cloud providers. Naming both clearly is the first step of every job.

Blob containers and file shares

A blob is one stored object, such as a picture or a backup file. Blobs live in containers, which are like top-level folders. A file share is a shared folder in Azure Files that can be mounted on computers. The tools treat these a little differently because blob storage is really a flat list of names, while file shares have true folders.

Authentication

Authentication means proving who you are. Azure storage will not let anyone read or write without it. The two main ways in these tools are signing in with your work account through Microsoft Entra ID, and using a shared access signature, called a SAS, which is a specially built web address that grants limited access for a limited time.

Authorisation and roles

Authorisation means checking what you are allowed to do after you have proved who you are. Azure uses roles, which are named bundles of permissions. For example, one role allows reading blobs and another allows writing them. A person may sign in successfully and still be refused because they lack the right role.

Jobs and transfers

In AzCopy, each command you run creates a job, which is a unit of work with an identity number. A job is split into many small transfers, usually one per file or per piece of a large file. AzCopy records the plan of the job on disk, which is what makes resuming possible.

Copy versus sync

A copy sends everything you name and may replace what is already there, depending on the rules you set. A sync compares source and destination and moves only the differences, making the destination match the source. Sync is one-directional: it makes the destination look like the source, not the other way round.

Server-to-server transfer

When both the source and the destination are in Azure storage, AzCopy can ask the destination to fetch the data directly from the source, without the data passing through your computer. This is called a server-to-server copy. It is very fast, and your own internet link is barely used.

ConceptWhat it isEveryday comparison
Source and destinationWhere data starts and where it ends upPick-up address and delivery address
Container or shareTop-level holder of blobs or filesA warehouse section
AuthenticationProving who you areShowing your ID badge
RoleA bundle of allowed actionsThe key set your badge carries
SAS tokenA time-limited, limited-power access linkA visitor pass that expires today
JobOne run of a command, with an IDOne delivery order
SyncCopy only what differsTop up what is missing instead of refilling everything

5Architecture and Components

How the pieces fit together, from your computer to the storage account.

Look at the diagram below from left to right. On your side are the sources, such as local disks, office file servers, and perhaps another cloud. In the middle sit the two tools. On the Azure side is the storage account, with its blob containers and file shares. The tools talk to Azure over the internet or over a private network link, using web requests, after you have proved your identity.

flowchart LR
    LD["Local disk"] --> AZ["AzCopy"]
    FS["Office file server"] --> AZ
    OC["Other cloud storage"] --> AZ
    SE["Storage Explorer"] --> AZ
    AZ --> AUTH["Microsoft Entra ID or SAS token"]
    SE --> AUTH
    AUTH --> NET["Internet or private network link"]
    NET --> SA["Storage account"]
    SA --> BC["Blob containers"]
    SA --> FSH["Azure Files shares"]
Figure 1: Sources, tools, authentication, and the storage account

AzCopy as one small program

AzCopy is delivered as a single program file that you download and unpack. It does not need a long installation, and it works on Windows, Linux, and macOS. Because it is a command-line program, it can be placed inside scripts, scheduled jobs, build pipelines, and automation tools. It is written to be fast and to use the computer’s processor and network connection efficiently.

Storage Explorer as a desktop app

Storage Explorer is a normal desktop application that you install, available for Windows, macOS, and Linux. It shows a tree on the left with your accounts, containers, and shares, and a list on the right with the contents. You can sign in with your Azure account, or connect using a connection string or a SAS. When it moves large amounts of data for blobs and files, it relies on AzCopy behind the scenes, so the two tools share the same strong transfer engine.

What Microsoft manages and what you manage

Microsoft manages the storage service, its hardware, and its copies of your data. Microsoft also publishes and updates both tools. You manage the computer that runs the tools, the network link, the identities and permissions, the scripts, and the choices about what to move and when. This is the shared responsibility model, and it means that a slow transfer is often about your computer or your network, not the storage account.

!
Watch out

Storage Explorer is a convenient window into your data, but it is also a powerful one. A wrong click can delete a container full of files. Treat it with the same care you would give an administrator account.

6How AzCopy Works Internally

What happens between “I press enter” and “the files are in Azure”.

When you run an AzCopy command, the program first understands what you asked: the source, the destination, and the rules such as whether to include subfolders. It then starts scanning, which means listing the files at the source and, for sync, at the destination. While scanning, it builds a plan, which is a list of all the transfers that must happen. This plan is saved to disk in a small set of files, so that if the job stops, the program remembers what was planned and what was already finished.

Splitting big files into blocks

Large files are not sent as one huge piece. Blob storage accepts big files as a series of smaller blocks, and AzCopy sends many blocks at the same time. When all blocks have arrived, it asks Azure to join them into the final file. This is faster, and it also means that if one block fails, only that block must be sent again instead of the whole file.

Analogy

Sending a long, heavy sofa through a narrow door is painful. A removal crew takes it apart into cushions, arms, and legs, carries the pieces through several doors at once, and rebuilds the sofa inside. If a leg is dropped, they fetch only that leg.

Parallel workers

AzCopy runs many worker threads at once. A thread is a small line of work inside a program, and many threads together let the program do many things at the same time. The number of parallel connections is chosen automatically based on the computer, and you can change it if you need to slow it down or speed it up. The aim is to keep the network busy without overwhelming the computer or the storage account.

flowchart TD
    CMD["You run a command"] --> SCAN["Scan source and destination"]
    SCAN --> PLAN["Build job plan and save to disk"]
    PLAN --> SPLIT["Split big files into blocks"]
    SPLIT --> WORK["Many parallel workers send pieces"]
    WORK --> RETRY{"Did a piece fail?"}
    RETRY -->|"Yes"| AGAIN["Retry the piece with a delay"]
    AGAIN --> WORK
    RETRY -->|"No"| JOIN["Azure joins blocks into final files"]
    JOIN --> SUM["Print summary and write log"]
Figure 2: The internal steps of an AzCopy job

Retries and the busy signal

The network is not perfect, and the storage service sometimes says it is busy, which is its way of asking callers to slow down. AzCopy handles both by retrying failed pieces after a short wait, and by increasing the wait when trouble continues. This is why a job can survive a short network drop without human help. If a piece keeps failing, it is reported as failed in the summary, and you can resume the job to try the failed pieces again.

The logs and the plan files

AzCopy writes log files and job plan files into a folder in your user area. The logs describe what happened, which is invaluable for finding out why a particular file failed. The plan files are what make the resume feature work. Because these files take disk space over time, there is a command to clean up old jobs once you no longer need them.

7Data Flow and Lifecycle of a Transfer

The life of a data movement project, from planning to cleaning up.

A transfer project has a lifecycle, which is simply the series of stages it passes through. Skipping a stage is the usual cause of trouble. The most common error is to go straight to running the big transfer, without planning permissions, testing with a small sample, or deciding how success will be checked.

flowchart LR
    A["Plan what and how much"] --> B["Prepare accounts and permissions"]
    B --> C["Test with a small sample"]
    C --> D["Run the full transfer"]
    D --> E["Verify the result"]
    E --> F{"Everything matches?"}
    F -->|"No"| G["Resume or fix and retry"]
    G --> E
    F -->|"Yes"| H["Clean up tokens and logs"]
Figure 3: Lifecycle of a data movement project
1

Plan

Measure how much data there is, how many files, how fast the network link is, and by when the move must finish.

2

Prepare

Create the storage account and containers, assign the right roles, and open network access for your computer.

3

Test

Move a small sample, including a few awkward files such as very large ones and ones with unusual names.

4

Run

Start the full job, ideally from a well-connected machine, and keep an eye on progress.

5

Verify

Compare counts and sizes, check the summary for failures, and spot-check files by opening them.

6

Clean up

Remove temporary access links, delete test data, and clear old job records.

The path of a single file

Follow one file as it travels. AzCopy opens it on your disk, reads it in blocks, and sends the blocks as web requests over an encrypted connection to the storage account. The storage service writes each block, then, when told, joins them into one blob. The final blob appears in the container with the name and folder-like path you asked for. At every step, the tool can tell exactly which blocks have been accepted, so an interruption never loses track of progress.

i
Note

The first full run is often the slowest and the most nerve-wracking. Many teams run a first big pass well before the final cut-over date, and then run a quick second pass that moves only the changes, so the final switch-over is short.

8Storage Explorer in Depth

The visual side of Azure storage, and the things it does well.

Storage Explorer is designed so that a person who has never typed a command can still work with Azure storage. After you sign in, it lists your subscriptions and storage accounts. Opening an account reveals its containers, shares, and other items. Opening a container reveals its blobs and folders, just like opening a folder on your own computer.

What you can do with it

Browse

See what is stored

Navigate containers, folders, and files, search by name, and view basic details such as size and last change time.

Transfer

Upload and download

Drag files in and out, or use the toolbar buttons, and watch progress in an activity panel.

Manage

Edit properties

Change a blob’s access tier, content type, and metadata, or rename and delete items.

Share

Create access links

Generate time-limited SAS links with chosen permissions, and manage stored access policies.

Recover

Undo mistakes

Where soft delete is on, view deleted items and bring them back, and look at earlier versions and snapshots.

Connect

Many ways in

Sign in with your Azure account, or attach by connection string, SAS, or account details, including a local test emulator.

Other storage types

Besides blobs and files, Storage Explorer can also show queues, which hold small messages for programs to process, and tables, which hold simple structured records. It can also open data lake storage, which is blob storage organised with true folders for analytics, and some other Azure data services. This makes it a convenient single window for many kinds of Azure data.

The emulator for developers

Developers often test their programs against a storage emulator, a small program on their own computer that pretends to be Azure storage. This lets them test without spending money or touching real data. Storage Explorer can connect to such an emulator, so the developer can look at the test data with the same tool they use for real accounts.

The limits of a visual tool

Storage Explorer is ideal for people and for modest jobs. It is not the best choice for scheduled, unattended work or for very large, carefully tuned migrations, because clicking cannot be repeated automatically and cannot easily be placed inside a script. For those cases AzCopy, the engine underneath, is the better tool to use directly.

Analogy

Storage Explorer is like the dashboard of a car: a friendly view with a few controls. AzCopy is like the engine and the gearbox. You can drive well using only the dashboard, but a mechanic who wants to tune the performance goes straight to the engine.

i
Tip

Keep Storage Explorer up to date. It is updated often with new features and fixes, and an old version may not support the newest storage features or sign-in methods.

9Signing In: Entra ID, SAS and Keys

Choosing how to prove who you are is the most important security decision.

Signing in with Microsoft Entra ID

Microsoft Entra ID is Microsoft’s identity service, the system that holds your work account. In AzCopy you sign in with a login command, which opens a page where you enter your account details. In Storage Explorer you add your Azure account in a sign-in window. After signing in, your permissions depend on the roles assigned to you. This is the preferred approach for people because the access can be reviewed, limited, and removed centrally, and nothing secret has to be copied around.

For the right permissions, a person who uploads blobs needs a role that allows writing blob data, and a person who only downloads needs a role that allows reading blob data. Having broad management rights over the account is not the same thing. A common surprise is that an account owner can manage the account settings but still cannot read the data until a data role is assigned.

Signing in for automation

For scripts that run without a person, there are two common approaches. A managed identity is an identity that Azure itself gives to a resource, such as a virtual machine, so that the machine can sign in without any stored password. A service principal is an application identity with its own secret or certificate. Managed identity is the safer choice when the script runs inside Azure, because there is no secret to leak.

Shared access signatures

A shared access signature, or SAS, is a token added to a storage address that grants specific permissions for a specific time. For example, it can allow only reading, only on one container, only until tomorrow evening, and only from one network address. A SAS is handy when you must give a person or a program limited access without creating an identity for them.

MethodBest forMain riskAdvice
Entra ID sign-inPeople working interactivelyMissing data role causes refusalPreferred default
Managed identityScripts running inside AzureRole given too broadlyBest for automation in Azure
Service principalAutomation outside AzureStored secret can leakUse certificates and rotate secrets
SAS tokenShort-term, limited sharingAnyone holding it can use itShort expiry, least permission
Account keyEmergency onlyFull power over the accountAvoid, and keep it out of scripts

Kinds of SAS

A SAS can be signed in different ways. One kind is signed with the account key, so anyone who can produce it effectively uses the master key. Another kind, the user delegation SAS, is signed with Entra ID credentials and is tied to the person who created it, which is generally the safer option. Use short lifetimes for either kind, and prefer the delegation kind when the tool or scenario supports it.

Analogy

An account key is the master key to the whole building. A SAS is a visitor pass for one room that stops working at five o’clock. An Entra ID sign-in is a staff badge that is checked at each door and can be cancelled in a moment.

!
Watch out

AzCopy does not accept the storage account key directly as a sign-in method. You use Entra ID or a SAS. If you generate a SAS, remember that it is stored in your command history and may appear in logs, so treat the full link as a secret.

10Performance, Planning and Cost

What makes transfers fast or slow, and what they cost.

The four limits

A transfer is only as fast as its slowest part. There are four places a limit can appear. First, the network link between your computer and Azure: a link of 100 megabits per second can carry at most about 45 gigabytes in an hour, no matter how good the tool. Second, the source disk, which must read the files quickly enough. Third, the computer, whose processor and memory must keep up with many parallel connections. Fourth, the storage account itself, which has limits on requests and data per second.

Analogy

Moving water through a series of pipes, the flow is set by the narrowest pipe. It does not matter that three pipes are wide if one is thin. Finding which pipe is the thin one is the whole art of speeding up a transfer.

Many small files versus a few large files

One million tiny files and one large file of the same total size behave very differently. Each small file needs its own set of requests, and the fixed delay of each request dominates. A large file is split into blocks and moves at full speed. If you have millions of small files, expect a lower data rate, and consider whether packing them into a few archive files first would make sense for your case.

Placing the tool close to the data

Distance adds delay. Running AzCopy on a virtual machine inside Azure, in the same region as the storage account, avoids the slow public internet for the last part of the journey. For server-to-server copies between two storage accounts, the data does not pass through your computer, so you can start the job from anywhere and let Azure do the heavy lifting.

Tuning options

  • Concurrency. The number of parallel connections can be raised on a strong machine and lowered on a weak or shared one.
  • Bandwidth cap. A cap on megabits per second protects office users from a transfer that would use the whole internet link during working hours.
  • Block size. Larger blocks can help with very large files, within limits Azure allows.
  • Benchmark mode. AzCopy includes a benchmark command that uploads and downloads generated test data so you can measure what your link and account can really do before the real job.
  • Filters. Include and exclude patterns let you skip unwanted files, such as temporary files, and so save time.

What it costs

The tools themselves are free. The costs come from Azure. Storing data costs money each month. Many operations, such as listing and writing millions of tiny files, are billed per batch of operations. Data leaving Azure to the internet is generally charged, while data coming in is generally not. Copying between regions can also incur charges. Prices and rules differ by region and storage type, so check the current Azure pricing pages and the pricing calculator rather than assuming.

Cost helpers

  • The tools are free to download and use
  • Uploading data into Azure is usually not charged
  • Syncing moves only differences, so fewer operations
  • Running inside the same region avoids transfer charges

Cost risks

  • Downloading large data out of Azure is charged
  • Millions of small files create many billable operations
  • Repeated full copies instead of syncs waste money
  • Forgotten test data keeps costing storage fees

11Reliability, Resume and Sync Strategies

Transfers fail sometimes. Good habits make failure boring.

Resuming a job

Because AzCopy saves a plan for each job, an interrupted job can be resumed. You list the recent jobs, find the one that stopped, and ask AzCopy to continue it. It skips what is already finished and retries what failed or never started. For safety, you will need to supply the access token again when resuming, because it is not stored with the plan.

Overwrite rules

When a file with the same name already exists at the destination, the tool must decide what to do. The overwrite rule lets you choose: always replace, never replace, ask each time, or replace only if the source is newer. This single choice protects you from the nightmare of old files wiping out new ones, so decide it deliberately for every job.

!
Watch out

Overwriting the wrong direction is one of the most expensive mistakes in data movement. Always check which side is the source and which is the destination before you press enter, and use the practice mode first.

Practice mode

AzCopy offers a dry run option, which prints what would be copied, replaced, or deleted without actually doing it. Reading that list takes a few minutes and can save days of repair. This is especially valuable for sync jobs that may delete files at the destination.

How sync decides what to move

The sync command compares the files at the source with those at the destination, typically using the last modified time. Files that are missing or changed at the destination are copied. Optionally, the sync can also delete files at the destination that no longer exist at the source, so that the two places match exactly. That deletion option is powerful and dangerous, so use it with the practice mode and, ideally, with soft delete turned on at the destination.

flowchart TD
    S["Start sync job"] --> L["List source and destination"]
    L --> C{"File exists at destination?"}
    C -->|"No"| N["Copy file to destination"]
    C -->|"Yes"| M{"Source newer or different?"}
    M -->|"Yes"| O["Replace file at destination"]
    M -->|"No"| K["Skip file"]
    N --> X{"Delete extra destination files enabled?"}
    O --> X
    K --> X
    X -->|"Yes"| D["Remove files not present at source"]
    X -->|"No"| F["Finish and print summary"]
    D --> F
Figure 4: How a one-way sync decides what to copy, replace, skip, or remove

Verifying the result

After a transfer, check that the destination is complete and correct. Compare the number of files and the total size. Review the job summary for failed items. AzCopy can compute and store an MD5 fingerprint, a short code that identifies the exact content of a file, when uploading, and can check it when downloading, so that damaged files are flagged. For important data, open a sample of files at the destination and make sure they look right.

Protecting the destination

Before running large transfers into a container that already holds data, consider turning on soft delete and versioning for that storage account. These features keep earlier copies of replaced or deleted blobs for a period, so an accidental overwrite can be undone. Redundancy settings protect against hardware failures, but only versioning and soft delete protect against your own mistakes.

12Security

Data in motion is data at risk. Protect the journey and the keys.

Security for data movement has several parts. Who may run transfers, which is identity and roles. From where they may connect, which is networking. How the data travels, which is encryption in transit. And what is left behind, such as tokens, logs, and temporary copies.

Encryption

Both tools talk to Azure over secure web connections, so data is encrypted while it travels. Azure also encrypts data at rest on the storage account. If your organisation requires its own keys for at-rest encryption, that is set on the storage account and the tools simply work with it.

Network rules

A storage account can be set to accept connections only from certain networks. If your computer is outside the allowed list, the tools will be refused even when your identity is fine. The fix is to allow your network address, to use a private endpoint reachable from your network, or to run the tool from a virtual machine inside the allowed network. Plan this before a migration weekend, not during it.

Protecting tokens and logs

A SAS token is a secret. Do not paste it into chat messages, tickets, or documents. Do not save it in scripts that are stored in shared folders or source code repositories. Remember that command history and log files may record it. Choose short expiry times so that a leaked token becomes useless quickly.

Security checklist

  • Prefer Entra ID or managed identity over SAS tokens, and avoid account keys.
  • Use least privilege. Give only the roles needed, only on the containers needed, for only as long as needed.
  • Set short SAS lifetimes and limit them by permission, resource, and network address where possible.
  • Restrict the network using firewall rules or private endpoints.
  • Keep tools updated so you receive security fixes.
  • Clean up temporary access, test containers, and old logs after the project.
  • Audit access using the storage account’s logs so you can see who moved what.
Analogy

Moving valuables requires an armoured van, a sealed route, and a record of who held the keys. Using an open truck with the keys left in the ignition would be a risky way to move the same goods, even if the destination is a perfectly good vault.

i
Note

Only download the tools from Microsoft’s official pages. Look-alike download sites may offer altered versions. A tool that runs with access to your storage deserves careful sourcing.

13Monitoring, Logging and Troubleshooting

You cannot fix what you cannot see. Here is where to look.

Monitoring means watching the health and progress of a job. Logs are written records of what happened. There are three useful places to look: AzCopy’s own console output and log files, the Storage Explorer activity panel, and the Azure Monitor data about the storage account.

AzCopy output and logs

While a job runs, AzCopy prints a regular progress line showing how many files are done, how many failed, how many are pending, and the current speed. When it ends, it prints a summary with totals and a status. Log files record each failed item with the reason, such as “access denied”, “network error”, or “server busy”. The log level can be made more or less detailed. The job-listing commands show past jobs and their status, and a separate command can show the failed pieces of a chosen job.

Storage account metrics

Azure Monitor shows how busy the storage account is. The numbers to watch are the number of requests, the amount of data in and out, the response time, and the rate of errors and throttled requests. A rise in server-busy responses during a transfer means the account is being asked to do more than it comfortably can, and slowing the transfer down will usually help.

SymptomLikely causeWhat to do
Access denied or 403 errorsMissing data role, expired or wrong SAS, or blocked networkCheck roles, token dates and permissions, and firewall rules
Not found or 404 errorsTypo in container name or pathCheck names and capitalisation of the address
Server busy errorsToo many requests at onceLower concurrency or add a bandwidth cap
Very slow progressNarrow network link, many tiny files, or far-away machineRun the benchmark, move closer, or batch small files
Many skipped filesOverwrite rule or filters excluding themReview rule and patterns with a dry run
Job stopped unexpectedlyComputer slept, closed window, or lost networkList jobs and resume the stopped one

Troubleshooting step by step

1

Read the summary

Check the final status and the count of failed items before anything else.

2

Open the log

Find the first error for a failed item, since later errors are often just follow-ups.

3

Check identity and network

Most failures are about permissions, expired tokens, or firewall rules, not the tool.

4

Retry the small case

Reproduce the problem with one file, which makes the cause far easier to see.

5

Resume the job

After fixing the cause, resume rather than starting from the beginning.

i
Tip

Keep the logs of any important migration until the project is formally signed off. If someone later asks whether a particular file was moved, the log gives a clear and quick answer.

14Choosing Between Tools and Alternatives

AzCopy and Storage Explorer are two choices among several. Compare before you decide.

Azure offers more ways to move data than these two tools. The right one depends on how much data there is, how fast your network is, and how much management you want. Here are the main members of the family, described in general terms.

OptionStyleBest forThink of it as
AzCopyCommand-line programFast bulk transfers, scripts, repeatable syncsThe freight department
Storage ExplorerDesktop appBrowsing, small transfers, quick managementThe front counter
Azure portal storage browserWeb pageQuick look and small tasks without installing anythingA peephole
Azure Data FactoryManaged pipeline serviceScheduled, orchestrated movement between many kinds of data storesA logistics control tower
Azure Data Box familyPhysical devices shipped to youVery large data where network transfer is too slowA courier truck
Azure Storage MoverManaged migration serviceMoving on-premises file shares into Azure at scale with trackingA full-service removal company

The availability and exact features of the managed services change over time, so check the current Microsoft documentation for each before you design around it.

A simple decision guide

flowchart TD
    Q1{"Is it a quick look or a few files?"} -->|"Yes"| SE["Use Storage Explorer or the portal"]
    Q1 -->|"No"| Q2{"Is the data huge and the network slow?"}
    Q2 -->|"Yes"| DB["Consider a physical Data Box device"]
    Q2 -->|"No"| Q3{"Need scheduled pipelines across many systems?"}
    Q3 -->|"Yes"| DF["Consider Data Factory"]
    Q3 -->|"No"| AC["Use AzCopy"]
Figure 5: A rule of thumb for choosing a data movement approach

Rules of thumb on size and time

To judge whether a network transfer is practical, do a simple sum. Divide the data size by your usable bandwidth. A hundred terabytes over a link that sustains one gigabit per second needs roughly nine days of non-stop transfer in the ideal case, and real life is slower. When the sum gives weeks or months, physical shipping becomes attractive. When it gives hours or days, AzCopy is usually the simplest and cheapest answer.

i
Note

It is normal to combine tools. A team might ship a first huge load on a physical device, then use AzCopy to sync the changes that happened while the device was travelling, and use Storage Explorer to check the result.

15Advantages, Disadvantages and Trade-offs

Every design choice gives something and takes something. Be honest about both sides.

Advantages

  • Both tools are free and supplied by Microsoft
  • AzCopy is fast, parallel, and resumable
  • AzCopy fits into scripts and automated pipelines
  • Storage Explorer makes storage easy to understand and manage
  • Both support secure sign-in through Entra ID
  • Server-to-server copies skip your own network link
  • Practice mode and overwrite rules reduce mistakes

Disadvantages

  • AzCopy has a learning curve for people new to the command line
  • Storage Explorer is not meant for unattended or very large jobs
  • You run and maintain the machine and network yourself
  • Your network link sets the ceiling for uploads and downloads
  • Misconfigured sync or overwrite options can destroy data
  • They move data but do not schedule, monitor, or report like a full pipeline service

The central trade-off

The big trade-off is control versus convenience. AzCopy gives you detailed control and scripting power at the cost of learning its options. Storage Explorer gives you convenience and visibility at the cost of repeatability. Managed services give you scheduling and tracking at the cost of extra setup and extra charges. A good architect chooses the lightest tool that meets the real need.

Speed versus safety

Turning every setting up for maximum speed can overload your machine or the storage account, and skipping the checks saves time at the risk of unnoticed damage. Sensible teams accept a little slower job in return for a dry run, a verification step, and a safe overwrite rule.

Simplicity versus automation

A person clicking in a visual tool is simple, but it relies on that person’s time and memory. A script is more work to write the first time, but it can run reliably every night, and it documents exactly what was done. For anything repeating, automation usually wins in the end.

16Design Patterns and Anti-Patterns

Proven shapes to copy, and common shapes to avoid.

Patterns that work

Pattern 1: Seed then sync

Do a large first pass well before the cut-over date, then run repeated, quick sync jobs that move only the changes. On the final night, a last short sync brings the destination fully up to date, and the switch-over is brief.

Pattern 2: Transfer host inside Azure

Create a small virtual machine in the same region as the storage account and run AzCopy there, using a managed identity. This avoids the public internet for the last leg, avoids stored secrets, and keeps the job running even if your laptop is closed.

Pattern 3: Server-to-server for account moves

When moving data between two storage accounts, let Azure copy directly between them. Your computer only starts the job and watches it, so even a modest laptop can run a very large move.

Pattern 4: Scheduled nightly sync

Place a sync job inside a scheduled task on a server, using a service identity. Send the summary to a log or an email so that someone notices when a night’s run fails.

Pattern 5: Explorer for people, AzCopy for machines

Give support staff and developers Storage Explorer with read-only roles for investigation, and reserve write roles and AzCopy automation for the controlled processes that actually change data.

Anti-patterns

An anti-pattern is a common solution that looks sensible but causes trouble. Here are the usual ones.

AP-01 · Account key in every scriptAvoid
What it looks like

A team builds a long-lived access link or shares the master key so every script can reach storage without any sign-in step.

Why it hurts

If the secret leaks, everything is exposed, and you cannot tell who did what. Changing it later breaks every script at once.

Better approach

Use managed identities or Entra ID roles, and short-lived, narrowly scoped tokens only where nothing else works.

AP-02 · Sync with delete, no dry runAvoid
What it looks like

Someone swaps the source and destination by mistake, and runs a sync that deletes extra files at the destination, with no preview.

Why it hurts

The sync dutifully makes the real data match an empty or old folder. Entire datasets can vanish in minutes.

Better approach

Always run the practice mode first, turn on soft delete and versioning, and double-check direction.

AP-03 · Laptop as the transfer machineAvoid
What it looks like

A multi-day migration runs from a personal laptop on office Wi-Fi, which goes to sleep each evening.

Why it hurts

The job stalls repeatedly, competes with the owner’s daily work, and depends on one person’s schedule.

Better approach

Use a wired, always-on server or a virtual machine in Azure, and set bandwidth caps during office hours.

AP-04 · Trusting without verifyingAvoid
What it looks like

The job finishes, the team shuts down the old system, and nobody compared file counts or opened a sample.

Why it hurts

Skipped, failed, or excluded files stay hidden until somebody needs them, when the original is already gone.

Better approach

Verify counts, sizes, and failures, and keep the source until the check is signed off.

17Best Practices and Common Mistakes

A practical list you can print and keep next to your desk.

Best practices

  • Plan with numbers. Estimate size, file count, and bandwidth, and work out how long the move will take before you start.
  • Test small first. Move a sample that includes your trickiest files before the full job.
  • Use the practice mode for every job that replaces or deletes anything.
  • Choose the overwrite rule deliberately. Never leave it to chance.
  • Prefer identity over secrets. Use Entra ID or managed identities, and short-lived limited tokens otherwise.
  • Run close to the data. Use a machine in the same region, or server-to-server copies.
  • Protect the destination. Turn on soft delete and versioning before large writes.
  • Cap bandwidth in office hours so people still get their work done.
  • Verify and keep logs. Check counts and failures, and keep the logs until sign-off.
  • Keep tools updated and download them only from official sources.
  • Clean up. Remove temporary tokens, test data, and old job files when the project ends.

Common mistakes

Mistake 1

Missing data role

Signing in successfully but being refused because only management roles were assigned, not data roles.

Mistake 2

Expired or too narrow SAS

A token that ends mid-migration or that does not cover the right container or permission.

Mistake 3

Firewall surprise

Storage account rules block the machine running the tool, and the team notices only when the job fails.

Mistake 4

Wrong direction

Swapping source and destination, and overwriting the good data with the old.

Mistake 5

Ignoring small files

Planning for large-file speed and then facing days of slow progress with millions of tiny files.

Mistake 6

Closing the window

Stopping the job by closing a terminal or putting the machine to sleep, instead of running it on an always-on host.

The tool moves the data; only a plan moves it safely.

18Real-World Scenarios

Four typical situations, described as illustrative examples, showing how the tools are used together.

The stories below are illustrative composites of the kinds of situations where teams commonly use these tools. They are not claims about any particular company, but they reflect the reasoning real architects use.

Scenario 1: A publisher retires its file server

A publishing company has twelve terabytes of manuscripts, images, and layouts on an ageing server. The team measures the office internet link and finds that a full transfer would take about two weeks. They run a first AzCopy pass from a wired machine in the evenings with a bandwidth cap, then repeat quick sync passes every night. On the final weekend a last short sync brings everything up to date, and the team verifies counts and opens a sample of files with Storage Explorer before switching staff to the new location.

Scenario 2: A start-up moves data between accounts

A start-up wants to move its customer uploads from a storage account in one subscription to a new account with better security settings. Using AzCopy’s server-to-server mode, one engineer starts the job from a laptop and closes it only to read the summary, because the data travels directly between Azure storage servers. The engineer uses a short-lived token limited to the two containers, deletes it after the job, and checks the counts at both ends.

Scenario 3: A support team investigates a customer problem

A customer reports that a report file looks wrong. A support engineer with a read-only role opens Storage Explorer, finds the blob, looks at its last modified time and earlier versions, and downloads the previous version to compare. No commands, no scripts, and no ability to change the data by accident. The fix and re-upload are done later by the engineering team through a controlled process.

Scenario 4: A research lab and its nightly data

A research lab produces measurement files all day on a lab computer. A scheduled task runs a sync job each night with a service identity, copying only new files to a blob container, with a filter that skips temporary files. The summary is written to a log, and an alert is raised if a run fails. Months later, a student accidentally deletes a folder on the lab computer, and the full history is safe in Azure.

i
Tip

In all four scenarios the team picked the tool that matched the job, used identities and short-lived tokens carefully, and checked the result instead of assuming it. Those habits matter more than any single option.

19Frequently Asked Questions

Short answers to the questions beginners ask most often.

Q1Are AzCopy and Storage Explorer free?
Yes, both tools are free to download and use. You pay for the Azure storage and the operations and data transfer it involves, not for the tools themselves.
Q2Which one should a beginner start with?
Start with Storage Explorer to see how storage accounts, containers, and files look. Move to AzCopy when you need to transfer large amounts of data or repeat the same job.
Q3Does AzCopy work on Linux and macOS?
Yes. It is offered for Windows, Linux, and macOS, so the same approach works on all three.
Q4What can AzCopy copy between?
Local folders and Azure Blob and Azure Files storage, and it can also copy from some other cloud providers’ storage into Azure. Check current documentation for the exact list of supported sources and destinations.
Q5What happens if my computer goes to sleep mid-transfer?
The job stalls or stops. Because AzCopy keeps a job plan, you can list recent jobs and resume the one that stopped, supplying your access details again.
Q6What is the difference between copy and sync?
Copy sends what you name, replacing or skipping existing files according to your rule. Sync compares both sides and moves only the differences, and can optionally delete extra files at the destination.
Q7Can I use the storage account key with AzCopy?
AzCopy uses Entra ID sign-in or a SAS token rather than the raw account key. Using identity or a short-lived token is also the safer approach.
Q8Why do I get access denied after signing in?
Usually because you have not been given a data role for the storage account or container, because a firewall rule blocks your network, or because a SAS has expired or lacks the right permission.
Q9How can I make a transfer faster?
Find the narrowest part of the path: network, disk, computer, or storage account. Run closer to the data, use server-to-server copies when possible, adjust concurrency, and handle many small files with care.
Q10How do I know all my files arrived?
Check the job summary for failures, compare file counts and total sizes, use integrity checks where available, and open a sample of files. Keep the source until you have verified the result.
Q11Does Storage Explorer use AzCopy?
For many blob and file transfers, Storage Explorer uses AzCopy underneath, so the two share the same transfer engine. Storage Explorer simply puts a visual layer on top.
Q12Where do I check the latest features and limits?
Use the current Microsoft documentation and release notes for each tool. Features, supported sources, and limits change over time, so never rely on an old article.

20Summary and Key Takeaways

Everything important, in one place.

AzCopy and Storage Explorer are the two everyday tools for moving and managing data in Azure storage. AzCopy is the fast, scriptable, resumable command-line engine for bulk transfers and repeatable syncs. Storage Explorer is the friendly desktop window for browsing, small transfers, and quick management. Both sign in through Entra ID or limited tokens, both protect data in transit, and they share a strong transfer engine, so you can use them together without conflict.

Remember the comparison we began with: a removal crew and a person with a clipboard. A good move needs both, plus a plan. Count what you are moving, test a small box first, give the crew only the keys they need, watch the work, and check the new house before you hand back the keys to the old one. Follow those habits and your data will arrive complete, safe, and on time.

Key Takeaways

  • Two tools, two roles: AzCopy for large, fast, automated transfers, and Storage Explorer for browsing and small tasks.
  • Plan with numbers: size, file count, and bandwidth decide how long a move takes and which approach fits.
  • Identity first: prefer Entra ID and managed identities, use short-lived limited SAS tokens, and avoid account keys.
  • Protect the destination: turn on soft delete and versioning, choose overwrite rules carefully, and always do a practice run.
  • Be ready for failure: jobs can be resumed, so find the first error in the logs and fix the cause instead of starting over.
  • Go close to the data: use a host in the same region or server-to-server copies for speed and stability.
  • Verify and clean up: compare counts, check failures, keep logs until sign-off, and remove tokens and test data afterwards.