Getting Stuck as a Data Engineer
My First Time with Azure Data Factory

As a data engineer building my portfolio, I found myself in a situation many of us have experienced: I got stuck. Not for a few minutes or an hour—no, I was stuck for three full days. The problem? Trying to connect my local SQL Server to the Azure Data Factory (ADF) pipeline via Azure SQL Server. This was supposed to be straightforward because I was following along from a YouTube tutorial! Yet, here I was, immobilized by a seemingly unsolvable issue. The experience was humbling and frustrating but, ultimately, enlightening.
The Situation: Building my first pipeline with ADF
To provide some context, I was working on an end-to-end Azure data engineering project for my portfolio. I needed to securely transfer data between systems—Azure to the SQL Server on my laptop. Azure Data Factory would orchestrate the data movement, while Azure Key Vault would manage secrets—specifically, the username and password of the user I created on my SQL server, whose account I would be using for the project. Despite having some experience with these tools individually, their integration proved unexpectedly challenging.
Day 1: Confidence Slowly Slipping Away
Initially, I wasn’t too worried. I figured I had missed something small —a permissions issue, a misconfigured role, or maybe even a typo when storing the secrets in Key Vault. I went through my configurations step by step:
Key Vault: I ensured the secrets containing my SQL Server connection details were in place and correctly configured.
SQL Server: I confirmed the server firewall was open to Azure services and that the connection string was valid.
Data Factory Pipeline: I double-checked that my pipeline was correctly set up to retrieve the secret from Key Vault and pass it to the SQL Server.
After multiple attempts to run the pipeline, I received the same error - ADF just wasn’t connecting to my SQL Server! My confidence began to wane, but I told myself, "I’ll figure this out. Let me sleep on it and try again tomorrow.”
Day 2: Deep Dive into Documentation
By the second day, I was deep into Google searches and combed through forums, blog posts, and Microsoft documentation, but I couldn’t find the solution to the exact error I was experiencing. I kept clicking on errors that sounded like mine, hoping I would stumble upon one with my error’s precise wording. No luck.
At this point, I started doubting myself — was I missing something obvious?
Some steps I retraced were:
Permissions: I ensured the Data Factory had the correct access policies in Key Vault to retrieve secrets.
Connection Strings: I tried different variations of the SQL Server connection string, just in case there was something wrong with the syntax.
Error Messages: I scrutinized every error message, hoping a single word or phrase would lead me to the solution.
Despite all this effort, I was still stuck. Feeling defeated, I decided to take a walk. Many software engineers (and other people, obviously) have lauded the benefits of walking. “Walking clears the mind..” So, I decided to test that theory.
During my walk, I found myself lamenting about how, in an office environment, it’s fairly easy to approach a colleague for help when you're stuck. This made me think about how valuable it would be to have a mentor who could review my work and guide me through challenging problems. That thought led me to discover a few mentoring platforms through a simple Google Search. While I haven’t tried any of them, knowing experts are available to assist is reassuring.
I reached out to a friend - a brilliant software engineer with years of experience. I briefed him on the issue, and he reassured me that this kind of thing happens to everyone—yes, even seasoned professionals get stuck. We set a meeting for the next day for him to help me with my error. Finally, real help was on the way.
Day 3: Reaching Out and Breakthrough
At this point, frustration was setting in. I had been stuck for two days with nothing to show for my efforts. While waiting for the meeting, as it was scheduled for the evening, I decided to take one last crack at it, but this time, trusting my intuition.
I followed my gut and investigated the SQL Server setup more closely. I realized that despite focusing so heavily on Key Vault and Data Factory, the root of the problem might lie in the SQL Server configuration itself. Sure enough, I had missed a key step—ensuring the user I created could log in after configuration! Once I fixed this, everything (finally) worked as expected.
I informed my friend, and we rejoiced together! I insisted we keep the meeting but reschedule it for later. I told him we would either fix whatever error I would face at the time of the meeting or just catch up.
The Solution: Test, Test, Test!
It turns out the root of the issue was simple but easily missed. While I had correctly created the SQL Server and set up the firewall, I hadn’t really finished configuring the user in the SQL Server correctly. This is how I did it:
Step 1: Modifying the Registry Editor - Changing the LoginMode value from 1 to 2.

The next step was to try to log into SSMS again. It failed, so I had to restart SSMS. I decided to use the Services App to restart SSMS ((and related apps just to be sure) so I could try again. I then reopened SSMS to try signing in again, and…. SUCCESS!

Overcoming the Initial Stumbling Blocks in Building My First ADF Pipeline
When I started working on data pipelines, I often found myself stuck because I didn't fully grasp certain tools and concepts that now seem obvious. Concepts like the Registry Editor, Services, the difference between Java JDK and JRE, and correctly setting up a Microsoft SQL Server were crucial for troubleshooting issues. These seemingly small details played a significant role in overcoming my first technical roadblocks.
1. Registry Editor
The Registry Editor is a powerful Windows tool that allows users to view and edit the system’s registry—essentially the database that stores system settings. Initially, I had no idea this existed, but the registry can be a lifesaver when dealing with software installations or troubleshooting certain configuration issues. For example, when setting up Java or configuring services, you may need to manually tweak registry entries if the software doesn’t behave as expected. It's a good tool for debugging hidden issues when standard configurations fail.
2. Services
Windows Services are background processes that can be configured to start automatically when your machine boots up or manually based on your needs. Many times, I found my pipeline issues stemmed from services that weren’t running correctly, especially related to databases or server tools like SQL Server or background processes that my ETL tools relied on. Knowing how to start, stop, or restart a service was a key skill that helped me move forward.
3. Java JDK and JRE
Understanding the difference between the Java Development Kit (JDK) and Java Runtime Environment (JRE) was another eye-opener. The JRE runs Java applications, while the JDK includes development tools necessary for building Java applications. In pipeline development, certain tools rely on Java, and setting up the correct Java environment—installing the JDK or ensuring the right version of JRE was active—helped avoid compatibility issues and application errors. Not installing Java early on led to several headaches (not discussed in this article) until I realized that different projects might require specific versions of Java.
4. Microsoft SQL Server Setup
One of my biggest hurdles was setting up a Microsoft SQL Server correctly. At first, I struggled with basic configurations like assigning permissions to users and setting up databases. If you don’t configure SQL Server correctly from the get-go, it can create issues with connecting to databases, querying, or even accessing the server. Understanding how to create a new user, assign the correct roles and permissions, and ensure the server settings were optimized for my project was a game changer.
Key Takeaways
Looking back, those three days taught me several important lessons. Here are my top takeaways:
1. Getting Stuck Happens to EVERYONE
No matter how much experience you have, getting stuck is part of the learning process in data engineering. Whether it’s a misconfiguration, a minor oversight, or a knowledge gap, there will always be situations where you hit a wall. The important thing is not to let it discourage you.
2. Help Is Always a Search Away
While it’s important to try to solve problems on your own, don’t be afraid to seek help when you need it. Whether it’s a quick message to a friend, a question posted in a forum, or contacting a mentor for more personalized guidance, there’s always someone out there who’s been through the same issue and can offer advice. (Special shoutout to everyone who documents errors and their fixes! You guys are the real MVPs!)
3. Google and Documentation Are Your Friends
I spent countless hours reading through blog posts, Stack Overflow threads, and official documentation, and while it was tedious at times, it was crucial for troubleshooting. he more you get used to reading documentation and learning from others’ experiences, the better equipped you’ll be to tackle complex issues. The more I read, the closer I got to my solution - trust the process.
4. Take a Step Back
Sometimes, the best thing you can do when you’re stuck is to take a break. On the second day, I was too close to the problem and too focused on one potential solution. When I finally took a step back and looked at the bigger picture, I realized I had overlooked something as basic as SQL Server configuration.
5. Keep Building Your Portfolio
This experience was part of my journey in building my portfolio, and while it was frustrating, it also gave me a deeper understanding of Azure services, especially how they integrate. Trust that each roadblock is an opportunity to improve your problem-solving skills; overcoming them only makes you a stronger, smarter, and better engineer.
It’s All Part of the Process
To those taking the first step in building their portfolios, especially those writing their first line of code, remember this: you’re going to get stuck. It is NOT a reflection of your abilities but an integral part of the learning process. With enough persistence, curiosity, and willingness to ask for help, you’ll find a way forward. Believe that there’s always a solution, even if it takes days.
And those small victories when everything finally clicks? They’re worth every minute of frustration: today's roadblock is tomorrow's expertise.
Have you ever been stuck on a technical issue like this? What helped you find the solution? Let me know in the comments, and feel free to share your troubleshooting stories!






