Put

Introduction

The Put operator is used to insert data in external (Polybase) tables. This operator was introduced in SQL Server 2016. At that time, the only writeable Polybase target was Hadoop. That changed in SQL Server 2022, when support for Hadoop was removed from the product, but Azure Storage and S3 compatible storage were introduced as new writable Polybase targets. The Put operator is used in both cases. However, its properties and behavior have completely changed as of SQL Server 2022, which leads me to believe that the code was fully replaced, to be a new operator that reuses the same name.

Unlike regular insert operators (Clustered Index Insert, Columnstore Index Insert, Index Insert, Remote Insert, and Table Insert), but similar to Online Index Insert, both versions of the Put operator do not return any rows to their parent operator.

Note that Polybase supported and supports more targets than Hadoop, Azure Storage, and S3 compatible storage, but these are all read only, and hence not supported by the Put operator. See here for a full overview of all Polybase targets.

Visual appearance in execution plans

Depending on the tool being used, a Put operator is displayed in a graphical execution plan as shown below, for all SQL Server versions:

SSMS and ADS
(current versions)

Legacy SSMS

Plan Explorer

Paste The Plan

(not supported)

(no icon)

Detailed description

As mentioned above, the Put operator in SQL Server 2022 and above behaves completely different from the Put operator in SQL Server 2016 through 2019. That’s why they are described on two separate pages.

Change log

(Does not include minor changes, such as adding, removing, or changing hyperlinks, correcting typos, and rephrasing for clarity).

August 4, 2025: Added.

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close