<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Emanuele Meazzo</title><link>https://emanuelemeazzo.com/</link><description>Recent content on Emanuele Meazzo</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 12 Oct 2026 09:00:00 +0200</lastBuildDate><atom:link href="https://emanuelemeazzo.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Using AI self-improvement loops to make raggio Vector Database even faster</title><link>https://emanuelemeazzo.com/technical-articles/2026/10/raggio-even-faster-part-1-ai-self-improvement-loops/</link><pubDate>Mon, 12 Oct 2026 09:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2026/10/raggio-even-faster-part-1-ai-self-improvement-loops/</guid><description>&lt;p&gt;The scorecard at the end of my &lt;a href="https://emanuelemeazzo.com/technical-articles/2026/09/raggio-a-small-ray-of-rag/"&#10;&#10;&#10;&#10; &#10;&#10;&#10;&gt;raggio post&lt;/a&gt; kept bugging me. raggio won on memory, recall and vector tail latency, but Weaviate took most of the rest, and not by a little: 129 queries per second against 1,050, and a median hybrid search in 104 ms against 36. So that night, a little after midnight and before I&amp;rsquo;d even hit publish, I opened Claude Code in the raggio repo and typed this:&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;Analyze the codebase, gather info and reply only no code: does it make sense to port this app to C ? How much effort would that be? Which are the benefits we should expect?&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;Everyone who writes Python has had this thought at least once: it&amp;rsquo;s slow, it&amp;rsquo;s Python, let&amp;rsquo;s rewrite it in something with a real compiler. Four minutes later the answer came back, and it was no.&lt;/p&gt;</description></item><item><title>raggio: a small ray of RAG</title><link>https://emanuelemeazzo.com/technical-articles/2026/09/raggio-a-small-ray-of-rag/</link><pubDate>Sun, 27 Sep 2026 09:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2026/09/raggio-a-small-ray-of-rag/</guid><description>&lt;p&gt;Sooner or later every RAG system sends you the same bill, and it&amp;rsquo;s written in gigabytes of RAM.&lt;/p&gt;&#10;&lt;p&gt;The model wants memory for its weights and its KV cache. The vector database wants memory for every embedding you ever stored, usually as uncompressed floats, usually all loaded at once, whether anyone is asking about them or not. On a big cloud VM you pay and move on. On a machine that also has to run the LLM, or in a department that needs search over a few million documents and owns exactly one modest VM, that bill decides whether the project happens at all.&lt;/p&gt;</description></item><item><title>The Selfish Heart</title><link>https://emanuelemeazzo.com/essays/love-is-selfishness/</link><pubDate>Thu, 25 Jun 2026 00:01:00 +0100</pubDate><guid>https://emanuelemeazzo.com/essays/love-is-selfishness/</guid><description>&lt;p&gt;A few days ago I listened again, after years, to &amp;ldquo;La ballata dell&amp;rsquo;amore cieco (o della vanità)&amp;rdquo; by Fabrizio De André. If you grew up in Italy you know it by heart whether you wanted to or not; for everyone else, the story goes like this.&lt;/p&gt;&#10;&lt;p&gt;It happens at least one in the life of a man: he falls madly in love with a woman who does not care for him at all.&#10;She doesn&amp;rsquo;t want his love: she wants to see what it can be made to do. She challenge him: Bring me your mother&amp;rsquo;s heart, to feed my dogs, he does. Not enough. Then she asks for the blood in his veins, and he gives her that too. And while his life runs out, De André closes the scene on both of them and hands each one an ending. The man dies happy, still in love. The woman watches him die happy and is seized by dismay: nothing is left to her, not his love, not what he owned, only the dried blood of his veins.&lt;/p&gt;</description></item><item><title>Rituals in the modern era: from getting in shape to shaping your life</title><link>https://emanuelemeazzo.com/essays/rituals/</link><pubDate>Sun, 22 Mar 2026 00:01:00 +0100</pubDate><guid>https://emanuelemeazzo.com/essays/rituals/</guid><description>&lt;p&gt;Bold title uh? Follow me carefully.&lt;br&gt;&#10;One evening, while I was training in the gym, as I&amp;rsquo;ve been doing for the past 20 years, a girl asked me if she was executing the exercise that her trainer added to her routine correctly: little did she know that experiencing the same scene once again would allow me to finally &lt;em&gt;see&lt;/em&gt; and &lt;em&gt;understand&lt;/em&gt; one particular pattern I had experienced all my life.&lt;/p&gt;</description></item><item><title>The Problem Solver</title><link>https://emanuelemeazzo.com/essays/the-problem-solver/</link><pubDate>Mon, 16 Mar 2026 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/essays/the-problem-solver/</guid><description>&lt;p&gt;When something breaks, most people call someone, I don&amp;rsquo;t. I open it up. Not because I always know what&amp;rsquo;s wrong, but because I need to figure it out. And when I look at the problem, the feeling isn&amp;rsquo;t dread. It&amp;rsquo;s closer to relief. Finally, something with an answer.&lt;/p&gt;&#10;&lt;p&gt;There are plenty of people like this. The &amp;ldquo;problem solvers&amp;rdquo;, but that&amp;rsquo;s too clean a label for what&amp;rsquo;s actually going on.&lt;/p&gt;&#10;&lt;h2 id="where-it-comes-from"&gt;Where it comes from&lt;/h2&gt;&#10;&lt;p&gt;I think there are two roots, and most of us have some mix of both.&lt;/p&gt;</description></item><item><title>A SQL script to automatically infer the data types of data that someone just dumped in your DB with no effort</title><link>https://emanuelemeazzo.com/technical-articles/2024/04/a-sql-script-to-automatically-infer-the-data-types-of-data-that-someone-just-dumped-in-your-db-with-no-effort/</link><pubDate>Wed, 03 Apr 2024 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2024/04/a-sql-script-to-automatically-infer-the-data-types-of-data-that-someone-just-dumped-in-your-db-with-no-effort/</guid><description>&lt;p&gt;Do you know the feeling when someone gives you a flat file to import, without any schema information? You have to dump it in your database as-is, then spend precious time figuring out the data type for each column 😥 Let me help you with that, as I&amp;rsquo;m helping myself too.&lt;/p&gt;&#10;&lt;p&gt;Use case:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Someone sends you a flat file (csv), of course they don&amp;rsquo;t give you ANY information about the data types contained in it&lt;/li&gt;&#10;&lt;li&gt;You dump it as-is in your database staging area:&#10;&lt;ul&gt;&#10;&lt;li&gt;When using SSMS Flat file importer it can &lt;em&gt;mostly&lt;/em&gt; do this job for you, but not 100%&lt;/li&gt;&#10;&lt;li&gt;But if you&amp;rsquo;re like me and get files from a Data Lake and import it straight away with Azure Data Factory with the &amp;ldquo;just auto create the table and I&amp;rsquo;ll deal with it later because I can&amp;rsquo;t bother right now please&amp;rdquo; flag on you end up with a table with the right column names but all nvarchar(MAX) columns because the import engine is as lazy as me&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;At the end of the day you have this table with sub-optimal data types, and here is where this dumb script can help you&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Using the power of trial and error and dynamic SQL, I&amp;rsquo;ve come up with this script which basic idea is simply doing a TRY_CONVERT in various data types (most common defined, you can add more and/or different sizes easily) and checking if the engine was able to convert all of them: it comes up with suggestions about compatible file types for each column, the min/max length for any varchar value and a useful raw data sample too 😉&lt;/p&gt;</description></item><item><title>Quick Tip: Dumb fix for "ORA-26086: direct path does not support triggers" in Azure Data Factory or Azure Synapse Analytics Pipelines</title><link>https://emanuelemeazzo.com/technical-articles/2023/05/quick-tip-dumb-fix-for-ora-26086-direct-path-does-not-support-triggers-in-azure-data-factory-or-azure-synapse-analytics-pipelines/</link><pubDate>Tue, 09 May 2023 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2023/05/quick-tip-dumb-fix-for-ora-26086-direct-path-does-not-support-triggers-in-azure-data-factory-or-azure-synapse-analytics-pipelines/</guid><description>&lt;p&gt;You should already know that in my opinion, due to my extended experience, Larry Ellison has an explicit agenda to make your life as miserable as possible and locking you in while you use Oracle products.&lt;/p&gt;&#10;&lt;p&gt;The latest of the issues I had while moving data around to Oracle using ADF (or really, I&amp;rsquo;m using Azure Synapse Pipelines, but it&amp;rsquo;s literally the same thing) is the following error while I was trying to use a copy data activity to move data from a table into another:&lt;/p&gt;</description></item><item><title>How to connect Azure Data Factory / Synapse Pipelines to Google BigQuery without losing your sanity over connection tokens</title><link>https://emanuelemeazzo.com/technical-articles/2022/11/how-to-connect-azure-data-factory-synapse-pipelines-to-google-bigquery-without-losing-your-sanity-over-connection-tokens/</link><pubDate>Wed, 23 Nov 2022 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2022/11/how-to-connect-azure-data-factory-synapse-pipelines-to-google-bigquery-without-losing-your-sanity-over-connection-tokens/</guid><description>&lt;p&gt;When I talk about knowing the struggles with the Cloud (as I did recently at PASS 2022), I really mean it, and this is one example of it. This is the case of importing data from Google BigQuery to Azure ADLS v2 (but it can be anywhere else really) using Azure Synapse Pipelines (which is really Azure Data Factory in a different workspace); easy enough, the ugly part is always the authorization part, and in this case having to deal with REST API or JavaScript like those database-hoarding developers.&lt;/p&gt;</description></item><item><title>How to fix "Connect Timeout" and/or "Cannot open server xxx requested by the login" when connecting to Azure SQL Managed Instance in redirect mode</title><link>https://emanuelemeazzo.com/technical-articles/2022/05/how-to-fix-connect-timeout-and-or-cannot-open-server-xxx-requested-by-the-login-when-connecting-to-azure-sql-managed-instance-in-redirect-mode/</link><pubDate>Sat, 14 May 2022 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2022/05/how-to-fix-connect-timeout-and-or-cannot-open-server-xxx-requested-by-the-login-when-connecting-to-azure-sql-managed-instance-in-redirect-mode/</guid><description>&lt;p&gt;Here is something that will save you lots of time and headaches when trying to connect to Azure SQL Managed Instances, especially from onprem servers or from other clouds; I had to repeat this multiple times to multiple actors, so I know it will happen to someone else too.&lt;/p&gt;&#10;&lt;p&gt;In most cases, &amp;ldquo;Connect Timeout&amp;rdquo; and/or &amp;ldquo;Cannot open server xxx requested by the login; Login failed&amp;rdquo; errors are caused by the firewall configuration and a lack of understanding the SQLMI networking model, let me explain:&lt;/p&gt;</description></item><item><title>How to fix direct Query authentication delegation issues with Power Bi Report Server with Edge and Chrome</title><link>https://emanuelemeazzo.com/technical-articles/2021/07/how-to-fix-direct-query-authentication-delegation-issues-with-power-bi-report-server-with-edge-and-chrome/</link><pubDate>Mon, 12 Jul 2021 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2021/07/how-to-fix-direct-query-authentication-delegation-issues-with-power-bi-report-server-with-edge-and-chrome/</guid><description>&lt;p&gt;With the end of the &lt;a href="https://docs.microsoft.com/en-us/power-bi/report-server/browser-support"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;IE support for Power Bi&lt;/a&gt; (and in general tbh), companies are scrambling finally to move their users from the legacy browser to modern ones; it was about time if you ask me. However, there&amp;rsquo;s an edge case where using anything but IE is not as straightforward as it could be; in my case Power Bi RS worked fine for any report in any browser, except with direct query reports that were set up to authenticate via Windows Authentication as the user viewing the report:&lt;/p&gt;</description></item><item><title>How to read data from Oracle Database via PowerShell without using ODBC or installing Oracle Client (and import it to SQL Server too)</title><link>https://emanuelemeazzo.com/technical-articles/2021/04/how-to-read-data-from-oracle-database-via-powershell-without-using-odbc-or-installing-oracle-client-and-import-it-to-sql-server-too/</link><pubDate>Tue, 13 Apr 2021 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2021/04/how-to-read-data-from-oracle-database-via-powershell-without-using-odbc-or-installing-oracle-client-and-import-it-to-sql-server-too/</guid><description>&lt;p&gt;If you read my previous article on &lt;a href="https://emanuelemeazzo.com/technical-articles/2021/01/how-to-configure-a-linked-server-to-a-modern-version-of-oracle-in-sql-server/"&#10;&#10;&#10;&#10; &#10;&#10;&#10;&gt;how to configure a Linked server to Oracle&lt;/a&gt; , you know that I feel like &lt;em&gt;someone&lt;/em&gt; is plotting to keep the topic of how to get our precious data outside of the Oracle ecosystem as obscure as possible out of the oracle circle Fear not! I&amp;rsquo;m here to get you all the info in order to get data from Oracle Database via Powershell, in a native high-performance way, allowing you to create a multithreaded, reliable and connected ETL flow to feed a data warehouse from Oracle data, like the owner of this blog, or just move quickly some data from one place to another, programmatically, whatever it&amp;rsquo;s your need.&lt;/p&gt;</description></item><item><title>How to programmatically read from SQL Server extended events files (*.xel) with PowerShell</title><link>https://emanuelemeazzo.com/technical-articles/2021/03/how-to-programmatically-read-from-sql-server-extended-events-files-xel-with-powershell/</link><pubDate>Wed, 17 Mar 2021 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2021/03/how-to-programmatically-read-from-sql-server-extended-events-files-xel-with-powershell/</guid><description>&lt;p&gt;I love extended events, and if you&amp;rsquo;re still using SQL profiler, go feel ashamed and come back only when you&amp;rsquo;ve stopped using it.&lt;br&gt;&#10;Now that you&amp;rsquo;re familiar with extended events, one of the common destinations for the tracked information are Extended Event Files, where simply put the events are saved to while they happen.&lt;/p&gt;&#10;&lt;p&gt;*.XEL files are easy to work with in SSMS, just double click on them and they&amp;rsquo;ll open up in Management Studio, and you have neat features too, like filtering, aggregations, ecc..&lt;br&gt;&#10;There&amp;rsquo;s even an export feature that allows you to export the contents to CSV/Table or another XEL file too (it makes sense, because you can export a subset of the original XEL events after filtering)&lt;/p&gt;</description></item><item><title>Slides for "How to use the Cloud for data and actually save money"</title><link>https://emanuelemeazzo.com/technical-articles/2021/02/slides-for-how-to-use-the-cloud-for-data-and-actually-save-money/</link><pubDate>Sat, 27 Feb 2021 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2021/02/slides-for-how-to-use-the-cloud-for-data-and-actually-save-money/</guid><description>&lt;p&gt;&lt;a href="https://github.com/EmanueleMeazzo/tsql.tech-Code-snippets/blob/master/Sessions%20Material/How%20to%20use%20The%20Cloud%20for%20data%20and%20actually%20save%20money/How%20to%20use%20the%20Cloud%20for%20data%20and%20actually%20save%20money_DataSaturday.pdf"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;&lt;img src="../images/image-1024x322.png" alt="Title slide of How to use the Cloud for Data and actually save money, with AWS, Google Cloud and Azure; opens the PDF slides"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/EmanueleMeazzo/tsql.tech-Code-snippets/blob/master/Sessions%20Material/How%20to%20use%20The%20Cloud%20for%20data%20and%20actually%20save%20money/How%20to%20use%20the%20Cloud%20for%20data%20and%20actually%20save%20money_DataSaturday.pdf"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;On my GitHub&lt;/a&gt; you can find the slides for my presentation @ &lt;a href="https://datasaturdays.com/events/datasaturday0001.html"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;Data Saturdays&lt;/a&gt; 001 in Pordenone&lt;/p&gt;</description></item><item><title>How to configure a Linked Server to a modern version of Oracle in SQL Server</title><link>https://emanuelemeazzo.com/technical-articles/2021/01/how-to-configure-a-linked-server-to-a-modern-version-of-oracle-in-sql-server/</link><pubDate>Thu, 07 Jan 2021 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2021/01/how-to-configure-a-linked-server-to-a-modern-version-of-oracle-in-sql-server/</guid><description>&lt;figure&gt;&#10;&lt;p&gt;&lt;img src="../images/b0d6dbf493606025135690892affb6f4.jpg" alt="Pin on THE CUP…..FRISCO"&gt;&lt;/p&gt;&#10;&lt;figcaption&gt;&#10;&lt;p&gt;It definitely was his plan, all along&lt;/p&gt;&#10;&lt;/figcaption&gt;&#10;&lt;/figure&gt;&#10;&lt;p&gt;Following an Oracle migration to a new version (19c on AWS RDS), I had to update the related linked server in a SQL Instance, upgrading the Oracle Client to the latest version.&lt;/p&gt;&#10;&lt;p&gt;Doing so, I&amp;rsquo;ve come to the conclusion that Oracle purposely makes everything as obscure and overly complicated as possibile, in order to sell support. All the reference articles from the community were outdated and inapplicabile too, of course; lots of guides for 10 years old version, but nothing recent.&lt;/p&gt;</description></item><item><title>SQL Server Diagnostic Notebook Updated</title><link>https://emanuelemeazzo.com/technical-articles/2020/12/sql-server-diagnostic-notebook-updated/</link><pubDate>Fri, 18 Dec 2020 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2020/12/sql-server-diagnostic-notebook-updated/</guid><description>&lt;p&gt;Good news everyone!&lt;br&gt;&#10;As always, I&amp;rsquo;ve updated the SQL Server Diagnostic Notebook to include the latest updates to the source scripts&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="../images/image-2.png" alt="Notebooks pane with the refreshed SQL Server Diagnostic Book: Glenn Berry’s scripts, First Responders Kit, Tiger Toolbox"&gt;&lt;/p&gt;&#10;&lt;p&gt;No new addition this time around, just updates; but I&amp;rsquo;m always &lt;a href="https://emanuelemeazzo.com/contact/"&#10;&#10;&#10;&#10; &#10;&#10;&#10;&gt;open to suggestions&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;The easiest way to access and use it is through the &lt;a href="https://emanuelemeazzo.com/technical-articles/2020/09/the-sql-server-diagnostic-book-is-now-on-the-azure-data-studio-marketplace/"&#10;&#10;&#10;&#10; &#10;&#10;&#10;&gt;Azure Data Studio Marketplace&lt;/a&gt; (or downloading the vsix extension &lt;a href="https://github.com/EmanueleMeazzo/tsql.tech-Code-snippets/releases/tag/v1.0"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;directly from GitHub&lt;/a&gt;)&lt;/p&gt;</description></item><item><title>There's a Bug with Extended Events creation in SQL Server Management Studio 18.7: what it is and a workaround</title><link>https://emanuelemeazzo.com/technical-articles/2020/10/theres-a-bug-with-extended-events-creation-in-sql-server-management-studio-18-7-what-it-is-and-a-workaround/</link><pubDate>Mon, 26 Oct 2020 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2020/10/theres-a-bug-with-extended-events-creation-in-sql-server-management-studio-18-7-what-it-is-and-a-workaround/</guid><description>&lt;p&gt;UPDATE 2: The bug was fixed in &lt;a href="https://docs.microsoft.com/en-us/sql/ssms/release-notes-ssms?view=sql-server-ver15&amp;amp;viewFallbackFrom=sqlallproducts-allversions"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;SSMS 18.8&lt;/a&gt;&lt;br&gt;&#10;UPDATE: The bug still isn&amp;rsquo;t fixed in SSMS 18.7.1&lt;/p&gt;&#10;&lt;p&gt;Oh boy, what I found; I haven&amp;rsquo;t seen anybody else reporting on it, yet, so here I am.&lt;br&gt;&#10;Fortunately, the bug is not breaking, as I&amp;rsquo;ve found a workaround, but still.&lt;/p&gt;&#10;&lt;h2 id="repro"&gt;Repro&lt;/h2&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Open the &amp;ldquo;New Session&amp;hellip;&amp;rdquo; GUI for extended events in SSMS&lt;/li&gt;&#10;&lt;li&gt;Give it a name, it&amp;rsquo;s not important&lt;/li&gt;&#10;&lt;li&gt;Add an event with a Duration Field, I&amp;rsquo;ve added &lt;strong&gt;sp_statement_completed&lt;/strong&gt; and configure it to be higher than an arbitrary value&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;&lt;img src="../images/image-1.png" alt="SSMS 18.7 New Session dialog: sp_statement_completed event with the filter duration &amp;gt; 10000000"&gt;&lt;/p&gt;</description></item><item><title>Presenting @ DataWeekender the SQL Server Diagnostic Book</title><link>https://emanuelemeazzo.com/technical-articles/2020/10/presenting-dataweekender-the-sql-server-diagnostic-book/</link><pubDate>Sat, 17 Oct 2020 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2020/10/presenting-dataweekender-the-sql-server-diagnostic-book/</guid><description>&lt;p&gt;&lt;img src="../images/image-1024x575.png" alt="Title slide: The SQL Server (Jupyter) Diagnostic Book, over the Azure Data Studio welcome page with a Jupyter book logo"&gt;&lt;/p&gt;&#10;&lt;p&gt;I&amp;rsquo;ve bored you with my SQL Server Diagnostic Book for long enough, now I&amp;rsquo;ll bore even more people @ &lt;a href="https://www.dataweekender.com/"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;DataWeekender&lt;/a&gt; , where I&amp;rsquo;m doing a lightening talk about it, showing people what it is and how to install/use it.&lt;/p&gt;&#10;&lt;p&gt;You can download the Slides from the slides &lt;a href="https://github.com/EmanueleMeazzo/tsql.tech-Code-snippets/blob/master/Sessions%20Material/The%20SQL%20Server%20Diagnostic%20Book/The%20SQL%20Server%20Diagnostic%20Book.pdf"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;Here&lt;/a&gt;&lt;br&gt;&#10;My latest post on the Diagnostic book is &lt;a href="https://emanuelemeazzo.com/technical-articles/2020/09/the-sql-server-diagnostic-book-is-now-on-the-azure-data-studio-marketplace/"&#10;&#10;&#10;&#10; &#10;&#10;&#10;&gt;Here&lt;/a&gt;&lt;br&gt;&#10;How to Create a Book Extension for ADS &lt;a href="https://emanuelemeazzo.com/technical-articles/2020/09/how-to-ship-sql-jupyter-notebooks-and-books-directly-to-azure-data-studio-by-creating-an-extension-in-the-marketplace/"&#10;&#10;&#10;&#10; &#10;&#10;&#10;&gt;Here&lt;/a&gt;&lt;/p&gt;</description></item><item><title>How to ship SQL Jupyter Notebooks and Books directly to Azure Data Studio by creating an extension in the Marketplace</title><link>https://emanuelemeazzo.com/technical-articles/2020/09/how-to-ship-sql-jupyter-notebooks-and-books-directly-to-azure-data-studio-by-creating-an-extension-in-the-marketplace/</link><pubDate>Tue, 22 Sep 2020 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2020/09/how-to-ship-sql-jupyter-notebooks-and-books-directly-to-azure-data-studio-by-creating-an-extension-in-the-marketplace/</guid><description>&lt;p&gt;The recently released &lt;a href="https://cloudblogs.microsoft.com/sqlserver/2020/09/02/the-release-of-the-azure-data-studio-extension-generator-is-now-available/"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;Extension Generator&lt;/a&gt; for Azure Data Studio has opened up yet another way to ship Notebooks and Books to ADS allowing you to easily author your extensions.&lt;/p&gt;&#10;&lt;p&gt;In my &lt;a href="https://emanuelemeazzo.com/technical-articles/2020/08/you-can-now-access-the-sql-server-diagnostic-book-remotely/"&#10;&#10;&#10;&#10; &#10;&#10;&#10;&gt;previous post&lt;/a&gt; I&amp;rsquo;ve detailed how you can now access a Book remotely, now, if you want the book to be actually installed in your ADS instance, you can install it as an extension!&lt;/p&gt;&#10;&lt;p&gt;Follow this link for the SQL Server Diagnostic Book as an extension, in this post we&amp;rsquo;ll look at the feature in a general way.&lt;/p&gt;</description></item><item><title>The SQL Server Diagnostic Book is now on the Azure Data Studio Marketplace!</title><link>https://emanuelemeazzo.com/technical-articles/2020/09/the-sql-server-diagnostic-book-is-now-on-the-azure-data-studio-marketplace/</link><pubDate>Tue, 22 Sep 2020 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2020/09/the-sql-server-diagnostic-book-is-now-on-the-azure-data-studio-marketplace/</guid><description>&lt;p&gt;Great News Everyone!&lt;br&gt;&#10;As detailed in my &lt;a href="https://emanuelemeazzo.com/technical-articles/2020/09/how-to-ship-sql-jupyter-notebooks-and-books-directly-to-azure-data-studio-by-creating-an-extension-in-the-marketplace/"&#10;&#10;&#10;&#10; &#10;&#10;&#10;&gt;previous article&lt;/a&gt;, you can now create extensions containing SQL (note)books and publish them on the Azure Data Studio Marketplace!&lt;br&gt;&#10;How do I know? Because I did it 🧐&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="../images/BookExtensioninstallation-1.gif" alt="Animation: installing the SQL Server Diagnostic Book extension from the Azure Data Studio Extensions pane via its VSIX"&gt;&lt;/p&gt;&#10;&lt;h2 id="how-to-install-it"&gt;How to install it&lt;/h2&gt;&#10;&lt;p&gt;As you see in the gif above, the process is super fast:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Be sure to be on Azure Data Studio version 1.22.0 (September 2020) or later&lt;/li&gt;&#10;&lt;li&gt;Search for &amp;ldquo;SQL Server Diagnostic&amp;rdquo; in the Extensions SearchBox&lt;/li&gt;&#10;&lt;li&gt;You&amp;rsquo;ll find my extension, click on it and/or click &amp;ldquo;Install&amp;rdquo; to get the vsix package&#10;&lt;ul&gt;&#10;&lt;li&gt;(3rd party extensions can&amp;rsquo;t be hosted directly in the marketplace directly as of now, so you&amp;rsquo;ll have to download the extension package from my repository)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;Once you&amp;rsquo;ve downloaded the vsix file from my repo, the last step is to go to File -&amp;gt; &amp;ldquo;Install Extension from VSIX Package&amp;rdquo; and select the file you&amp;rsquo;ve just downloaded&lt;/li&gt;&#10;&lt;li&gt;That&amp;rsquo;s it, profit!&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="how-to-use-it"&gt;How to use it&lt;/h2&gt;&#10;&lt;p&gt;Even easier, just open Azure Data Studio command palette (default combination CTRL+SHIFT+P) and start typing &amp;ldquo;&lt;em&gt;&lt;strong&gt;SQL Diagnostic&lt;/strong&gt;&lt;/em&gt;&amp;rdquo;, you&amp;rsquo;ll immediately see the command &amp;ldquo;Launch Book: SQL Server Diagnostic Book&amp;rdquo; that will immediately load the Jupyter Book in your Notebook tab for you to immediately use 😎&lt;/p&gt;</description></item><item><title>You can now access the SQL Server Diagnostic Book remotely!</title><link>https://emanuelemeazzo.com/technical-articles/2020/08/you-can-now-access-the-sql-server-diagnostic-book-remotely/</link><pubDate>Thu, 13 Aug 2020 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2020/08/you-can-now-access-the-sql-server-diagnostic-book-remotely/</guid><description>&lt;p&gt;UPDATE: This is now somewhat deprecated, because you can install the Book as an extension, without having to type anything, as detailed &lt;a href="https://emanuelemeazzo.com/technical-articles/2020/09/the-sql-server-diagnostic-book-is-now-on-the-azure-data-studio-marketplace/"&#10;&#10;&#10;&#10; &#10;&#10;&#10;&gt;here&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;Good news everyone, thanks to the &lt;a href="https://cloudblogs.microsoft.com/sqlserver/2020/08/12/the-august-2020-release-of-azure-data-studio-is-now-available/"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;Azure Data Studio August 2020&lt;/a&gt; update you can now access the &lt;a href="https://emanuelemeazzo.com/technical-articles/2020/01/the-sql-diagnostic-jupyter-book/"&#10;&#10;&#10;&#10; &#10;&#10;&#10;&gt;SQL Server Diagnostic Book&lt;/a&gt; without having to download the book from my Github.&lt;/p&gt;&#10;&lt;p&gt;Remote Jupyter Books have been added to ADS, now you just need to click &amp;ldquo;Add Remote Jupyter Book&amp;rdquo; in the Notebooks blade and insert my GitHub repository URL, like so:&lt;/p&gt;</description></item><item><title>How to lose hundreds of thousands of dollars by using functions in SQL Server</title><link>https://emanuelemeazzo.com/technical-articles/2020/07/how-to-lose-hundreds-of-thousands-of-dollars-by-using-functions-in-sql-server/</link><pubDate>Tue, 14 Jul 2020 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2020/07/how-to-lose-hundreds-of-thousands-of-dollars-by-using-functions-in-sql-server/</guid><description>&lt;p&gt;Ahh, functions, the greatest tool at a programmer&amp;rsquo;s disposal, they make code reusable and easy to read, they&amp;rsquo;ve been essential since the first function call was made in the last century&amp;hellip;&lt;/p&gt;&#10;&lt;p&gt;Unfortunately for the developers out there, when working for SQL Server, especially when tuning for performance, you need to get everything you knew about programming and throw it out of the window, because in SQL we work with sets.&lt;/p&gt;</description></item><item><title>Quick Tip: How to find the address of the PowerBI local tabular instance</title><link>https://emanuelemeazzo.com/technical-articles/2020/05/quick-tip-how-to-find-the-address-of-the-powerbi-local-tabular-instance/</link><pubDate>Mon, 25 May 2020 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2020/05/quick-tip-how-to-find-the-address-of-the-powerbi-local-tabular-instance/</guid><description>&lt;p&gt;Super quick tip, I&amp;rsquo;ve seen this done via CMD or DaxStudio, but not via PowerShell (probably because I haven&amp;rsquo;t searched so much since I&amp;rsquo;ve done it myself), but here we are:&lt;/p&gt;&#10;&lt;p&gt;I&amp;rsquo;m sure you know that PowerBI tabular models are 100% the same as SSAS tabular models, hence you can use SSMS to connect to a PowerBI Tabular model as if it was SSAS (because it is), to do whatever you want, for example scripting out the objects that you&amp;rsquo;ve created in the PowerBi Desktop GUI or extract the model to deploy it in SSAS.&lt;/p&gt;</description></item><item><title>You can now script your database objects as a Notebook using SQL Server Management Studio 18.5+</title><link>https://emanuelemeazzo.com/technical-articles/2020/04/you-can-now-script-your-database-objects-as-a-notebook-using-sql-server-management-studio-18-5/</link><pubDate>Tue, 07 Apr 2020 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2020/04/you-can-now-script-your-database-objects-as-a-notebook-using-sql-server-management-studio-18-5/</guid><description>&lt;p&gt;Great News Everyone!&lt;/p&gt;&#10;&lt;p&gt;Microsoft just &lt;a href="https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;dropped SSMS 18.5&lt;/a&gt; after almost 5 long months without any updates; this &lt;a href="https://docs.microsoft.com/en-us/sql/ssms/release-notes-ssms?view=sql-server-ver15#185"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;new release&lt;/a&gt; fixes a lot of bugs and introduces a few new features, above them all I&amp;rsquo;m now showing you the following.&lt;/p&gt;&#10;&lt;p&gt;I&amp;rsquo;m sure that you used the the &amp;ldquo;Generate Scripts&amp;rdquo; feature in SSMS quite a few times, you could generate the code for schema and/or data for any (or all) the objects in your DB, especially if you haven&amp;rsquo;t embraced that sweet, elusive, devops workflow.&lt;/p&gt;</description></item><item><title>How IT helped the world during the CoronaVirus Pandemic, and how it can continue to help</title><link>https://emanuelemeazzo.com/technical-articles/2020/03/how-it-helped-the-world-during-the-coronavirus-pandemic-and-how-it-can-continue-to-help/</link><pubDate>Mon, 23 Mar 2020 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2020/03/how-it-helped-the-world-during-the-coronavirus-pandemic-and-how-it-can-continue-to-help/</guid><description>&lt;p&gt;The 2020 global coronavirus pandemic has shown how Health, Food, and Logistics are essential services to allow the integrity of a nation in a time of need.&lt;/p&gt;&#10;&lt;p&gt;However, these weeks of quarantine showed that IT it&amp;rsquo;s a critical part for the success of the emergency reaction and to be able to continue providing services, here are some examples:&lt;/p&gt;&#10;&lt;h3 id="remote-working"&gt;Remote Working&lt;/h3&gt;&#10;&lt;p&gt;Allowing people to continue to work, and especially still be able to collaborate together, during a time of isolation is certainly one for the most visible results of the internet revolution. Remote working raises both the safety of the employees and the throughput of the companies, which are not required to shut down. Of course, this applies to office work only.&lt;/p&gt;</description></item><item><title>A Self-deployable TICK Stack for ingesting data, monitoring and alerting for any service (including SQL Server)</title><link>https://emanuelemeazzo.com/technical-articles/2020/03/a-self-deployable-tick-stack-for-ingesting-data-monitoring-and-alerting-for-any-service-including-sql-server/</link><pubDate>Wed, 11 Mar 2020 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2020/03/a-self-deployable-tick-stack-for-ingesting-data-monitoring-and-alerting-for-any-service-including-sql-server/</guid><description>&lt;p&gt;Oh boy, this is a spinoff of my previous post on &lt;a href="https://emanuelemeazzo.com/technical-articles/2020/02/how-to-use-grafana-on-docker-to-monitor-your-sql-server-eventually-on-docker-too-feat-influxdb-and-telegraf/"&#10;&#10;&#10;&#10; &#10;&#10;&#10;&gt;&amp;ldquo;How To Use Grafana (On Docker) To Monitor Your Sql Server (Eventually On Docker Too) – Feat. Influxdb And Telegraf&amp;rdquo;&lt;/a&gt; , which is a nice solution, but I wanted to create something that&amp;rsquo;s even more easy to deploy, more configurable and without the need of actually knowing influxSQL or learning the influxDB Telegraf schema; for these reasons, I&amp;rsquo;m going all-in on the TICK Stack:&lt;/p&gt;</description></item><item><title>A PowerBI Report for the COVID19 Emergency in Italy</title><link>https://emanuelemeazzo.com/technical-articles/2020/03/a-powerbi-report-for-the-covid19-emergency-in-italy/</link><pubDate>Sun, 08 Mar 2020 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2020/03/a-powerbi-report-for-the-covid19-emergency-in-italy/</guid><description>&lt;p&gt;As you may know, I&amp;rsquo;m from Italy; at the moment we&amp;rsquo;re experiencing the most difficult medical emergency in our history due to the new coronavirus.&lt;/p&gt;&#10;&lt;p&gt;As the official data from the Italian Government came out, I&amp;rsquo;ve created a PowerBi report in order to track the current status of the virus.&lt;/p&gt;&#10;&lt;p&gt;ITA: Questo report è creato usando i dati ufficiali della protezione civile, si aggiorna ogni sera automaticamente non appena i nuovi dati vengono diffusi.&lt;br&gt;&#10;Il report è interattivo! Vi incoraggio ad esplorare ogni pagina :)&lt;/p&gt;</description></item><item><title>How to use Grafana (on docker) to monitor your SQL Server (eventually on docker too) - feat. InfluxDB and Telegraf</title><link>https://emanuelemeazzo.com/technical-articles/2020/02/how-to-use-grafana-on-docker-to-monitor-your-sql-server-eventually-on-docker-too-feat-influxdb-and-telegraf/</link><pubDate>Thu, 13 Feb 2020 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2020/02/how-to-use-grafana-on-docker-to-monitor-your-sql-server-eventually-on-docker-too-feat-influxdb-and-telegraf/</guid><description>&lt;p&gt;In this container-centric era to complement my SQL Server instance on docker (previous articles &lt;a href="https://emanuelemeazzo.com/technical-articles/2020/01/how-to-update-a-sql-server-container-on-docker-for-windows-spoiler-there-is-a-catch/"&#10;&#10;&#10;&#10; &#10;&#10;&#10;&gt;here&lt;/a&gt;) I&amp;rsquo;ve looked over containerized monitoring solutions, and chose &lt;a href="https://grafana.com/grafana/"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;Grafana&lt;/a&gt; as my first candidate; spoiler: everything is simple once you&amp;rsquo;ve figured out how this stuff works, which can be not trivial for a Windows Guy (like me)&lt;/p&gt;&#10;&lt;p&gt;Note: I&amp;rsquo;m focusing on SQL Server as always but as you will se everything is applicable in the same exact way to any database technology supported by telegraf.&lt;/p&gt;</description></item><item><title>The SQL Diagnostic Notebook: Update 2</title><link>https://emanuelemeazzo.com/technical-articles/2020/01/the-sql-diagnostic-notebook-update-1/</link><pubDate>Tue, 28 Jan 2020 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2020/01/the-sql-diagnostic-notebook-update-1/</guid><description>&lt;p&gt;&lt;img src="../images/image-6.png" alt="SQL Server Diagnostic Book index in Azure Data Studio, now with sp_whoisactive, SQL Assessment API, sp_pressure_detector"&gt;&lt;/p&gt;&#10;&lt;p&gt;Just a quick note, the &lt;a href="https://emanuelemeazzo.com/technical-articles/2020/01/the-sql-diagnostic-jupyter-book/"&#10;&#10;&#10;&#10; &#10;&#10;&#10;&gt;SQL Diagnostic Book&lt;/a&gt; has been updated, here is the changelog:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Updated FirstResponder&amp;rsquo;s Kit and Glen Berry&amp;rsquo;s Scripts&lt;/li&gt;&#10;&lt;li&gt;Added &lt;a href="https://docs.microsoft.com/en-us/sql/sql-assessment-api/sql-assessment-api-overview?view=sql-server-ver15"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;SQL Assessment API&lt;/a&gt; Notebooks&lt;/li&gt;&#10;&lt;li&gt;Added &lt;a href="https://github.com/amachanic/sp_whoisactive/releases"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;sp_whoisactive&lt;/a&gt; installation and basic documentation notebooks&lt;/li&gt;&#10;&lt;li&gt;Added &lt;a href="https://www.erikdarlingdata.com/2020/01/quickly-detecting-cpu-and-memory-pressure-on-a-sql-server"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;sp_pressure_detector&lt;/a&gt; as a Notebook&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;That&amp;rsquo;s it!&lt;br&gt;&#10;As always, to use it just download the &lt;a href="https://github.com/EmanueleMeazzo/tsql.tech-Code-snippets/tree/master/Notebooks/Books/DiagnosticBook"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;folder of the Book&lt;/a&gt; from my GitHub (&lt;a href="https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/EmanueleMeazzo/tsql.tech-Code-snippets/tree/master/Notebooks/Books/DiagnosticBook"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;here is a direct link&lt;/a&gt; for the folder only, thanks &lt;a href="https://minhaskamal.github.io/DownGit/#/home"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;DownGit&lt;/a&gt;!)  and open the folder with the latest version of Azure Data Studio.&lt;/p&gt;</description></item><item><title>Should you put all your eggs in one basket? Thinking about Database eggs and Cloud baskets</title><link>https://emanuelemeazzo.com/technical-articles/2020/01/should-you-put-all-your-eggs-in-one-basket-thinking-about-database-eggs-and-cloud-baskets/</link><pubDate>Mon, 20 Jan 2020 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2020/01/should-you-put-all-your-eggs-in-one-basket-thinking-about-database-eggs-and-cloud-baskets/</guid><description>&lt;p&gt;I had a conversation recently that started a train of thoughts related to database, cloud providers, and risk.&lt;br&gt;&#10;Should we treat DBs like investments and diversify investing in the best suit for a specific need, or try to keep everything in the same ecosystem?&lt;/p&gt;&#10;&lt;h2 id="stock-market-dbs"&gt;Stock market DBs&lt;/h2&gt;&#10;&lt;p&gt;When your IT stack is diversified, the risk is lowered as you don&amp;rsquo;t rely on any specific omnipotent provider that can at some moment fail and bring down your entire IT infrastructure, what are the pros and the cons?&lt;/p&gt;</description></item><item><title>How to update a SQL Server container on Docker for Windows (spoiler - there is a catch)</title><link>https://emanuelemeazzo.com/technical-articles/2020/01/how-to-update-a-sql-server-container-on-docker-for-windows-spoiler-there-is-a-catch/</link><pubDate>Wed, 08 Jan 2020 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2020/01/how-to-update-a-sql-server-container-on-docker-for-windows-spoiler-there-is-a-catch/</guid><description>&lt;p&gt;With the 1st CU for SQL 2019 released just yesterday, and Microsoft updating the docker image right away, the only natural response for me was to update the docker instance that &lt;a href="https://emanuelemeazzo.com/technical-articles/2019/11/use-sql-server-on-docker-for-windows-the-easy-way/"&#10;&#10;&#10;&#10; &#10;&#10;&#10;&gt;I showed you how to deploy&lt;/a&gt; a few months back.&lt;/p&gt;&#10;&lt;h2 id="the-theory"&gt;The theory&lt;/h2&gt;&#10;&lt;p&gt;In theory, a docker container can&amp;rsquo;t be really &amp;ldquo;updated&amp;rdquo;, they&amp;rsquo;re meant to be stateless machines that you spin up and down responding to changes in demand; what we&amp;rsquo;re technically doing is creating a new container, based on a new image, that has the same configuration and uses the same persistent storage as the old one.&lt;/p&gt;</description></item><item><title>The SQL Diagnostic (jupyter) Book</title><link>https://emanuelemeazzo.com/technical-articles/2020/01/the-sql-diagnostic-jupyter-book/</link><pubDate>Wed, 01 Jan 2020 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2020/01/the-sql-diagnostic-jupyter-book/</guid><description>&lt;p&gt;Welcome to 2020! I wanted to start this year by giving to all my fellow consultants another way to troubleshoot our beloved SQL Servers; I&amp;rsquo;ve already talked about &lt;a href="https://emanuelemeazzo.com/technical-articles/2019/04/sql-notebooks-on-the-right-track-to-enhance-data-analysis-on-sql-server/"&#10;&#10;&#10;&#10; &#10;&#10;&#10;&gt;diagnostic notebooks&lt;/a&gt; in the past, and now, since Azure Data Studio has implemented the feature, I wanted to group them into a Diagnostic Book.&lt;/p&gt;&#10;&lt;p&gt;As the name implies, a &lt;a href="https://github.com/jupyter/jupyter-book"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;jupyter book&lt;/a&gt; is no other than a collection of notebooks (and markdown files) that groups everything in a coherent space, with an index and navigation options alike.&lt;/p&gt;</description></item><item><title>Why RDP'ing into a SQL machine is a bad idea</title><link>https://emanuelemeazzo.com/technical-articles/2019/11/why-rdping-into-a-sql-machine-is-a-bad-idea/</link><pubDate>Thu, 28 Nov 2019 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2019/11/why-rdping-into-a-sql-machine-is-a-bad-idea/</guid><description>&lt;p&gt;Guys, you should stop doing this, there are reasons if it&amp;rsquo;s not recommended to log into the SQL Server Machine via RDP as opposed to using a client on your PC (or another machine).&lt;/p&gt;&#10;&lt;p&gt;PS: These recommendations are valid for any DMBS, not only SQL Server&lt;/p&gt;&#10;&lt;h3 id="youre-stealing-resources-from-sql-server"&gt;You&amp;rsquo;re stealing resources from SQL Server&lt;/h3&gt;&#10;&lt;p&gt;Probably you&amp;rsquo;re logging into your server because there is a problem, do you really want to steal &lt;a href="https://superuser.com/questions/1195570/sql-server-management-studio-cpu-and-ram-usage-keeps-increasing-for-no-reason"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;precious RAM&lt;/a&gt; and &lt;a href="https://social.msdn.microsoft.com/Forums/sqlserver/en-US/81a82fea-42c3-4d7e-9e2d-a2cf45f9c4d7/ssms-causes-high-cpu-utilization?forum=sqlkjappmsmgmt"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;CPU time&lt;/a&gt; by launching SSMS (or any other tool) and making the situation even worse?&lt;/p&gt;</description></item><item><title>Presenting at SQL Saturday</title><link>https://emanuelemeazzo.com/technical-articles/2019/11/presenting-at-sql-saturday/</link><pubDate>Wed, 20 Nov 2019 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2019/11/presenting-at-sql-saturday/</guid><description>&lt;p&gt;&lt;a href="https://www.sqlsaturday.com/895/eventhome.aspx"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;&lt;img src="../images/SQLSaturday_Vertical1.png" alt="SQLSaturday PASS logo, linking to the SQL Saturday Parma event page"&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;I&amp;rsquo;ll be presenting my session on &amp;ldquo;&lt;strong&gt;How to use PowerBi as a Free monitoring tool&lt;/strong&gt;&amp;rdquo; this Saturday in Parma.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://www.sqlsaturday.com/895/Sessions/Schedule.aspx"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;Here&lt;/a&gt; you can check the session schedule, there are a lot of interesting sessions; moreover, the event is totally free, if you are in the area and you like data it can&amp;rsquo;t be missed!&lt;/p&gt;&#10;&lt;p&gt;Check out the event page &lt;a href="https://www.sqlsaturday.com/895/eventhome.aspx"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;here&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Use SQL Server on Docker for Windows, the easy way</title><link>https://emanuelemeazzo.com/technical-articles/2019/11/use-sql-server-on-docker-for-windows-the-easy-way/</link><pubDate>Thu, 14 Nov 2019 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2019/11/use-sql-server-on-docker-for-windows-the-easy-way/</guid><description>&lt;p&gt;I wanted to install and test SQL Server 2019 on a new machine, without the hassle to create a VM from scratch, since I had none of my resources from this new place, that&amp;rsquo;s when I remembered about Docker and how Microsoft is slowing reaching &lt;a href="https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-editions-and-components-2019?view=sql-server-ver15"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;feature parity for SQL on LInux&lt;/a&gt; , moreover, I didn&amp;rsquo;t need any of the unsupported stuff, so.&lt;/p&gt;&#10;&lt;p&gt;I didn&amp;rsquo;t find a straightforward guide that said &amp;ldquo;do this and that&amp;rsquo;s it&amp;rdquo; and everybody lost themselves in useless words for which I didn&amp;rsquo;t have the time to read, so, here I am writing it myself.&lt;/p&gt;</description></item><item><title>Watch the Replay of my Session @ GroupBy</title><link>https://emanuelemeazzo.com/technical-articles/2019/11/watch-the-replay-of-my-session-groupby/</link><pubDate>Tue, 05 Nov 2019 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2019/11/watch-the-replay-of-my-session-groupby/</guid><description>&lt;p&gt;&lt;a href="https://youtu.be/aP15fp99h2s"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;https://youtu.be/aP15fp99h2s&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Slides and materials for my session "How to use PowerBI as a Monitoring Tool" @ GroupBy.org</title><link>https://emanuelemeazzo.com/technical-articles/2019/10/slides-and-materials-for-my-session-how-to-use-powerbi-as-a-monitoring-tool-groupby-org/</link><pubDate>Tue, 08 Oct 2019 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2019/10/slides-and-materials-for-my-session-how-to-use-powerbi-as-a-monitoring-tool-groupby-org/</guid><description>&lt;p&gt;&lt;img src="../images/image-1.png" alt="Session title card: How to use PowerBI as a free monitoring tool (including 5 reports for SQL Server)"&gt;&lt;/p&gt;&#10;&lt;p&gt;Good news everybody!&lt;br&gt;&#10;As you may know if you follow me on &lt;a href="https://www.linkedin.com/in/emanuelemeazzo/"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;Linkedin&lt;/a&gt; , I&amp;rsquo;ve been selected as one of the &lt;a href="https://groupby.org/conference-session-abstracts/meet-your-groupby-speakers/"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;GroupBy Speakers&lt;/a&gt; for the last GroupBy session for 2019!&lt;/p&gt;&#10;&lt;p&gt;My session will be: &lt;strong&gt;How to use PowerBI as a free monitoring tool (including 5 free reports for SQL Server)&lt;/strong&gt; (session abstract &lt;a href="https://groupby.org/conference-session-abstracts/how-to-use-powerbi-as-a-free-monitoring-tool-including-5-free-reports-for-sql-server/"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;here&lt;/a&gt;)&lt;/p&gt;</description></item><item><title>DeadLock Art</title><link>https://emanuelemeazzo.com/technical-articles/2019/10/deadlock-art/</link><pubDate>Fri, 04 Oct 2019 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2019/10/deadlock-art/</guid><description>&lt;p&gt;&lt;img src="../images/Deadlock-Art-1024x992.png" alt="Deadlock graph tangled enough to look like art: parallel threads and exchange event nodes in a circle, crossed by edges"&gt;&lt;/p&gt;&#10;&lt;p&gt;I love when it happens&lt;/p&gt;</description></item><item><title>PROTIP: Performance Tuning on the cloud will save you money by the hour</title><link>https://emanuelemeazzo.com/technical-articles/2019/08/protip-performance-tuning-on-the-cloud-will-save-you-money-by-the-hour/</link><pubDate>Mon, 05 Aug 2019 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2019/08/protip-performance-tuning-on-the-cloud-will-save-you-money-by-the-hour/</guid><description>&lt;pre tabindex="0"&gt;&lt;code&gt;Note: I&amp;#39;ll be focusing on Azure Cloud and SQL Server, but these considerations are valid for any Cloud/DB Vendor.&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Whenever people talk about &amp;ldquo;The Cloud&amp;rdquo; I often hear: &amp;ldquo;cloud is expensive&amp;rdquo; and, sooner or later, &amp;ldquo;if performance aren&amp;rsquo;t good we can scale up in minutes later&amp;rdquo; .&lt;br&gt;&#10;The mindset of taking care of performance issue by scaling up/down cloud resources is a golden egg goose for cloud providers, and a money sink for businesses.&lt;/p&gt;</description></item><item><title>Creating a Report and distributed Alerts for PowerBI Scheduled Refreshes in your organization (starring Powershell, PowerBi &amp; Microsoft Flow)</title><link>https://emanuelemeazzo.com/technical-articles/2019/06/creating-a-report-and-distributed-alerts-for-powerbi-scheduled-refreshes-in-your-organization-starring-powershell-powerbi-microsoft-flow/</link><pubDate>Mon, 24 Jun 2019 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2019/06/creating-a-report-and-distributed-alerts-for-powerbi-scheduled-refreshes-in-your-organization-starring-powershell-powerbi-microsoft-flow/</guid><description>&lt;h2 id="the-issue"&gt;The Issue&lt;/h2&gt;&#10;&lt;p&gt;If you ever tried to manage a PowerBI Tenant, you may have come across this problem:&lt;br&gt;&#10;A part the PowerBI success comes from the ability for BI people to self-serve the data it needs, you just provide them with the datasources that they need and they can go around creating all the reports that they want; this is also an issue when trying to manage the tenant, because by default the owner of the dataset is who published the report in the first place, which is usually the BI guy that created it.&lt;/p&gt;</description></item><item><title>How to implement a Linear Regression Prediction in a PowerBI report using Python</title><link>https://emanuelemeazzo.com/technical-articles/2019/06/how-to-implement-a-linear-regression-prediction-in-a-powerbi-report-using-python/</link><pubDate>Mon, 10 Jun 2019 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2019/06/how-to-implement-a-linear-regression-prediction-in-a-powerbi-report-using-python/</guid><description>&lt;p&gt;Machine learning is the buzzword of the moment, so I wanted to talk about that sweet ML here too.&lt;/p&gt;&#10;&lt;p&gt;For a project that I&amp;rsquo;m working on, I&amp;rsquo;ve been experimenting on basic ML prediction algorithms, in this instance I&amp;rsquo;ll show you a basic POC on how ML can be integrated right into PowerBI in a serviceable manner.&lt;/p&gt;&#10;&lt;figure&gt;&#10;&lt;p&gt;&lt;img src="../images/image-1024x890.png" alt="Python visuals in Power BI: backup sizes with a red regression line, 290MB/day growth hits 300000MB in 208 days"&gt;&lt;/p&gt;</description></item><item><title>Get faster performance and lower network usage in SQL Server Loops by avoiding the "DONE Token" overload</title><link>https://emanuelemeazzo.com/technical-articles/2019/05/get-faster-performance-and-lower-network-usage-in-sql-server-loops-by-avoiding-the-done-token-overload/</link><pubDate>Wed, 22 May 2019 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2019/05/get-faster-performance-and-lower-network-usage-in-sql-server-loops-by-avoiding-the-done-token-overload/</guid><description>&lt;p&gt;FYI: You can get the Notebook for this article on my &lt;a href="https://github.com/EmanueleMeazzo/tsql.tech-Code-snippets/blob/master/Notebooks/Articles/DONE%20Tokens%20Performance.ipynb"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;github&lt;/a&gt; and experiment yourself (opens with &lt;a href="https://github.com/Microsoft/azuredatastudio"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;Azure Data Studio&lt;/a&gt;).&lt;/p&gt;&#10;&lt;h2 id="preamble"&gt;Preamble&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;Everybody&lt;/strong&gt; knows that using loops in SQL Server is not efficient, if you&amp;rsquo;re able to write that same logic in a set-based statement it&amp;rsquo;s &lt;em&gt;guaranteed&lt;/em&gt; to be faster.&lt;br&gt;&#10;Still, devs can&amp;rsquo;t be helped, you just can&amp;rsquo;t seem to nail down the set-equivalent statement for the loop, or, simply, you have to write a loop because the set-statement is too complicated for other members of the team to maintain and you have to bind your query powers for a greater good.&lt;/p&gt;</description></item><item><title>SQL Notebooks: On the right track to enhance Data Analysis on SQL Server</title><link>https://emanuelemeazzo.com/technical-articles/2019/04/sql-notebooks-on-the-right-track-to-enhance-data-analysis-on-sql-server/</link><pubDate>Mon, 29 Apr 2019 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2019/04/sql-notebooks-on-the-right-track-to-enhance-data-analysis-on-sql-server/</guid><description>&lt;p&gt;Since about a couple of versions ago, Azure Data Studio introduced &lt;a href="https://jupyter.org/"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;Jupyter Notebooks&lt;/a&gt; support for SQL Server (and with SQL Server 2019 &amp;ldquo;Big Data Clusters&amp;rdquo; on the horizon, it was about time)&lt;/p&gt;&#10;&lt;h2 id="what-are-notebooks"&gt;What are Notebooks?&lt;/h2&gt;&#10;&lt;p&gt;&amp;ldquo;Notebooks&amp;rdquo; are a tool that our data science/machine learning colleagues know, love and are at their disposal since some time (Python, Spark, etc&amp;hellip;);&lt;br&gt;&#10;A notebook is an open-source format that includes both (executable) code and &lt;a href="https://jupyter-notebook.readthedocs.io/en/stable/examples/Notebook/Working%20With%20Markdown%20Cells.html"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;markdown&lt;/a&gt; in a single file, in order to have a continuous narrative (be aware that not all features are available in ADS as of now)&lt;br&gt;&#10;Now, Microsoft has implemented the SQL Kernel in ADS.&lt;br&gt;&#10;Moreover, SQL Notebooks aren&amp;rsquo;t limited to the latest version of SQL Server but you can connect to any supported SQL Server version.&lt;/p&gt;</description></item><item><title>How to identify the unit of measure of Extended Events durations</title><link>https://emanuelemeazzo.com/technical-articles/2019/04/how-to-identify-the-unit-of-measure-of-extended-events-durations/</link><pubDate>Wed, 10 Apr 2019 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2019/04/how-to-identify-the-unit-of-measure-of-extended-events-durations/</guid><description>&lt;p&gt;Even if I use Extended Events almost every day, I always forget the unit of measure of each duration counter, since they&amp;rsquo;re basically arbitrary; Seconds, milliseconds, microseconds? Whatever, it depends on the dev that implemented that specific counter.&lt;/p&gt;&#10;&lt;p&gt;That&amp;rsquo;s why I&amp;rsquo;ve added to &lt;a href="https://github.com/EmanueleMeazzo/tsql.tech-Code-snippets"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;Tsql.tech Github repository&lt;/a&gt; the following code that extracts the descriptions from XE DMVs in order to identify the unit of measure:&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;SELECT [p].[name] [package_name],&#10; [o].[name] [event_name],&#10; [c].[name] [event_field],&#10; [DurationUnit] = CASE&#10; WHEN [c].[description] LIKE &amp;#39;%milli%&amp;#39; THEN SUBSTRING([c].[description],&#10; CHARINDEX(&amp;#39;milli&amp;#39;, [c].[description]), 12)&#10; WHEN [c].[description] LIKE &amp;#39;%micro%&amp;#39; THEN SUBSTRING([c].[description],&#10; CHARINDEX(&amp;#39;micro&amp;#39;, [c].[description]), 12)&#10; ELSE [c].[description]&#10; END,&#10; [c].type_name [field_type],&#10; [c].[column_type] [column_type]&#10;FROM sys.dm_xe_objects o&#10;JOIN sys.dm_xe_packages p&#10;ON o.package_guid = p.guid&#10;JOIN sys.dm_xe_object_columns c&#10;ON o.name = c.object_name&#10;WHERE [o].[object_type] = &amp;#39;event&amp;#39;&#10; AND [c].[name] = &amp;#39;duration&amp;#39;;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;For your convenience, here&amp;rsquo;s the output of the query above in Azure SQL DB&lt;/p&gt;</description></item><item><title>Quickly move data between instances for testing using only PowerShell</title><link>https://emanuelemeazzo.com/technical-articles/2019/04/quickly-move-data-between-instances-for-testing-using-only-powershell/</link><pubDate>Tue, 02 Apr 2019 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2019/04/quickly-move-data-between-instances-for-testing-using-only-powershell/</guid><description>&lt;p&gt;Quick tip, how many times did a dev ask you to move the PROD/QA data to DEV to test a feature? Of course, not the whole DB, which would be too easy via a scripted backup/restore, but only a single table, or subset of table data?&lt;/p&gt;&#10;&lt;p&gt;How do you deal with it usually? With the SSMS Import data Wizard? (ugh..) Exporting to flat file and reimporting? Linked Servers? External tools? Restore the whole database in the dev instance and extract the single table? Ignore the dev until it goes away?&lt;/p&gt;</description></item><item><title>Cast any string directly to XML with auto-escaping characters in SQL Server</title><link>https://emanuelemeazzo.com/technical-articles/2019/03/cast-any-string-directly-to-xml-with-auto-escaping-characters-in-sql-server/</link><pubDate>Mon, 25 Mar 2019 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2019/03/cast-any-string-directly-to-xml-with-auto-escaping-characters-in-sql-server/</guid><description>&lt;p&gt;Recently I had to look up the definition for a bunch of SQL objects and didn&amp;rsquo;t want to manually retrieve them manually in SSMS (with Create Scripts) or Visual Studio (by searching the object name in my TFS repository).&lt;/p&gt;&#10;&lt;p&gt;Since lazyness and automation are the basis of a well done engineering work, I wanted to create a list, where I could basically click on the object that I needed and see the definition right away, without any tool or having to code something externally, of course.&lt;/p&gt;</description></item><item><title>How to Show Better Execution Plans in Azure Data Studio</title><link>https://emanuelemeazzo.com/technical-articles/2019/03/how-to-show-better-execution-plans-in-azure-data-studio/</link><pubDate>Fri, 22 Mar 2019 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2019/03/how-to-show-better-execution-plans-in-azure-data-studio/</guid><description>&lt;p&gt;&lt;a href="https://docs.microsoft.com/en-us/sql/azure-data-studio/what-is?view=sql-server-2017"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;Azure Data Studio&lt;/a&gt; is starting to mature and some neat features are coming to the vscode-based (and now multidatabase and multiplatform) tool.&lt;/p&gt;&#10;&lt;p&gt;We got query plans in the app since some time, but to be frank they&amp;rsquo;re not very pretty and have some issues with dark themes:&lt;/p&gt;&#10;&lt;figure&gt;&#10;&lt;p&gt;&lt;img src="../images/image-1024x484.png" alt="Built-in Azure Data Studio plan in a dark theme: Nested Loops and Constant Scan operators with no visible connecting lines"&gt;&lt;/p&gt;&#10;&lt;figcaption&gt;&#10;&lt;p&gt;Phantom Lines in plans with Dark Theme&lt;/p&gt;</description></item><item><title>Load data directly in SQL Server from a xlsx file, without OLEDB or Excel, using Powershell</title><link>https://emanuelemeazzo.com/technical-articles/2019/03/load-data-directly-in-sql-server-from-a-xlsx-file-without-oledb-or-excel-using-powershell/</link><pubDate>Wed, 20 Mar 2019 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2019/03/load-data-directly-in-sql-server-from-a-xlsx-file-without-oledb-or-excel-using-powershell/</guid><description>&lt;p&gt;I don&amp;rsquo;t know you, but people from other BU are old fashioned guys that do everything by hand, and then send you an Excel file to &amp;ldquo;put this data in the database&amp;rdquo; or &amp;ldquo;find info related to this codes&amp;rdquo;.&lt;/p&gt;&#10;&lt;p&gt;This is an hassle, especially if you don&amp;rsquo;t have the Microsoft.ACE.OLEDB provider installed in your machine (or for some reason SSMS doesn&amp;rsquo;t recognize it or you have the wrong version) and hence you cannot use the &lt;em&gt;Import Data&lt;/em&gt; task (which is garbage, anyway).&lt;br&gt;&#10;A quick solution that I used in the past is saving the xlsx file as CSV and then use the flat file import wizard to quickly import the data into my staging DB; Still, some characters may prove problematic in a CSV file and you have to choose the right separator, when you have an Excel file with more than one worksheet you have to save more than one CSV file and don&amp;rsquo;t get me started in how the Flat File Import Wizard analyzes only the first rows of the file and hence chooses datatypes and nullable columns in a non-reliable way (aka I cannot press Advance-&amp;gt;Advance-&amp;gt;Advance-&amp;gt;Done without looking, unaccepptable)&lt;/p&gt;</description></item><item><title>A SQL Server Permission Report in PowerBI</title><link>https://emanuelemeazzo.com/technical-articles/2019/01/a-sql-server-permission-report-in-powerbi/</link><pubDate>Mon, 28 Jan 2019 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2019/01/a-sql-server-permission-report-in-powerbi/</guid><description>&lt;h2 id="what-it-is-and-how-to-get-it"&gt;What it is and how to get it&lt;/h2&gt;&#10;&lt;p&gt;When working with SQL Instances that have lots of databases, sensitive data and equally lots of users/applications that accesses those, it can get pretty troublesome to keep track of every user, for every database, down to the single column/action.&lt;br&gt;&#10;That&amp;rsquo;s why I developed this report, in orde to be able to quickly determine the security status of each object or user in the system.&lt;/p&gt;</description></item><item><title>Why identity values can jump by the 1000's ? Is it normal?</title><link>https://emanuelemeazzo.com/technical-articles/2018/12/why-identity-values-can-jump-by-the-1000s-is-it-normal/</link><pubDate>Fri, 28 Dec 2018 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2018/12/why-identity-values-can-jump-by-the-1000s-is-it-normal/</guid><description>&lt;p&gt;It must have happened you at least once to find identity columns with values that from one row to the next one jump by 1000&amp;rsquo;s rows, of course without having anyone deleting the rows in between, how this occurs?&lt;/p&gt;&#10;&lt;p&gt;Identity columns don&amp;rsquo;t actually recalculate every time the next number to be inserted, SQL Server caches a number of values in order to obtain faster inserts and polls from there. Just imagine, if for every row you would have to calculate the identity value based on the previous one, it would add a (however small) overhead to every insert, that will grow linearly with the number of rows in the insert.&lt;/p&gt;</description></item><item><title>Row Level Security Performance Implications</title><link>https://emanuelemeazzo.com/technical-articles/2018/12/row-level-security-performance-implications/</link><pubDate>Sat, 15 Dec 2018 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2018/12/row-level-security-performance-implications/</guid><description>&lt;p&gt;A conversation had me wondering about performance implications in SQL Server RLS feature, specifically on how to mitigate the performance impact;&lt;br&gt;&#10;TL; DR; ? Since security functions are actually Inline Table Valued Functions (ITVF), if you write them in a decent way the queries will run in the most efficent way possibile, avoiding RBAR processing.&lt;/p&gt;&#10;&lt;p&gt;Let&amp;rsquo;s set the case scene; I&amp;rsquo;m starting from the ColdRoomTemperatures_Archive table in the WideWorldImporters sample database, why? I already had the DB restored and ready to go, it has a reasonable number of rows and the column ColdRoomSensorNumber it&amp;rsquo;s a prefect candidate for the example I had in mind.&lt;/p&gt;</description></item><item><title>A quick function to remove (or keep only) string patterns from SQL Server Strings</title><link>https://emanuelemeazzo.com/technical-articles/2018/11/a-quick-function-to-remove-or-keep-only-string-patterns-from-sql-server-strings/</link><pubDate>Sun, 04 Nov 2018 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2018/11/a-quick-function-to-remove-or-keep-only-string-patterns-from-sql-server-strings/</guid><description>&lt;p&gt;Working with strings in SQL Server isn&amp;rsquo;t as easy or powerful as using any programming language, but, I&amp;rsquo;m sure that more than once you had to to some data manipulation directly in the database, this may help you out, and it doesn&amp;rsquo;t use Loops, CLR or XML&lt;/p&gt;&#10;&lt;p&gt;The idea is to exploit set logic, as opposed to the classic program logic of when you&amp;rsquo;re usually playing with strings in whenever programming language of choice:&lt;/p&gt;</description></item><item><title>A PowerBI Report for SQL Server Agent Jobs</title><link>https://emanuelemeazzo.com/technical-articles/2018/09/a-powerbi-report-for-sql-server-agent-jobs/</link><pubDate>Sun, 23 Sep 2018 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2018/09/a-powerbi-report-for-sql-server-agent-jobs/</guid><description>&lt;p&gt;As my &amp;ldquo;community service&amp;rdquo; this month, I&amp;rsquo;ve worked on this neat (I hope!) PowerBI report (and companion stored procedure) to easily analyze all what you wanted to know about your Agent Jobs execution, but were too afraid to ask to the standard Reports in SSMS.&lt;/p&gt;&#10;&lt;p&gt;This is part of the &lt;a href="http://firstresponderkit.org/"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;FirstRespondersKit&lt;/a&gt; toolkit, which I encourage you to check out.&lt;/p&gt;&#10;&lt;h2 id="installation"&gt;Installation:&lt;/h2&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Install the sp_BlitzJobInfo stored procedure wherever you want&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;If you install this in the master database you can launch it from any database ( remember, &amp;ldquo;sp_&amp;rdquo; stands for &amp;ldquo;special&amp;rdquo;, not for &amp;ldquo;stored procedure&amp;rdquo;) or you can install it wherever you like.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Open Up the PowerBI template file&lt;/p&gt;</description></item><item><title>Job Performance Analysis PowerBi Report coming soon</title><link>https://emanuelemeazzo.com/technical-articles/2018/09/job-performance-analysis-powerbi-report-coming-soon/</link><pubDate>Sun, 16 Sep 2018 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2018/09/job-performance-analysis-powerbi-report-coming-soon/</guid><description>&lt;p&gt;It will be part of the &lt;a href="http://firstresponderkit.org/"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;FirstResponderKit&lt;/a&gt; tool, free for all&lt;/p&gt;&#10;&lt;iframe width="933" height="700" src="https://app.powerbi.com/view?r=eyJrIjoiNTQ5OTJmNTMtMTcyYy00ZTc3LWI2YjYtOTJiNmFiNjZiYzdmIiwidCI6ImJmNmE0ZGVmLWE3ZTktNGE0ZS1hNDE3LTllMTlmZjI1OTliNSIsImMiOjl9" frameborder="0" allowfullscreen="true"&gt;&lt;/iframe&gt;</description></item><item><title>How to populate a PowerBI Dataset from a REST API, using PowerBI's REST API, without any code (via Microsoft Flow)</title><link>https://emanuelemeazzo.com/technical-articles/2018/08/how-to-populate-a-powerbi-dataset-from-a-rest-api-using-powerbis-rest-api-without-any-code-via-microsoft-flow/</link><pubDate>Fri, 10 Aug 2018 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2018/08/how-to-populate-a-powerbi-dataset-from-a-rest-api-using-powerbis-rest-api-without-any-code-via-microsoft-flow/</guid><description>&lt;p&gt;I was wondering if PowerBI could be used for reporting on Live data, not coming from my Database using DirectQuery (or the new super neat &lt;a href="http://radacad.com/composite-model-directquery-and-import-data-combined-evolution-begins-in-power-bi"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;composite mode&lt;/a&gt;) with with a Streaming Dataset, which I never used before, so, I got to work.&lt;/p&gt;&#10;&lt;p&gt;The Proof Of Concept is to take live data from Cryptocurrency value using REST API and pushing them into a PowerBI report.&lt;br&gt;&#10;I&amp;rsquo;m using the API from &lt;a href="https://min-api.cryptocompare.com"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;CryptoCompare&lt;/a&gt; with this super basic call to get the price of BTC in EUR:&lt;/p&gt;</description></item><item><title>SQL Server: How to Find a safe restore point (and who messed up) by reading from the Transaction Log</title><link>https://emanuelemeazzo.com/technical-articles/2018/06/find-who-e-when-something-was-messed-up-in-order-to-restore-to-a-safe-point-using-the-transaction-log/</link><pubDate>Fri, 29 Jun 2018 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2018/06/find-who-e-when-something-was-messed-up-in-order-to-restore-to-a-safe-point-using-the-transaction-log/</guid><description>&lt;p&gt;&lt;strong&gt;Panic&lt;/strong&gt;: Someone has messed up and deleted a super important piece of information in a table! Who did it? Nobody knows. When did it happen? &amp;ldquo;The data was there this morning&amp;rdquo; Super useful info, thanks brah.&lt;/p&gt;&#10;&lt;p&gt;So you activate your DBA Magic Powers© and try to deal with this stuff yourself: you need to identify which is the exact point where the data has been deleted (in order to minimize data loss) and eventually who did it (to have someone to blame, instruct on query best practices or blackmail, your choice).&lt;/p&gt;</description></item><item><title>A script to automatically align columnstore indexes to enhance segment elimination (and hence performances)</title><link>https://emanuelemeazzo.com/technical-articles/2018/06/a-script-to-automatically-align-columnstore-indexes-to-enhance-segment-elimination-and-hence-performances/</link><pubDate>Mon, 04 Jun 2018 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2018/06/a-script-to-automatically-align-columnstore-indexes-to-enhance-segment-elimination-and-hence-performances/</guid><description>&lt;p&gt;Columstore indexes are a &amp;ldquo;new&amp;rdquo; neat data structure that I like, even if technically they&amp;rsquo;ve been around for years, only recently they&amp;rsquo;ve become usable by most customers. Let me recap a little bit what we&amp;rsquo;re talking about, so the point of this will be clearer:&lt;/p&gt;&#10;&lt;p&gt;[caption id=&amp;ldquo;attachment_569&amp;rdquo; align=&amp;ldquo;alignnone&amp;rdquo; width=&amp;ldquo;634&amp;rdquo;]&lt;img src="../images/img_5b14578d13abd.png" alt="Diagram: rows split into rowgroups, each column of a rowgroup stored as a compressed segment, extra rows go to the deltastore"&gt; Obligatory Microsoft Image Example[/caption]&lt;/p&gt;</description></item><item><title>Troubleshooting SQL Server by analyzing the deviation from average values of Waitstats and Perfmon counters</title><link>https://emanuelemeazzo.com/technical-articles/2018/05/troubleshooting-sql-server-by-analyzing-the-deviation-from-average-values-of-waitstats-and-perfmon-counters/</link><pubDate>Wed, 16 May 2018 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2018/05/troubleshooting-sql-server-by-analyzing-the-deviation-from-average-values-of-waitstats-and-perfmon-counters/</guid><description>&lt;p&gt;&lt;img src="../images/img_5afca28208572.png" alt="Power BI page charting the 5 wait types that deviate most from average, LATCH_EX to CXCONSUMER, spiking over a dashed mean"&gt;&lt;/p&gt;&#10;&lt;p&gt;Counters and Waitstats are good boys and useful for understanding what&amp;rsquo;s going on in your SQL instance, but often are pretty useless by themselves if you don&amp;rsquo;t know what&amp;rsquo;s a normal value for your server; For example a value of 100 batch requests/Sec is a value to worry about? It depends ¯\_(ツ)_/¯&lt;/p&gt;</description></item><item><title>Tracking Dynamic SQL performance automatically with a wrapper on sp_executesql (Dynamic SQL Inception)</title><link>https://emanuelemeazzo.com/technical-articles/2018/05/tracking-dynamic-sql-performance-automatically-with-a-wrapper-on-sp_executesql-dynamic-sql-inception/</link><pubDate>Wed, 02 May 2018 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2018/05/tracking-dynamic-sql-performance-automatically-with-a-wrapper-on-sp_executesql-dynamic-sql-inception/</guid><description>&lt;p&gt;in some projects I have a lot of Dynamic SQL going on, some queries are fast, some queries are slow, it depends on how the dynamic statement is actually put together ¯\_(ツ)_/¯ Tracking the performance of such statements is usually difficult because you don&amp;rsquo;t really know &amp;ldquo;why it&amp;rsquo;s slow&amp;rdquo; and you have to interpolate data from the app and the plan cache (if the plan is still there and wasn&amp;rsquo;t purged due to memory pressure) and try to figure out which was the piece of the offending dynamic SQL and why it did that.&lt;/p&gt;</description></item><item><title>Creating a Perfmon and Filestats reports in PowerBI [Part 2]</title><link>https://emanuelemeazzo.com/technical-articles/2018/04/creating-a-perfmon-and-filestats-reports-in-powerbi-part-2/</link><pubDate>Wed, 25 Apr 2018 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2018/04/creating-a-perfmon-and-filestats-reports-in-powerbi-part-2/</guid><description>&lt;p&gt;In this &lt;a href="https://emanuelemeazzo.com/technical-articles/2018/02/create-perfmon-and-filestats-reports-in-powerbi-part-1/"&#10;&#10;&#10;&#10; &#10;&#10;&#10;&gt;previous post&lt;/a&gt; I detailed the structure of the objects to be created to create a live report in PowerBI to analyze Perfmon and Filestats data (which in my case was already being gathered but not used by the FirstRespondersKit tool); Let&amp;rsquo;s get to the PowerBI stuff.&lt;/p&gt;&#10;&lt;p&gt;Here is the final result that we&amp;rsquo;ll reach:&lt;/p&gt;&#10;&lt;iframe src="https://app.powerbi.com/view?r=eyJrIjoiMzkxNmM1YTAtMDUwZC00ZTA3LWI5M2EtM2IwYjA1ZDVkMzdjIiwidCI6ImJmNmE0ZGVmLWE3ZTktNGE0ZS1hNDE3LTllMTlmZjI1OTliNSIsImMiOjl9" width="933" height="700" frameborder="0" allowfullscreen="allowfullscreen"&gt;&lt;/iframe&gt;&#10;&lt;p&gt;I&amp;rsquo;ll be starting from the existing FirstRespondersKit PowerBI template, but you can start from scratch too, same thing. I&amp;rsquo;ll not be going through the steps related to the graphs appearance (labels, titles, whatever) as anyone can personalize them as their heart desires. &lt;em&gt;Note: if images seem small on your screen, you can right-click on them and select &amp;ldquo;Open in another tab&amp;rdquo; to view them in their majestic original resolution&lt;/em&gt;&lt;/p&gt;</description></item><item><title>A clarification on the waitstat: SOS_SCHEDULER_YIELD</title><link>https://emanuelemeazzo.com/technical-articles/2018/04/a-clarification-on-the-waitstat-sos_scheduler_yield/</link><pubDate>Mon, 16 Apr 2018 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2018/04/a-clarification-on-the-waitstat-sos_scheduler_yield/</guid><description>&lt;p&gt;Are you one of the people that says &amp;ldquo;we have a CPU related issue&amp;rdquo; whenever it sees SOS_SCHEDULER_YIELD popping up? Let me explain why you&amp;rsquo;re wrong.&lt;/p&gt;&#10;&lt;p&gt;In the &lt;a href="https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-os-wait-stats-transact-sql?view=sql-server-2017"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;books online&lt;/a&gt;, SOS_SCHEDULER_YIELD is defined simply as:&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;Occurs when a task voluntarily yields the scheduler for other tasks to execute. During this wait the task is waiting for its quantum to be renewed.&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;Well, since the SQL Server scheduler is not preemptive, this means:&lt;/p&gt;</description></item><item><title>Revisiting the classics: Minimizing the Impact of DBCC CHECKDB (by Aaron Bertrand) in 2018</title><link>https://emanuelemeazzo.com/technical-articles/2018/04/revisiting-the-classics-minimizing-the-impact-of-dbcc-checkdb-by-aaron-bertrand-in-2018/</link><pubDate>Wed, 04 Apr 2018 00:00:00 +0200</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2018/04/revisiting-the-classics-minimizing-the-impact-of-dbcc-checkdb-by-aaron-bertrand-in-2018/</guid><description>&lt;p&gt;SQL Server has a long history, it has been around since the &amp;lsquo;90, more than 20 years have passed, which is a VERY long time as far as the IT world goes; Especially now that Microsoft has stepped up the release schedule for SQL Server (releases are now scheduled yearly) I thought that maybe it&amp;rsquo;s a good time to go back and revisit the classic articles and recommendations by the Gurus of the SQL Scene to see if those are stil valid.&lt;/p&gt;</description></item><item><title>What's the best way to massively update a big table?</title><link>https://emanuelemeazzo.com/technical-articles/2018/03/whats-the-best-way-to-massively-update-a-big-table/</link><pubDate>Wed, 21 Mar 2018 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2018/03/whats-the-best-way-to-massively-update-a-big-table/</guid><description>&lt;p&gt;A thing that can happen once in a while in a DW is the need to massively update a column in a table, let&amp;rsquo;s find out. I&amp;rsquo;ll be using the same table as &lt;a href="https://emanuelemeazzo.com/technical-articles/2018/03/test-confronting-various-methods-of-bulk-loading-data-from-a-table-to-another-whats-the-fastest/"&#10;&#10;&#10;&#10; &#10;&#10;&#10;&gt;last post&lt;/a&gt; , the lineitem table of the tpch test by HammerDB, the three contenders are:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Heap&lt;/li&gt;&#10;&lt;li&gt;Clustered Index&lt;/li&gt;&#10;&lt;li&gt;Clustered Columnstore Index&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;No other NonClustered index will be included in the base table. You should already know that each NCIndex that contains the updated column in its key (or includes) needs to be updated too, but that&amp;rsquo;s a no brainer: if I have such index on the table (especially if the updated column is the Key) it&amp;rsquo;s better to just disable it and rebuild the Index right after the massive update.&lt;/p&gt;</description></item><item><title>SQL Server 2017 CU5 enhances troubleshooting for Intra-Query Parallelism Deadlock</title><link>https://emanuelemeazzo.com/technical-articles/2018/03/sql-server-2017-cu5-enhances-troubleshooting-for-intra-query-parallelism-deadlock/</link><pubDate>Tue, 20 Mar 2018 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2018/03/sql-server-2017-cu5-enhances-troubleshooting-for-intra-query-parallelism-deadlock/</guid><description>&lt;p&gt;Do you remember &lt;a href="https://emanuelemeazzo.com/technical-articles/2018/03/can-a-single-query-deadlock-itself-apparently-yes-a-curious-case-of-intra-query-parallelism/"&#10;&#10;&#10;&#10; &#10;&#10;&#10;&gt;this post from not long ago&lt;/a&gt;? Apparently, other than still being an issue, with the latest SQL Server 2017 CU there are additional tools to see what&amp;rsquo;s going on and troubleshoot. Check out the Microsoft &lt;a href="https://support.microsoft.com/en-us/help/4089473/better-intra-query-parallelism-deadlock-troubleshooting-sql-server2017"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;post here.&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Test: confronting various methods of bulk loading data from a table to another, what's the fastest?</title><link>https://emanuelemeazzo.com/technical-articles/2018/03/test-confronting-various-methods-of-bulk-loading-data-from-a-table-to-another-whats-the-fastest/</link><pubDate>Sun, 11 Mar 2018 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2018/03/test-confronting-various-methods-of-bulk-loading-data-from-a-table-to-another-whats-the-fastest/</guid><description>&lt;iframe src="https://app.powerbi.com/view?r=eyJrIjoiYWFjZTIyODctNjAyMy00ZjEyLThlZmMtZjI3NWJlNWM4M2EzIiwidCI6ImJmNmE0ZGVmLWE3ZTktNGE0ZS1hNDE3LTllMTlmZjI1OTliNSIsImMiOjl9" width="933" height="580" frameborder="0" allowfullscreen="allowfullscreen"&gt;&lt;span data-mce-type="bookmark" style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" class="mce_SELRES_start"&gt;﻿&lt;/span&gt;&lt;/iframe&gt;&#10;&lt;p&gt;Most of the support request I get involved with can be summarized with the following keywords: &amp;ldquo;slow&amp;rdquo; + &amp;ldquo;datawarehouse&amp;rdquo; + &amp;ldquo;ETL&amp;rdquo; + &amp;ldquo;Save us&amp;rdquo; What about thinking about ETL performance &lt;strong&gt;before&lt;/strong&gt; it goes bad? Before the system is in production for some time , the data size reaches a decent size which wasn&amp;rsquo;t tested in DEV and you find out that the system is not able to scale at all?&lt;/p&gt;</description></item><item><title>Can a single query deadlock itself? Apparently, yes: A curious case of Intra-query Parallelism</title><link>https://emanuelemeazzo.com/technical-articles/2018/03/can-a-single-query-deadlock-itself-apparently-yes-a-curious-case-of-intra-query-parallelism/</link><pubDate>Sat, 03 Mar 2018 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2018/03/can-a-single-query-deadlock-itself-apparently-yes-a-curious-case-of-intra-query-parallelism/</guid><description>&lt;p&gt;Imagine that you&amp;rsquo;re in a SQL data warehouse in the middle of the night, a single stored procedure is running, is nothing else, and it&amp;rsquo;s simply doing inserts and updates, one statement at the time, but then.. Deadlock. How can it be? Something else must be running, right? Someone launched something else, or a transaction was left open the day before, or the Russians were spying querying the server in secret, it must be something, right?!?&lt;/p&gt;</description></item><item><title>Scan Performance Showdown: INROW Predicate pushdown VS Batch Mode Adaptive Join vs Columnstore indexes</title><link>https://emanuelemeazzo.com/technical-articles/2018/02/scan-performance-showdown-inrow-predicate-pushdown-vs-batch-mode-adaptive-join-vs-columnstore-indexes/</link><pubDate>Mon, 26 Feb 2018 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2018/02/scan-performance-showdown-inrow-predicate-pushdown-vs-batch-mode-adaptive-join-vs-columnstore-indexes/</guid><description>&lt;p&gt;I was reading &lt;a href="http://sqlblog.com/blogs/paul_white/archive/2011/07/07/bitmap-magic.aspx"&#10;&#10;&#10;&#10;&#10; target="_blank"&#10; &#10;&#10;&#10;&gt;Paul White&amp;rsquo;s post&lt;/a&gt; about bitmaps in SQL Server and, other than realizing that I basically know nothing about anything (like a Socrate&amp;rsquo;s epiphany) I wanted to at least see how this good stuff added up in the latest 7 years. Down with experimenting, we&amp;rsquo;re doing this LIVE! (Well, it&amp;rsquo;s live for me, for you it&amp;rsquo;s still a blog post)&lt;/p&gt;&#10;&lt;p&gt;I&amp;rsquo;ll start by creating two BigInt-only tables and fill it a bunch of numbers, one small and one big, leaving them as heaps for now&lt;/p&gt;</description></item><item><title>Creating a Perfmon and Filestats reports in PowerBI [Part 1]</title><link>https://emanuelemeazzo.com/technical-articles/2018/02/create-perfmon-and-filestats-reports-in-powerbi-part-1/</link><pubDate>Sun, 18 Feb 2018 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2018/02/create-perfmon-and-filestats-reports-in-powerbi-part-1/</guid><description>&lt;p&gt;If you work for a big company, you may have a bunch of instances/databases under your control, you ran whatever monitoring tool has been provided and everybody is happy; But if your&amp;rsquo;re like me and you&amp;rsquo;re working for a big number of customers, each one with a different version of SQL and own configuration/security policies, with no monitoring tool directly available, and have to answer the question &amp;ldquo;what happened to the instance the other night&amp;rdquo; you may be a little bit overwhelmed.&lt;/p&gt;</description></item><item><title>How to get and decode callstacks in in extended events for recent versions of SQL Server</title><link>https://emanuelemeazzo.com/technical-articles/2018/02/how-to-get-and-decode-callstacks-in-in-extended-events-for-recent-versions-of-sql-server/</link><pubDate>Sat, 17 Feb 2018 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2018/02/how-to-get-and-decode-callstacks-in-in-extended-events-for-recent-versions-of-sql-server/</guid><description>&lt;p&gt;The other day I was reading about spinlocks and troubleshooting and it mentioned to get the callstack for a certain xevent and to decode it using the windows debugging symbols, however, that material was related to SQL Server 2012 and the steps weren&amp;rsquo;t basically replicabile for a modern version like SQL 2016/2017 (or even 2014 I think, but haven&amp;rsquo;tn checked personally), I searched around and didn&amp;rsquo;t really find something straight forward for just the process as it is now: So, here we are, small guide on how to get and decode callstacks in recent versions of SQL Server.&lt;/p&gt;</description></item><item><title>Create an asynchronous multithreaded workflow on your SQL Server using the Service Broker</title><link>https://emanuelemeazzo.com/technical-articles/2018/02/create-an-asynchronous-multithreaded-workflow-on-your-sql-server-using-the-service-broker/</link><pubDate>Mon, 12 Feb 2018 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2018/02/create-an-asynchronous-multithreaded-workflow-on-your-sql-server-using-the-service-broker/</guid><description>&lt;p&gt;As any other *Server, SQL Server is born with concurrency in mind, a lot of users/applications can connect concurrently and do their job, as designed, perfect, but, what if you&amp;rsquo;re the only user? What if you&amp;rsquo;re in some kind of data warehouse configuration where you have to ETL, or you are in a maintenance window and have to do a bunch of stuff in that time, or simply you need to launch a task but you don&amp;rsquo;t want/need it to be blocking for your operations?&lt;/p&gt;</description></item><item><title>THREADPOOL, or, Why is SQL server not responsive even the CPU is basically idle?</title><link>https://emanuelemeazzo.com/technical-articles/2018/02/threadpool-or-why-is-sql-server-not-responsive-even-the-cpu-is-basically-idle/</link><pubDate>Sat, 03 Feb 2018 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2018/02/threadpool-or-why-is-sql-server-not-responsive-even-the-cpu-is-basically-idle/</guid><description>&lt;p&gt;It&amp;rsquo;s a late Friday afternoon, this means that somebody is going to tell you that the server is unresponsive, users are blocked and there is a imperative deadline for the business at 6PM (which you think is probably because they don&amp;rsquo;t want to be late to the happy hour), so you do what you do best: sigh and log on to see what&amp;rsquo;s going on with this instance.&lt;/p&gt;&#10;&lt;p&gt;You fire up SSMS, and damn, it&amp;rsquo;s real, you can&amp;rsquo;t connect! You check the service, it&amp;rsquo;s up; The network, it&amp;rsquo;s up; Weirdly enough, you ask your colleague if he&amp;rsquo;s connected to the instance, yep he&amp;rsquo;s in&lt;/p&gt;</description></item><item><title>How to avoid the traps when dealing with parallelism</title><link>https://emanuelemeazzo.com/technical-articles/2018/02/how-to-avoid-the-traps-when-dealing-with-parallelism/</link><pubDate>Thu, 01 Feb 2018 00:00:00 +0100</pubDate><guid>https://emanuelemeazzo.com/technical-articles/2018/02/how-to-avoid-the-traps-when-dealing-with-parallelism/</guid><description>&lt;p&gt;I work with a vendor application which needs to do all sorts of data crunching in some nightly batches, and, depending on the size of data, this process may take &lt;em&gt;a lot&lt;/em&gt; of time. Some time a go a colleague said: &amp;ldquo;we need more parallelism, we want to parallelize all the things! What can you think may go wrong?&amp;rdquo; This opened a stream of consciousness that could be really handled only by opening an ad-hoc blog about SQL Server performance, issues and maybe simply neat stuff too, so, here we are.&lt;/p&gt;</description></item><item><title>Ready to build your next project with Hugo?</title><link/><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid/><description/></item><item><title>What Users Are Saying About Hugoplate</title><link/><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid/><description/></item></channel></rss>