It is in this Veda Vyasa’s Mahabharata, in the shanti parva, that we will find the Vishnu Sahasranama Stotra, which Bheeshma prescribes to King Yudhisthira. The backdrop to the prescription is as follows:
Soon after the death of Duryodhana, Yudhisthira was coroneted as the king. Though the war was over, Bheeshma was still lying on the bed of arrows as he vowed to leave this world only when the kingdom of Hastinapur is safe. Knowing this, immediately after the coronation, Yudhisthira, accompanied by Lord Krishna and his brothers, went to Bheeshma. Before leaving his mortal body, Bheeshma gives a long discourse to Yudhisthira on various aspects of life and Dharma. After listening to everything, Yudhisthira wants to know if there is any one thing through which one can achieve all; and Bheeshma prescribes the Viashnusahasranama stotra. The first 13 stanzas are the dialog between Yudhisthira and Bheeshma. The next three stanzas are the customary Dhyana verses.
The Greatest Hindu philosopher of India, Adi Shankaracharya, wrote the Bhashya (word-to-word meaning) of the 1000 names of Vishnu that are there in this sahasranama stotra, in the 6th century ad. The story of writing this is also an interesting one. Actually, being a great Devi devotee he wanted to write the commentary on the Lalita sahasranama stotra and asked a deciple to bring the text. The dicple brought the Vishnu sahasranama text. Twice this mistake was repeated and then Shree Shankaracharya heard a Divine voice asking him to write the commentary on the Vishnu sahasranama.
There is one more Vishnu sahasranama stotras in the puranas, given to Narada by Lord. Shiva (Also known as Sri Narada pancharatragamoktam) but somehow it is not popular.