How to Change the Recovery Model of a Database in Azure SQL Edge using T-SQL

By default, databases created with Azure SQL Edge use the simple recovery model. This means that you can’t perform log backups on these databases.

If you need to perform log backups on a database created with SQL Edge, you’ll need to change the recovery model of the database to either full or bulk logged.

This can be done with T-SQL with the ALTER DATABASE statement.

Read more

About the DATE_BUCKET() Function in Azure SQL Edge

T-SQL includes a DATE_BUCKET() function that allows you to arrange data into groups that represent fixed intervals of time. It returns the datetime value that corresponds to the start of each datetime bucket, as defined by the arguments passed to the function.

As far as I’m aware, the DATE_BUCKET() function is only available in Azure SQL Edge at the time of this writing.

Update: DATE_BUCKET() was introduced in SQL Server 2022.

Read more

How to Install SQL Server on an M1 Mac (ARM64)

Update January 2026: When I wrote this article in 2021, the full SQL Server image couldn’t be installed on Apple Silicon machines (the M1 Macs). We had to install SQL Edge instead, which is why I wrote this article. Fortunately, things have progressed since then, and we can now install the full SQL Server image on Apple Silicon machines (including M1, M2, M3, M4).

Therefore, I recommend you read How to Install SQL Server on a Mac in 2026 instead of this article. It’s a very similar process to the one outlined in this article, but it actually installs SQL Server instead of SQL Edge (which has since been retired).

Read more

Difference Between SYSDATE() and NOW() in MariaDB

In MariaDB, the SYSDATE() and NOW() functions are similar in that they return the current date and time.

However, there is an important difference: SYSDATE() returns the time that it executes, whereas NOW() returns the time that the statement started executing.

And when run within a stored procedure or trigger, SYSDATE() will return the time that it executes, whereas NOW() will return the time that the stored procedure or trigger started executing.

Read more

MariaDB Composite Date & Time Units Explained

MariaDB includes a bunch of date and time units that you can use when working with date and time values. For example, MONTH is a unit, and HOUR is another unit.

Some units are composite units. Composite units are when two units get combined into one. The naming convention is that each unit name is separated by an underscore. For example, MINUTE_SECOND is for minutes and seconds.

Below are some examples that demonstrate how composite units work in MariaDB.

Read more

MariaDB ROUND() vs TRUNCATE()

MariaDB has a ROUND() function and a TRUNCATE() function that can return the same results or different results, depending on the exact value of their arguments.

As the function names suggest, ROUND() rounds the number and TRUNCATE() truncates the number. Truncating a number simply cuts it off without performing any rounding.

Below is a quick rundown on the difference between ROUND() and TRUNCATE() in MariaDB.

Read more