On a technical project, it would be nice to think that we could swap out resources at any point in the project to meet whatever need arises on our engagement. We all know that requirements change, or a change order comes up that necessitates a different skill set than what we might have available to us at the moment.
Does your project suddenly need a database expert on the spot? Bingo! You get one at the spur of the moment. You and I both know that isn't going to happen. And even if you can get that database expert for two weeks starting three weeks from now when he frees up from his current project assignment, you'll have to perform some on boarding work to get the resource up to speed on the project, the requirements, the customer, and anything else relevant to the work they will be performing. Likely, you're going to need them again later in the project during some user acceptance testing (UAT) support period or for final testing of the solution before deployment.
Utilizing your existing team
So, how do you solve this urgent need cost effectively, time efficiently, and without disrupting the flow of the project and the chemistry of the current project team and customer relationship? My suggestion is to look at your current project team. Your project is already staffed with capable technical resources who have connections within the organization.
And, chances are, they have at least some minor gaps in their workload - at least times when they aren't quite as busy as others. They are already assigned to you so they aren't going anywhere. And they are already both intimately aware of the project requirements including the current technical need at hand AND the project customer and their wants, needs, and quirks.
They may not be a database expert, but neither am I and that didn't stop me from performing database work during one intense two week onsite session at a customer site to help get us through some current issues. As long as they have access to in-house company staff for some question and answers, minor direction or mentoring, and problem resolution, you should be able to fill the need perfectly with someone the customer knows and is already comfortable with.
And one more thing…even though the project resources are usually not my direct report resources, I consider their personal development and well-being to be at least partly my responsibility while they are serving on my project. If someone on my team is up to the task of taking on this role and wants to do it to grow their skills and I believe that they can do it productively for the good of the project while still handling their other assigned tasks, then I'm definitely in favor of it. If shifting some project tasks around is necessary, that's fine as well as long as it doesn't negatively impact the budget, schedule, or customer satisfaction.