Train tracks are far more vulnerable than road surfaces, and the Ukrainians have illustrated what happens to ships in the Black Sea - and the kind of shipping required to keep Crimea in food, fuel and clean water will be far more vulnerable than any Russian warship.
My guess is that Ukraine won't try a large scale direct assault to try and retake - ala D-Day and Normandy - Crimea, but to use lots of attacks, air, land and sea, as will as a wider campaign against Russian infrastructure outside Crimea, to make it both very difficult, and not worth the effort, to hold.