Surprises and a Bug with
SQL Azure DB

So let’s say you have a project to move one of your databases to Azure and “convert” it to a SQL Azure Database. Our company did this just recently and I was the one involved for the database part. Now, that’s all cool and I was really happy to give SQL Azure Database a try, but once we successfully reconnected the application and it was living it’s new “cloudy” life, I decided to check something. Let me tell you what was that and why it surprised me.

I was recently at the SQLBits Conference in London and way back, when I was selected to speak about SQL Server concurrency, I decided I want to do something that’s completely focused on isolation levels. So knowing that I will be doing that at an event of SQLBits size, I figured why not test SQL Azure Database too and see whether or not there is something interesting there. Guess what! There is…  Read More

Speaking at Tarabica
#IT Conference, Serbia

I am extremely happy to share that I was selected to speak at the Tarabica IT Conference in Belgrade, Serbia, which will be held on 28th of March! This is one of the best (if not the best) community events in Serbia and what makes it special is the fact that presentations that are level 100 or 200 are not even considered by the team that organizer’s team. That’s a good way to say to the audience that they can expect only hardcore IT training and no marketing messages during the day and I really love that!

Already looking forward to 28th of March, seeing and meeting a ton of new people! I think it will be a great day there in Belgrade where I will spent 4 days actually as I will also be speaking on 30th of March too, but this time at the Microsoft’s MVP gathering event.

Hope to see you all at Tarabica! :)

Update: If I have to be honest, I did not expected to see more than 300 people at Tarabica IT 2015. However, I am sitting here, listening to Sergey Olontsev(t|b) speaking about corruption and I can see around 70 – 80 people just in this room. Surprising or not the attendees of the conference are more than 600(yes, seriously!), so it’s easy for me to say that this event is one of the biggest in the country and I feel even more privileged to be part of it(not to mention how much are the organisers taking care of us as speakers!). Sharing my slides and code as many people asked about those already!

T-SQL Tuesday #64 Partitioning and the
Serializable Isolation Level


I am just coming back from SQLBits where I delivered a 75 minute session on isolation levels and one of the things that I thought about during my preparation which I figured may be interesting for the audience is a perfect fit for number 64 of our favourite T-SQL Tuesdays. This “thing” involves table partitioning and the serializable isolation level. Let’s me show you what I mean…

Serializable isolation level makes sure that no concurrency phenomenons like dirty reads, non-repeatable reads and even phantom records are possible. The latter are the ones that we want to stop at for a sec and the reason for that is because I want to spend a moment talking about how serializable makes it possible that phantom records will not happen. In serializable isolation level SQL Server takes the so called Key-Range locks in order to not only lock the already read records(as it’s doing in Repeatable Read), but to actually lock the whole range of values preventing the chances of a concurrent transaction to actually insert a record that may be returned once you run that same SELECT query as part of your transaction. OK. Sounds reasonable. Is that… true though? Or if it is, can there be something that can worry us here? Let’s take a look an example.  Read More

Microsoft Certified Trainer. Yet again.

Microsoft Certified Trainer

Microsoft Certified Trainer. Forth year in a row. And the first time I am blogging about it. Why?

In the last few years my personal opinion on the value of the MCT certificate was, let’s say, mixed. It was strange for me how one can become MCT(yes, anyone could have became MCT if he pays a fee!?). It was also strange to me that the training materials that Microsoft was providing to the MCTs (at least to the SQL Server trainers) were with really poor quality, sometimes even full of errors! What’s more, I seriously doubted the overall value of the certification – there was almost nothing that you, as an MCT, get from that program which is somehow… not fair. Now, for first time since 3 – 4 years, I feel like this certification is something one should again be proud of. It’s again something that is worth mentioning when you say what you do and who you are (and that’s not because the fee was raised dramatically). Microsoft has strengthened the requirements for one to become MCT and they actually started requiring things like training experience(kinda important, right?) + feedback from the students to be higher than X. In return they provide MSDN and Office 365 subscription(+ some other cool things), but again – that’s a step in the right direction and I am really happy to finally see it because training, teaching and education in general are really, really important things and I want to see only capable people involved there.

As of me, I have already delivered my first course for 2015 (LINK) and I have 6 more (yes, 6) already arranged and booked till the end of May! So, I am busy, but with a smile on my face and already looking forward to meeting so many new people.

MCTs, wishing you a successful year and a I hope you will be having an amazing time with your students!

Another Group of DBAs Trained


Last Saturday the 4rd group of DBA students (and 5th group just from New Bulgarian University) completed their 40-hour DBA training. I have to say(once again) that I am extremely proud of the group! Their motivation for learning(during some of the days we were working for more than 7 hours – they were just not going home…) was almost second to none. Those guys are all actually database professionals – some of them are system engineers who also work with SQL Server, some of them are reporting specialists and some of them are doing both Oracle and SQL Server on a day-to-day basis. It’s always a fun experience for me as trainer to have such a wide variety of skills because it’s not only them that learn a lot. I do too! So huge congratulations to them for taking the course. I feel privileged that I was their trainer and what’s more I am happy that I made them join our SQL community in Bulgaria. That’s 5 more seriously knowledgable people who are going to participate in the user group meetings, come to events and probably decide to speak at some one day! So much great things, huh? :)

Speaking at
MVP Open Days 2015

MVP Open Days 2015 CEEFirst of all, I have to say that being a Microsoft MVP is a huge honour! Since I got this award last year, many things changed for me for the better and so that’s one more reason why I am really looking forward to 1st of April when Microsoft will announce whether or not I will continue to be part of that elite group of people for one more year(so everyone wish me luck!). In the mean time, however, the MVPs from our region(CEE – Central and Eastern Europe) will gather in wonderful Belgrade on 29th and 30rd of March for a 2 day conference and I am really pleased to say that I will be one of the speakers of the event! What I am going to talk about is one of my favourite topics – Presentation Skills and the title of my session is “Deliver Better Presentations. The Next Level!”. In the 50 minute slot that the conference organisers are giving every speaker, I will simply share my algorithm of how to create and deliver presentations/talks/sessions (whatever you wanna call it) in a way that the audience just does not have any other option, but to rate your session as the best one. I am really looking forward to this event already! The bar is raised high, but I have some serious experience in delivering amazing talks, so I would love to share some of the things I know with the other MVP folks!

See you there and I am sure we will all have great time!

Update: A few hours after the end of the event and just a few more before I get the news on whether I will be MVP for one more year or not, I am attaching my slides from the talk that I delivered at the event. It was a  really nice experience to see so many new people and talk about(even under NDA) for the things we care about – SQL Server and even more interestingly about soft skills and their importance(that was not under NDA though :D). Ending it here with one last huge “THANK YOU” to Yulia Belyanina for everything she did for so many MVPs during her stay in Microsoft! Thanks, Yulia!

Speaking at SoftUni Conf

SoftUni-Conf-MugSoftUni Conf. A conference held in Bulgaria. A conference that’s not organized by Microsoft. A conference that is not organized by any other huge company or corporation. However, a conference that gathers really important group of people together – the people who are going to rule the IT industry in the upcoming years – the students of Software University. I am extremely honored to be able to join that conference as a speaker and I am already looking forward to meet, chat and have fun with those guys this time not for 4 hours though, but for a whole weekend!

Update: When SoftUni was founded, I knew that it was going to be the best place in Bulgaria for young people to become software engineers. Now, however, after being part of their annual conference – SoftUni Conf and actually speaking at the event, I am 100% sure that this is indeed the case! Those students and the people who actually teach, mentor and guide them in their future careers(and many of those students actually already started their careers now!) are simply one of the best in the industry! I am extremely honoured that I was part of this weekend and I am already looking forward to meeting all of them again soon(together with the founder of the university, we have some interesting plans). Here are some of the photos that we(with my girlfriend) took during our stay in Pamporovo and here are the scripts and my slide deck that I used for my presentation.

Concurrency Control Lecture at SoftUni

Just one day. That’s how much time the students of Software University had between the two lectures I delivered for them. During the second one, we talked about transactions. We again had 4 hours in front of us, so we started with the basics, but ended in the world of isolation levels and update conflicts. We also touched on what problems come when using locks and of course they know now what ACID means(because I told them they are going to be asked on their interviews about this!). As last time – here is the video, screen capture and slide deck. Almost everything is again in Bulgarian though.

Performance Tuning Lecture at SoftUni

I recently blogged about me delivering 2 lectures as part of the course on databases at Software University in Sofia. Both of them are now in the past and what can I say – it was great! In my first “visit”, I spent 4 hours with the students and we discussed a lot of things that they need to know in order to make their applications work fast. We started from the hardware(even though they are preparing to become developers) and moved towards instance configurations, database design techniques and finally – queries and execution plans. There were tons of questions and I really believe we all had great time. The materials – video, screen capture and slides are below. However, most of those are in Bulgarian ;)

Speaking at SQLSaturday #376, Budapest

SQLSaturday_Budapst_376I am trilled to share that on 18th of April I “will be back” to one of the biggest SQLSaturday events in Europe – the one in Budapest! Last year the event was crazy successful – more than 500+ people showed up and think about it – when you have so many people + great speakers, sponsors and organizers – the show is guaranteed! Frankly, I expect nothing, but the same if not even more from this years’ event, so I am already looking forward to it!

Hope to see you all there!

Webinar for PASS Profesional Development Chapter


On 11th of March at 17:00 CET I will be delivering a webinar for the PASS Professional Development Chapter. I will be speaking about the topic of design and more importantly what every speaker (or someone who wants to be such) needs to know when he/she is preparing his slides. My personal opinion is that this part of the preparation of a presentation is many times underestimated and I cannot understand why!? I agree that content is important, but how you will deliver it is also something that plays a huge role in the “overall game”. Register here for the webinar, book your calendar and see you in March!

Update: First and foremost – thanks to everyone who attended! It was really great that we were finally able to do that webinar and I am always happy to speak about presentation skills and presentation design in particular. My slide deck and a video from the webinar are below, but I also promised to share some other links, so let’s me keep my promises. Here you can find Cathrine Wilhelmsen’s slideshare profile. I am sharing it, again, just because I want everyone to see that combining different fonts on the same slide can actually a good thing and on this link, you will find some free web sites that you can use for HD photos.

Hope these materials are of use to you and looking forward to hearing from you on what happened when you applied any of those 10 principles we talked about! Good luck and have fun!

SQLHangout #33 Testing Database Code

What a great number and what a great hangout once again! Alessandro Alpi(t|b), a friend of mine from Italy, joined me to talk about testing database code with tSQLt. As you will learn from him tSQLt has a lot of advantages over other tools like Visual Studio for example, especially when we talk about testing code. Alessandro, who is MVP for 8 year now, also shared his experience with a tool that’s called with the interesting name SQLCop and I believe that after watching this video, you will not only be assured that testing your code is important, but you will also know where to start from! So enjoy watching and have fun!

SQLHangout #32 Storage and SQL Server

SQLHangout 32 comes to you and it’s with a special guest – Argenis Fernandez(t|b) or as you may already know him – @DBArgenis! We have been planning this hangout for at least 2 months, so I am really happy it finally became true. What we talked about is simply storage. A topic that is crucial if you are looking forward to having a SQL Server that is performing well. Learn from the SQL Server Certified Master about what’s coming up in the storage world(and what storage he is using), why you need to know more about system administration and Windows Server in particular and what are the specifics of SQL Server when we talk about storage configurations and requirements. By the way, do you know what shortstroking is? You guessed it right – that’s one more thing you will learn about. Enjoy!

T-SQL Tuesday #63
How do you manage security?


Security – a topic that is even more dear to us in the last few months after witnessing so many major flaws with huge, huge organizations. There are quite some things that worried and continue to worry me when we talk about securing data in SQL Server, but one of them really stands out in my mind. Let me tell you which one. Read More

Teaching Databases at SoftUni

softuni-bulgariaSome months ago I delivered a 3-hour seminar for the students at SoftUni. Back then we talked about their first steps with SQL Server and we covered the basics – how to set up an instance, configure the security, create the databases they need and connect their application to that. Now, however, it’s time for the students to pass a whole course on databases and I am happy to “announce” that I will join the trainers team that is lead by the founder of the university – Svetlin Nakov(t|b). I will cover just two of the topics during the course – the one on performance tuning and the one on concurrency – really important topics as some of you know. The course will start on the 2nd of February and I am already looking forward to seeing the students! Stay tuned as more interesting information is coming up really soon…

Update: Here is a short interview with me from the opening day of the course. It’s in Bulgarian though!

SQLHangout #31 Optimizing PowerPivot and Tabular

Number 31 is here and yes, it was a great one(just wanted to say it from the start!)! I was joined by a friend of mine – Johan Brattås(t|b) who I met in Oslo last year at their fantastic SQLSaturday event! What we discussed and what you can learn from Johan, who has some serious experience in the Business Intelligence area, is how you can actually make your PowerPivot workbook or Tabular model faster. He shared some really practical advices on how to dramatically speed your BI solution, but didn’t stop there because I actually asked him about QlikView and Tableau too! Enjoy watching and I hope you will find that useful….

And yes, don’t forget for the webinar which Johan will deliver in February! He will talk about Azure, Tabular and PowerBI, so watch out for an invitation from PASS soon!

SQLHangout #30 Being a DBA in Healthcare: The Specifics

SQLHangout 30! A special number and some amazing content for you to watch! This time I was joined by a friend of mine – Enrico van de Laar(t|b) who works as a DBA for the healthcare industry and yeah, you guessed it right – it’s different to work for such customers. What we discussed and what I believe will be of extreme interest to you are the specifics of the healthcare business and what we as DBAs have to know, understand and be prepared for if we are for one reason or another going to work for such clients. Watch Enrico sharing really interesting things from his day-to-day work which will also prove you how far ahead is Netherlands in delivering quality healthcare services to its citizens! Enjoy!

Speaking at SQLBits XIV, Superheroes, London

SQLBits_Superheroes_Logo2SQLBits. Probably one of the most well-known and anticipated SQL Server events during the year. I am extremely pleased to share with you that I was selected to be one of the speakers of the conference which is going to be held in London between 4rd and 7th of March. I am going to do a partially new session for me – Deep Dive into Isolation Levels – and am I definitely already looking forward to it. Wish me good luck or even better – come and join the conference(it’s in London at the end of the day)! You will have amazing time and you will see, chat and learn from the best speakers in the SQL Server world. It’s worth at least thinking about it, right?

Hope to see you all there!

Update: Sitting at Heathrow while writing this. SQLBits is indeed a conference from another level. You just have to go there in order to understand how huge that event is. To have one of the best minds from Microsoft, most of the best speakers in the world, great venue, incredible organizers and all of that at one place, makes this event really exclusive! I am really honoured and happy that I was able to not only go there, but also speak for this fantastic audience and at the same time I finally saw so many friends of mine, many of which we actually recorded SQLHangouts with! I am really looking forward to the next edition of the event and in the meantime below is my slide deck, here are all of my scripts and here are all of the photos that I took during my stay in London!

Again, thanks everyone for making this conference happen!

Deep Into Isolation Levels from Boris Hristov

T-SQL Tuesday #62
Healthy SQLs in 2015


Here we are in 2015 and the T-SQL Tuesday cannot start in a better way than this. The question, this time coming from Robert Pearl(t|b), is what each one of us will do to improve our SQL environments in 2015 and I have to say – that’s a really great question and something to write about especially for me – a person who changed roles last October.

Read More

SQLHangout #29
Security Issues From the Field

SQLHangout 29 is here and this time I was joined by someone who you may already know from articles on SQLServercentral – Kenneth Fisher(t|b). We talked about issues that we have seen in securing data inside SQL Server, so expect to hear some real-world cases that we both faced and how we approached them. Kenneth also shared some great tips on how you can improve your security and the fact that he actually written two really nice scripts to help you understand your security configuration – you can find those here and here. Enjoy watching and let us what you think in the comments!