Dein Problem hört sich ja net so gut an. Da du sagst das dein Hund 2 Jahre alt ist würde ich vermuten das es mit der Pupertät zu tun hat. Wenn er noch nicht kastriert ist, kann es eben sein das sich die Hormone in seinem Gehirn gerade sehr wohl fühlen und ihn dazu verleiten „den dicken Macker“ zu spielen. Ich sage jetzt nicht das du ihn kastrieren lassen sollst, denn wenn ein Hund ansonsten ein ruhiges Wesen hat, braucht man das vielleicht auch gar nicht. Ob kastriert oder nicht, ich denke das dein Hund gerade Dominanz zeigen will. Er ist ja auch im pöbel-alter 
Ich würde versuchen ihn dahingegen zu trainieren das du ihm sagt wann er pinkeln darf und wann nicht.
Du brauchst dazu eine normale Leine, keine Flexileine. Du müsstest anfangen mit ihm beim Gassi gehen ihn nur neben dir zu führen, also er sollte bei Fuss laufen. Aber pass auf das du nun nicht ständig deinen Hund drangsalierst weil er nicht "Fuss " laufen will. Im Grunde soll es so sein das du ihn führst und nicht er dich. Wenn er beim Gassi gehen dann sein Bein hebt um an nen Baum zu pinkeln dann musst du das unterbinden!!!
Du kannst dann 2-3 meter weiter stehen bleiben und ihm da die möglichkeit geben zu pinkeln.
Im Grunde muss dein Hund merken, das du es bist der bestimmt wann er wo pinkeln darf. Wenn das denn erst einmal draussen funktioniert, dann funktioniert das meistens auch drinnen im Geschäft.
Trainiere aber nicht bis zur vergaseung, immer einmal im Spatziergang, also ich meine das du deinen Hund nicht überfordern solltst. Er ist jung und lernt daher noch ziehmlich schnell.
Sei ihm auch nicht zu böse, denn es ist ein natürlicher Urinstinkt und er kann sich dagegen nicht so sehr wehren. Es ist wichtig das dein Hund dir vertraut und das du der „Rudelführer“ bist. Und dann wird er auch nicht mehr pinkeln wenn du das nicht erlaubst. 
Ich hoffe ich konnte dir ein wenig helfen! 
Ich bin halt kein Trainer aber weiss ziehmlich viel, falls du noch fragen hast, kannst du jederzeit gerne wieder fragen 
Viele Grüsse