Synapse Pools

Dedicated SQL Pool

Designed for Kimball style star/snowflake schema data warehouses.

Billed for storage and compute. Can be paused.

Contains tables (internal, external, temp), views, procedures - it is a database.

Internal tables are columnstore.

Does not support OPENROWSET, external tables must be explicity created.

Query language is TSQL.


Serverless SQL Pool

Designed for data processing, not data storage.

Billed per-use for compute only. Has cost budgets and limits.

Does not contain internal tables, just external and temporary.

Query language is TSQL.


Links

https://www.red-gate.com/simple-talk/blogs/synapse-serverless-and-dedicated-pool-the-differences-no-one-told-you-about/#:~:text=The%20basic%20differences%20between%20Synapse,we%20choose%20and%20a%20constant




Why did Don Jones say that using Write Host kills a puppy?

Don Jones, a highly experienced author, MVP, and PowerShell expert, famously once said that every time you use Write-Host, you kill a puppy. See Jeffrey Snover's blog for more information.

So, why is it considered so bad? Because it messes with the output streams.

Consider a PowerShell script file with the following two lines.

"This is a test message."
"This is a test message written to Write-Host." | Write-Host

When you run this and redirect the output to a text file, the second message is written to the screen and not written to the text file.

This means that if you run the script from inside some other system, for example a SQL Server Agent job, then you won't be able to capture the output, which is bad.

There are a lot of articles on the web discussing the issue in more detail. Here are a couple that I like.
Write-Host – The gremlin of PowerShell, by Jeff Wouters
Puppycide done right - output versus messages


Microsoft products in the Defender family

Microsoft describe Microsoft Defender XDR and Microsoft Defender for Cloud as their XDR products, with Microsoft Sentinel as their SIEM and SOAR product.

They are, however, very lax with these names. Sometimes they will use "Microsoft Defender for Endpoint", sometimes "Microsoft 365 Defender for Endpoint". There are also plenty of learn.microsoft.com pages using one or more of the old names.

 

Exchange Server Recipients

There are a number of types of Exchange Server recipients, differentiated by the RecipientType and RecipientTypeDetails properties. The following are the common mailbox-enabled recipients.

 

SQL Server Options for Auditing

Server Audit

Captures: Who did (or failed to do) what command and when

Does not capture: What rows/values they touched.

Applies To: SQL Server 2008 Enterprise, SQL Server 2012+ Standard.

Azure SQL Database does have auditing, but it is a different architecture.


Change Data Capture

Captures: What values were inserted, updated or deleted

Does not capture: Who or when, SELECT

Applies To: 2008+ Enterprise


DML Trigger

Captures: Who did an INSERT, UPDATE or DELETE on a table or view, and when and what

Does not capture: SELECT

Notes: Do not fire for all statements (e.g. TRUNCATE TABLE, BULK INSERT)

Applies To: SQL Server, Azure SQL Database.


DDL Trigger - Database scope

Captures: Who CREATEd, ALTERed or DROPped objects in a database

Notes: Does not fire for all statements (e.g. DISABLE TRIGGER).

Applies To: SQL Server, Azure SQL Database.


DDL Trigger - server scope

Captures: Who CREATEd, ALTERed or DROPped objects at the server level.

Notes: Does not fire for all statements (e.g. RESTORE DATABASE).

Applies To: SQL Server.


Logon Trigger - server scope

Captures: Who logged on and when.

Applies To: SQL Server, Azure Synapse Analytics (TOCHECK).


Profiler, Server Trace, Extended Events

Captures: Commands sent to the server.

Does not capture: The results of the commands.

Applies To: SQL Server.