1. Sauté asparagus in butter in large skillet over medium-high heat, 3 minutes.
2. Add mushrooms and onions, stirring occasionally for 2 minutes.
3. Whisk together eggs, milk and 1/2 tsp salt and pepper.
4. Spread half of bread in a single layer on bottom of butter a 9x13-inch baking dish.
5. Top with half of egg mixture and half of ham, cheese, and asparagus mixture.
6. Repeat with remaining ingredients.
7. Cover with plastic wrap and press down to completely submerged in egg mixture.
8. Refrigerate 4 hours or more.
9. Preheat oven to 350°F.
10. Let strata sit at room temperature while the oven preheats.
11. Bake 30 minutes until custard sets and top browns.
12. Loosely cover with foil and bake an additional 20 minutes.
13. Let cool 10 minutes, cut into squares, and serve.
Tip: Strata can be prepared and refrigerated up to two days prior to baking.