What I Write About…
Databases
Helpful posts about SQL Server, Merge Replication and how to tune your databases for maximum performance.
Programming
Mostly focusing on C# and JavaScript but I enjoy exploring other languages such as F# and Python.
Scripting
Automation is the key to productivity, I cover innovative solutions to everyday problems using automated scripts.
Web Development
I cover all aspects of web development with a particular focus on application architecture and security.

InSQL

Using AzCopy to transfer a large number of files between Azure Blob Storage Containers
Azure Blob Storage is Microsoft’s primary cloud storage solution and can handle massive amounts of unstructured data. Whether you need to store images, videos, documents, or log files, it offers a secure and scalable platform for online file storage that you can trust. Within an Azure Blob Storage account, you can configure one or ‘containers’…
InSQL
How to output inserted and source IDs when cloning SQL Server table data
If you write T-SQL scripts for SQL Server or Azure SQL databases, you will likely come across the requirement to ‘clone’ existing data at some point along the way. It’s usually quite straightforward to accomplish a clone operation when copying data from a single table to another table, but how about when you need to…
How to keep the host window open after executing a PowerShell script
When working with PowerShell scripts, it’s common to encounter scenarios where you want to launch an automated operation on demand by running the script file and then viewing its output at the end of the process. On a modern Windows system, you can right-click on a PowerShell file and select the Run with PowerShell option from…
InSQL
Using the STRING_AGG function in T-SQL to concatenate row data
If you’ve ever worked with SQL Server and found the need to concatenate data from table rows into a string value, you may remember having to resort to using features like FOR XML PATH in combination with STUFF to achieve the desired result. While these approaches are functional, they tend to result in code that…
InSQL
How to print SQL Server messages to the output immediately
When executing long-running SQL commands, it is often important to get feedback on the operations being performed. In the context of SQL Server, the PRINT statement offers the ability to output basic informational messages that can help monitor progress and debugging. While the PRINT statement provides a simple means of outputting a message, it can…
InSQL
Introduction to the SQL Server MERGE statement
The MERGE statement in SQL provides a streamlined way to insert, update, and delete data as part of a single batch statement. With the potential benefits of cleaner code and performance improvements for certain scenarios, the MERGE statement is a great tool to have up your sleeve. In this article, I will demonstrate how the…
Operating on data via a SQL Server Stored Procedure efficiently with Table-Valued Parameters using C#
Sometimes when developing an application that interacts with SQL Server, you may find the need to process a data set such that only one round trip needs to be made to and from the database server. The operation that is being carried out may be intended to operate on one set of data, or batches…
InWeb
Enable ahead-of-time (AOT) compilation for Blazor WebAssembly
Blazor WebAssembly facilitates the development of SPAs (Single-page applications) that run in the browser using C# instead of JavaScript as the primary programming language. Executing C# code in the browser is a rather neat trick, made possible via the revolutionary WebAssembly technology which is an open web standard. However, the default mechanism employed by Blazor…
Formatting JSON with proper indentation using PowerShell
PowerShell is a powerful scripting language that makes working with data a breeze, allowing you to import and export to a variety of common file formats such as CSV, XML, and JSON. However, when it comes to JSON, the formatting applied by the built-in ConvertTo-Json cmdlet leaves a lot to be desired. While this may…Categories
- APIs (12)
- Career (4)
- NoSQL (3)
- Programming (45)
- Scripting (18)
- Security (16)
- SQL (24)
- SQL Server Merge Replication (4)
- Tools (4)
- Web (26)
Recent Posts


