DrewSK.Tech

Databases, Development, and Other Anecdotes

0%

This post is going to walk through the quick steps to move TempDB through TSQL and the Windows Server UI. This information will be useful you are looking to move TempDB away from your user databases and/or away from the OS. Beyond the potential for an interruption during the addition of a drive to the OS, moving TempDB requires the SQL Server service to be restarted. Such a minor interruption makes the potential benefit of this change worthwhile. While this post isn’t going to dig into any of the details around physical disk configuration for performance optimization or availability, it is part of the foundation to improving a SQL Server from a scenario where all the components are stored on 1 drive.

In SQL Server Management Studio (SSMS), you can create multiple cursors across multiple lines with alt + shift + up/down. Because of its VS Code foundation, Azure Data Studio has similar functionality built-in. Creating multiple cursors in Azure Data Studio can be done directly on adjacent lines, at user-determined locations, and at instances of a selected string.

I want to read your stories about when you’ve experienced, seen, or overcome imposter syndrome! Was there a job that you felt you were ill-prepared for? Did you make a mistake or did someone say something that made you question if you were a true data professional? Maybe there was a particular task you ran into that made you question your experience? Did you resolve your tasks and succeed in your job? How did you overcome that feeling of being an imposter and solve your challenges? Maybe you haven’t experienced it yourself but you saw someone who was feeling imposter syndrome, were you able to help them?

You can be technical or non-technical with this post, the goal is to share experiences to help those also experiencing imposter syndrome. Maybe you are still feeling it, sometimes walking through your challenges can help you brainstorm solutions.

https://jonshaulis.com/index.php/2020/01/07/t-sql-tuesday-122-imposter-syndrome/

Error: CuryAcct with no AcctHist. http://go.microsoft.com/fwlink/?LinkID=397215

Validation Task Error Message, complete with dead Microsoft URL

When running Management Reporter with Microsoft Dynamics SL 2011 or 2015, you may run into data validation errors from time to time. They can be a quick fix, but unfortunately, the included link in the error message is broken. Microsoft created a new page, but in case that one also disappears – here’s the fix for the specific error “CuryAcct with no AcctHist” in Dynamics SL and Management Reporter.

In PowerBI desktop the “switch theme” drop-down menu suggests that the application of themes will fancy-up your report with a new color scheme. This is true – but themes in PowerBI can do so much more! PowerBI report themes can control overall text settings as well as specifics for individual visualization types.

<p>
  Better still is a preview feature in <a href="https://powerbi.microsoft.com/en-us/blog/power-bi-desktop-december-2019-feature-summary/" target="_blank" rel="noreferrer noopener" aria-label="PowerBI Desktop December 2019 (opens in a new tab)">PowerBI Desktop December 2019</a> for customizing color and text settings within the application, then exporting the theme file. This post explores some of the PowerBI theme customizations that can be accomplished through the new theme customization UI and in the JSON file directly.
</p>

Throughout this month I’ve been working on our embedded PowerBI architecture – improving performance, streamlining administration, and reducing costs. We have a small PowerBI premium capacity that allows us to serve PowerBI reports and dashboards to internal and external users in our apps without individually provisioning licensing. In PowerBI embedded documentation, this is commonly referred to as the “app owns data” architecture. In this post, I will show how Azure Automation can be used to minimize costs associated with a PowerBI premium capacity.

Throughout this month I’ve been working on our embedded PowerBI architecture – improving performance, streamlining administration, and reducing costs. We have a small PowerBI premium capacity that allows us to serve PowerBI reports and dashboards to internal and external users in our apps without individually provisioning licensing. In PowerBI embedded documentation, this is commonly referred to as the “app owns data” architecture. In this post, I will cover the implementation of a service principal for authentication and accessing the PowerBI embedded API.

There are several ways to capture the output from a stored procedure in SQL Server, and if you are working with an existing code set chances are you will not be able to only rely on one of the methods. From least to most flexibility, the 3 methods for passing data back from a stored procedure:

  • the return code is a single integer value that can be set to infer meaning
  • OUTPUT parameters can be used to pass one to many variables into a stored procedure to be updated with new values
  • SELECT statements in a stored procedure to create results sets with one to many columns and one to many rows

The 25 Days of Serverless challenge for Day 16 was an important nod to CI/CD delivery of serverless solutions. The requirements include checking that submitted information adheres to the proper format (continuous integration) and the solution automatically deploys once a pull request is completed (continuous delivery).

This is a time for material gift giving, for many of us. It might also be a time to consider the many gifts we have received through the year, and perhaps use this opportunity to appreciate people or situations that we were blessed with. So my question would be – what are a few things would you consider as gifts, and why? 

  <p>
    <cite> <a href="https://curiousaboutdata.com/2019/12/03/tsql-tuesday-121-gifts-received-for-this-year/">https://curiousaboutdata.com/2019/12/03/tsql-tuesday-121-gifts-received-for-this-year/</a> </cite>
  </p>
</blockquote>

I gave in and will come back for day 6 – I had Lasik surgery yesterday and am a bit with my ability to focus my eyes on text – but took day 7 on full-force today. The day 7 challenge for 25 days of serverless is to create an endpoint that returns a random image for an item that people are looking to get rid of. Given my struggles with using a specific client for the day 5 challenge, I wanted to take another run at implementing a solution with a specific client. In this case, it is a TypeScript Azure Function that implements the Unsplash-JS client.

The challenge for day 5 was to use sentiment analysis to provide feedback on the contents of letters to Santa – and I set about creating an Azure function in TypeScript/NodeJS. There’s a client library for NodeJS and a quickstart document to go along with it – I ran into issues working with the client library and under a short timeline I switched over to working with the REST API for language detection. Fundamentally, this is the strength of REST APIs. Their universal nature leads them to be more reliable and accessible for developers across a broad range of toolsets.

Fortunately, I was able to get the client library for NodeJS working for language detection when I went back to reproduce the error message so we’re able to see a contract of the REST API implementation and the client library.

Build an HTTP API that lets Ezra’s friends add food dishes they want to bring to the potluck, change or remove them if they need to (plans change!), and see a list of what everybody’s committed to bring.

https://25daysofserverless.com/calendar/4

Despite being behind by a day right now, I’d really like to not do what I know (C#) for creating APIs. I found a tutorial for CosmosDB and NodeJS applications… so down the rabbit hole we go. I’m going to follow this Microsoft tutorial – https://docs.microsoft.com/en-us/azure/cosmos-db/sql-api-nodejs-application – and share my notes here.

Day 3’s challenge introduces webhooks – where a service/server broadcasts when something has happened by making an HTTP request to a specified URL. You provide the URL to the service and receive automatic updates. In the language of an Azure Logic App, a webhook is the selected trigger for the workflow.

In the case of this example, we are looking for notifications from GitHub about commits/pushes to a repository. The other portion of the scope of Day 3’s challenge is to take any png file(s) and store the file’s URL in a database. Because my database of choice is SQL Server/Azure SQL, I’m going to create a C# Azure Function to handle the incoming webhook and writing to a database.