If z=S(x,y)
Note that as a special case of R(u,v), if we can write
x=u
y=v
z=S(u,v)
then we have
D[R,u]=D[R,x]=(1,0,D[S,x])
D[R,v]=D[R,y]=(0,1,D[S,y])
and
D[R,u] x D[R,v]=(- D[S,x], - D[S,y], 1)
which was one of the normals we found when z=S(x,y).
In[120]:=
Clear[S,f,x,y]
S[x_,y_]:=Sqrt[4-x^2-y^2]
f[x_,y_,z_]:=S[x,y]-z
In[121]:=
nv=grad3[f][x,y,z]
Out[121]=
x y
{-(-----------------), -(-----------------), -1}
2 2 2 2
Sqrt[4 - x - y ] Sqrt[4 - x - y ]
In the example above we used the point where u=v=Pi/4. This corresponds to the
point
x=1
y=1
z=Sqrt[2].
Check:
In[122]:=
R[Pi/4,Pi/4]
Out[122]=
{1, 1, Sqrt[2]}
In[123]:=
normalv=vectorPlot[{{1,1,Sqrt[2]}},{{1,1,Sqrt[2]}+nv/.{x->1,y->1,z->Sqrt[2]}}];

Oops! This normal vector will point inside the sphere. Let's use the opposite one.
In[124]:=
normalv=vectorPlot[{{1,1,Sqrt[2]}},{{1,1,Sqrt[2]}-nv/.{x->1,y->1,z->Sqrt[2]}}];

In[125]:=
Show[sph,normalv];

In[126]:=
tp=ContourPlot3D[({x,y,z}-{1,1,Sqrt[2]}).(-nv/.{x->1,y->1,z->Sqrt[2]}),
{x,-2,2},{y,-2,2},{z,-2,2}];

In[127]:=
Show[sph,normalv,tp];

Another option for the normal plane would be to use the formulation
n1(x-x0)+n2(y-y0)+n3(z-z0)=0.
Then you could use z=[-n1(x-x0)-n2(y-y0)+n3z0]/n3
and then use Plot 3D
In[128]:=
n1=(nv/.{x->1,y->1,z->Sqrt[2]})[[1]]
n2=(nv/.{x->1,y->1,z->Sqrt[2]})[[2]]
n3=(nv/.{x->1,y->1,z->Sqrt[2]})[[3]]
x0=1
y0=1
z0=Sqrt[2]
Out[128]=
1
-(-------)
Sqrt[2]
Out[129]=
1
-(-------)
Sqrt[2]
Out[130]=
-1
Out[131]=
1
Out[132]=
1
Out[133]=
Sqrt[2]
In[134]:=
tp2=Plot3D[(-n1(x-x0)-n2(y-y0)+n3 z0)/n3,{x,-2,2},{y,-2,2}];

In[135]:=
Show[sph,normalv,tp2];

Up to Tangent Planes