With only 10 observations in your posted dataset, split 2 and 8 between outcomes, I don't know that you'll be able to extract much from an analysis, but....
If you plot the response against each predictor, it is clear that complete separation is due to X1. A solution can be obtained using Firth's penalized likelihood. See
https://pdfs.semanticscholar.org/4f17/1322108dff719da6aa0d354d5f73c9c474de.pdf
and
http://support.sas.com/kb/22/599.html
data have;
input a$ y x1 x2;
datalines;
1. 1 1.489611900786800 -0.486983894512530
2. 1 0.887638190472230 -0.899961461187430
3. 1 -0.328400349680380 0.320480850960210
4. 0 -1.283346136073470 0.314729922388780
5. 1 -0.014384666024895 -1.040793737862780
6. 1 1.005337941612940 0.385444205622100
7. 1 0.403112850999760 0.797554772638080
8. 1 1.432508077938930 -0.553701810045310
9. 1 0.137341139238340 0.177313212434980
10. 0 -1.341507064615280 0.042985039337917
;
run;
proc sgplot data=have;
scatter x=x1 y=y;
run;
proc sgplot data=have;
scatter x=x2 y=y;
run;
proc logistic data = have desc;
model y = x1 x2 / firth;
run;
... View more