SQL

Data Persistency and Advanced SQL Server Disk Topologies in Kubernetes

When working with SQL Server in containers and Kubernetes storage is a key concept. In this post, we’re going to walk through how to deploy SQL Server in Kubernetes with Persistent Volumes for the system and user databases.

One of the key principals of Kubernetes is the ephemerality of Pods. No Pod is every redeployed, a completely new Pod is created. If a Pod dies, for whatever reason, a new Pod is created in its place there is no continuity in the state of that Pod. The newly created Pod will go back to the initial state of the container image defined in the Pod’s spec. This is very valuable for stateless workloads, not so much for stateful workloads like SQL Server.

Presenting with VS Code and Running Commands on Remote Hosts

In this blog post, I’m going to show you how to use VS Code and Azure Data Studio for presentations where you need to execute local code on remote systems over SSH.

The Challenge

When using tools like VS Code and PowerShell ISE these tools give you the ability to highlight code and execute that highlighted code. This generally means the highlighted code you want to execute will execute against the local machine. When presenting, this technique is very useful and impactful for your audience because both the code being executed and its output will be on the screen at the same time as you step through your demos. I do a lot of presenting on topics like Linux, SQL Server on Linux, Kubernetes, and OpenSSH when I’m logged into remote hosts over SSH. I’d like to have the same functionality, so I can highlight the code in VS Code locally and execute that code on a remote host over SSH. Let’s explore how I do that.

Using Kubernetes Deployments for Updating SQL Server

In Kubernetes we can leverage Controllers to help manage our application state, keeping them in the desired state. In this blog post, we’re going to look at how to use a Deployment Controller to manage the application state of SQL Server in Kubernetes. We’ll look at deploying SQL Server in a Deployment and using that deployment to upgrade SQL Server and rollback our upgrade.

Deploying SQL Server in a Deployment

Let’s start off with deploying SQL Server in Kubernetes. We can do that with the following YAML file to describe our Deployment.

Speaking at SQLBits 2019

Speaking at SQLBits 2019!

I’m proud to announce that I will be speaking at SQLBits on March 2nd 2019! It’s been a goal of mine to speak at SQLBits for a few years now and I’m VERY excited for the opportunity! This year’s conference won’t let you down. Check out the amazing schedule of Experts and Microsoft MVPs! If you haven’t been to SQLBits before, what are you waiting for! Sign up now! SQLBits Logo Here’s the details on my session! Inside Kubernetes – An Architectural Deep Dive – March 2 2018 – 15:10 – Room 12

Awarded Friend of Redgate – 2019

Friend of Redgate – 2019

  I’m excited to announce that I have been named a <a href="https://www.red-gate.com/hub/events/friends-of-rg">Friend of Redgate</a> for 2019, my forth year in a row! The program targets influential people in their respective technical communities such as SQL,.NET and DevOps and enables us to participate in the conversation around product and community development.

  As a multi-year awardee in the program I get to see first hand the continuing dedication Redgate has to the SQL community and to making great software. I met a ton of really cool, very dedicated people along the way. Thanks for the recognition and I look forward to another great year!

  <a href="http://www.red-gate.com/">Redgate</a> makes outstanding products! While I focus mainly on the DBA side of things such as SQL Monitor, SQL Backup and SQL Prompt there are many <a href="http://www.red-gate.com/products/">more</a>. I’ve used these tools for years and let’s just say they’re awesome.

  Redgate isn’t just software, they’re committed to community and education. Here are some of the things they do to support technical communities:

<ul>
  <li>
    **Online resources** – <a href="http://www.simple-talk.com/">SimpleTalk</a>, <a href="http://www.sqlservercentral.com/">SQL Server Central</a>, and <a href="http://www.red-gate.com/community/books/index">books and Free eBooks</a>. These resources aren’t marketing fluff, it’s killer content written by real experts
  </li>
  <li>
    **Events** – hosting events, exhibiting at events and supporting user groups across the world. One word can describe this, engaged
  </li>
</ul>

  **Thank you to Redgate for this opportunity!** I look forward to participating in this program, sharing my thoughts and learning as much as I can from all involved.

  <a href="https://www.red-gate.com/hub/events/friends-of-rg"><img style="display: block; margin-left: auto; margin-right: auto;" src="https://cdn2.hubspot.net/hubfs/305265/FORG%20logo%202019_small_2.png" alt="" /></a>

  **If you need you’d like to talk about Redgate’s products and where they fit into your SQL Server system please feel free to contact me.**

  ** **

  **Follow me on Twitter: <a href="https://twitter.com/nocentino">@nocentino</a>**

  **Email: <a href="mailto:aen@centinosystems.com?subject=mentoring">aen@centinosystems.com</a>**

  **Web: <a href="http://www.centinosystems.com/">www.centinosystems.com</a>**

Workshop – Kubernetes Zero to Hero – Installation, Configuration, and Application Deployment

Pre-conference Workshop at SQLSaturday Chicago – 825

I’m proud to announce that I will be be presenting an all day pre-conference workshop at SQL Saturday Chicago on March 23rd 2018! This one won’t let you down!

The workshop is **“Kubernetes Zero to Hero – Installation, Configuration, and Application Deployment” **

    <a href="https://www.eventbrite.com/e/kubernetes-zero-to-hero-installation-configuration-and-application-deployment-tickets-54316807032?aff=BLOG"><img loading="lazy" style="display: block; margin-left: auto; margin-right: auto;" title="NewImage.png" src="/images/2019/01/Availability-Group-StatusNewImage-1.png" alt="NewImage" width="129" height="126" border="0" /></a>

    **Here’s the abstract for the workshop**

  <blockquote>

      Modern application deployment needs to be fast and consistent to keep up with business objectives and Kubernetes is quickly becoming the standard for deploying container-based applications, fast. In this day-long session, we will start with an architectural overview of a Kubernetes cluster and how it manages application state. Then we will learn how to build a production-ready cluster. With our cluster up and running, we will learn how to interact with our cluster, common administrative tasks, then wrap up with how to deploy applications and SQL Server. At the end of the session, you will know how to set up a Kubernetes cluster, manage a cluster, deploy applications and databases, and how to keep everything up and running.

  </blockquote>

Session Objectives

My Current Training Courses on Pluralsight!

Here’s a run down of the Linux training that I have available on Pluralsight!

Just getting started!

Understanding and Using Essential Tools for Enterprise Linux 7 – If you heard what Linux is and want to get started this is the place to be. We’ll cover installation, command line basics, the file system, text editors and more! This is my most popular course.

SQL Server on Linux Administration Fundamentals – SQL Server is available for Linux and Docker! This course is targeted towards both the SQL Server DBA and the Linux professional to get you started using SQL Server on Linux. We cover architecture, administration basics, Tools and backup and recovery!

SQL Server on Linux – External Memory Pressure with 2019 CTP2

In this blog post we’re going to revisit how SQL Server on Linux responds to external memory pressure. This is a very long post, and it ends with me not knowing exactly what’s going on…but the journey is pretty fun…let’s go!

On Windows-based SQL Server systems we’ve become accustomed to the OS signaling to SQL Server that there’s a memory shortage. When signaled, SQL Server will kindly start shrinking it’s memory caches, including the buffer pool, to maintain overall system stability and usability. Well that story is a little different in SQL Server on Linux…last year I wrote a similar post for SQL Server 2017 RTM and how it reacted to external memory pressure, check that out here! That was quite a dramatic story, you can literally cause SQL Serve to swap nearly its entire process address space out to disk! Now, let’s look and see how SQL Server on Linux responds to external memory pressure in SQL Server 2019 CTP2.

My Experiences Tech Editing Pro SQL Server on Linux

The Opportunity

Earlier this year I received an email from Jonathan Gennick, an editor at Apress books. The subject of the email was “Tech edit a book” and he asked if I was familiar with SQL Server on Linux. I excitedly replied “yes…I think I’m your guy for this”. In 2017, I had the opportunity to tech edit another book on SQL Server on Linux and had to back out of that project and this was a fantastic second chance to still be able to work on a topic I really want to participate in and help move forward. I replied to Jonathan and asked who the author is…he replied…the author is Bob Ward.