In both the United States Military and British Armed Forces addressing an NCO as "Sir" is incorrect, and the almost universal response to such an address is "Don't call me sir, I work for a living".
In the Royal Canadian Mounted Police only commissioned officers are addressed as "sir", NCOs and constables are addressed by thier rank.