Skip to content
Home » Learn » Page 7

Learn

Is Azure SQL Analytics all you need for SQL Server Monitoring?

How well can you monitor Azure SQL Databases and Azure Managed Instances without any 3rd party tools? Is Azure SQL Analytics really good enough for the job? Can it be a decent competitor to powerhouses such as SentryOne, Red-Gate, Apex, Solarwinds and others? Can you use it as a cheap alternative in the cloud? Will I ever stop asking questions and get to the point already? Yes, of course I will! Just keep reading.

Read More »Is Azure SQL Analytics all you need for SQL Server Monitoring?
CI and CD with SSDT and living to tell about it

CI and CD with SSDT Part 2: Methodology & Features for DB DevOps (PASS Global Hebrew)

Watch now! In this session, the second of a 2-part series, we will cover the rich tools, features, and methodologies in SSDT that allow DBAs to implement a continuous database development lifecycle, and how to solve common problems and edge cases.

This webinar was delivered as part of the PASS Global Hebrew Virtual Chapter, and as such is presented in Hebrew.

CI and CD with SSDT and living to tell about it

CI and CD with SSDT Part 1: Development Lifecycle Basics for DBAs (PASS Global Hebrew)

Watch now! In this session, the first of a 2-part series, we will learn what is Git Source Control? What are CI/CD Pipelines? What are Unit Tests? These are all topics that each DBA must familiarize themselves with before integrating with the software development lifecycle.

This webinar was delivered as part of the PASS Global Hebrew Virtual Chapter, and as such is presented in Hebrew.

T-SQL Tuesday #118 – I wish SQL Server had better Table Partitioning

For this month’s T-SQL Tuesday, Kevin Chant asked us to dream up our fantasy SQL Server feature. I love this topic and so I had to join in on this as a late (and first-time) contributor.

My ask from Microsoft for SQL Server is something that…. Well… It should be simple. It should’ve been implemented YEARS ago. I’m thinking somewhere around the year 2005.

Read More »T-SQL Tuesday #118 – I wish SQL Server had better Table Partitioning
Time to re-align!

Re-align Identity Last Value to Actual Max Value

Sometimes, when you have a table with an IDENTITY column, there could be scenarios in which weird “gaps” are created between different IDs.

There can be several possible causes for this:

1. The most obvious cause is when rows are deleted from the table. If many rows are deleted from a table with an IDENTITY column, it’s obviously expected that nothing would “fill” up the “gaps” that these rows have left. IDENTITY values only go one way, they don’t automatically re-fill deleted values retroactively.

2. When a ROLLBACK is performed on a transaction after inserting into a table with an IDENTITY column, the increase in the IDENTITY value is NOT rolled back. So even if the row wasn’t actually inserted, the IDENTITY value is still increased. This can happen both with single-row INSERT commands, as well as BULK insertions. So if, for whatever reason, a lot of insertions are rolled-back in your database, you may see a lot of these “gaps”.

3. There’s a special mechanism, specifically in SQL Server 2012, which “pre-allocates” IDENTITY values for a table, and it does this in memory. So when the SQL service is restarted, next time you insert a value into the table, the IDENTITY value would “jump” by 1000 or 10000 (depending on the column data type). This happens in SQL 2012 only, and was reportedly fixed in later versions. More info about it in this blog post by Ahasan Habib.