SQL DBA Blog: Home

  • How to Get the SQL Server IP Address

    The firewall team, or a vendor, wants the exact IP address and port before they will open an allow-list rule, and the server has more than one address. Do not read it off ipconfig and do not assume 1433: ask SQL Server which address and port the connection actually arrived on. ⚡On a TCP connection,…

    Read More


  • SQL Server Error Severities Explained

    🚨Part of the SQL Server Errors series, the exact messages and what actually causes them.Related pillar: Performance & Troubleshooting ⚡Read the Level before you read the message. 0 to 10 is informational, 11 to 16 means the statement is wrong and the server is fine, 17 to 19 is a resource limit or an engine…

    Read More


  • How to Right-Size SQL Server Database Files

    Auto-growth is not the problem. Unplanned, reactive growth is. When a file is undersized SQL Server extends it repeatedly under load, every extension is a pause, and if those pauses land in the peak hour they show up as latency, I/O pressure and the occasional application timeout. Right-sizing is about making growth rare, predictable and…

    Read More


  • SQL Server: ALTER DATABASE SET ENABLE_BROKER Taking a Long Time (Fix)

    After a recent Availability Group failover, Database Mail stopped sending emails. On investigation, the underlying cause was Service Broker not being enabled on msdb, the system database Database Mail runs out of. Enabling it should be instant. Instead the statement sat there, and this is what it was waiting on. To confirm the status, I…

    Read More


  • SQL Server: Ad hoc Update to System Catalogs is Not Supported (Fix)

    🚨Part of the SQL Server Errors series, the exact messages and what actually causes them.Related pillar: Server & Configuration Msg 5808  ·  Level 16  ·  State 1 Ad hoc update to system catalogs is not supported. ⚡Someone has set allow updates to 1, and until it goes back to 0 every RECONFIGURE on the instance…

    Read More


  • How to Kill a SPID in SQL Server

    ⚡Find the head blocker, then KILL 69; with its session id. Whatever it had not committed rolls back, which can take longer than the work did and cannot be stopped. Watch it with KILL 69 WITH STATUSONLY;. In SQL Server, every connection to the database engine is assigned a Session Process ID, commonly known as…

    Read More


  • How to Check Blocking SPIDs in SQL Server

    Blocking is one of the most common causes of performance issues in SQL Server. When one session holds a lock on a resource and another session needs that same resource, the second session waits. If that wait persists, users experience slowness. Understanding how to quickly identify blocking SPIDs is a core DBA skill. This guide…

    Read More


  • Open SSMS as a Different Domain User

    🛠️Part of the SSMS Complete Guide, installing, configuring and fixing SQL Server Management Studio.Related pillar: Security ⚡Shift + right-click SSMS → Run as different user, or runas /netonly /user:DOMAIN\user “path\to\Ssms.exe”. Use /netonly when the account is in another domain or is not allowed to log on to this machine. When working in corporate SQL Server…

    Read More


  • Working with SQL Server Database Master Keys

    SQL Server uses an encryption hierarchy to protect secrets such as credentials, asymmetric keys and certificates. At the database level, that hierarchy is anchored by the database master key (DMK). Because all other encrypted objects depend on it, losing access to the DMK can render those objects unusable. This post walks through how to: It…

    Read More


  • Check SQL Server Connection Encryption and Protocol

    Modern SQL Server environments often use encrypted connections by default, but that does not always mean what people think it means. When troubleshooting connectivity problems, certificate errors, performance questions, or unexpected client behaviour, DBAs usually need to answer one very specific question: What protocol and encryption is this connection actually using right now? This post…

    Read More