SQL Server – Technical Meaning of ‘Bulk’ in Bulk-Logged Recovery Model

recovery-modelsql serverterminology

With this model there are certain bulk operations such as BULK INSERT, CREATE INDEX, SELECT INTO, etc… that are not fully logged in the transaction log and therefore do not take as much space in the transaction log.

What is the technical meaning of "Bulk" in the "Bulk-Logged Recovery Model"? I need clarity on what-all is classified as bulk please. Is every bulk insert, create index, select into classified as bulk or does it depend on volume of data involved?

As I understand, the Bulk-Logged Recovery Model doesn't fully log the bulk transactions. Then why is it named like this?

Best Answer

As I understand, the Bulk-Logged Recovery Model doesn't fully log the bulk transactions. Then why is it named like this?

Without an answer from the folks that actually named this recovery model, we can only guess about the name. But it seems to me like "bulk-logged" means something similar to "buying in bulk."

You can buy a single steak every day at the grocery store for one price. OR, you could buy in bulk, and get a whole month's supply of steaks for significantly cheaper (per steak).

Similarly, you can log every single action and its data (Full Recovery model). OR, you can log the transactions in bulk (just the page allocations), for significant "savings" in how much information needs to be written to the transaction log.