La norme SCSI-2 de 1994 est une amélioration du SCSI-1. Certains points ont été améliorés ou rendus obligatoires. Théoriquement SCSI-1 et SCSI-2 ont une compatibilité descendante. On peut noter que l'utilisation des bits de parité a été rendue obligatoire avec le SCSI-2.
On utilise des transferts synchrones de haut débit, ce qui permet des taux de transfert de 10 Mo/s sur un câblage 8 bits, et de 20 ou 40 Mo si on est sur du 16 ou 32 bits (avec une fréquence de 10 MHz).
On a la possibilité de travailler avec des bus plus larges de 16 ou 32 bits, ce qui permet des débits plus importants. On utilisait un câble A (50 broches) pour les transmissions sur 8 bits, le SCSI-2 avait prévu un câble B (68 broches) pour les bus plus larges. Mais il n'a pas rencontré de réel succès, on lui préfère le câble P (68 broches également) défini dans le SCSI-3. Pour le 32 bits, le câble P doit être utilisé avec un câble Q (68 broches lui aussi).
Le SCSI-1 ne permettait d'envoyer les commandes qu'une à une. Le SCSI-2 permet d'envoyer jusqu'à 256 commandes à un périphérique. Elles seront stockées et traitées dans l'ordre optimal par le périphérique. Ceci permet d'augmenter les performances de travail du périphérique et prend un intérêt fort quand on travaille avec des systèmes d'exploitation multi-tâche (Linux, MS-Windows NT etc.) qui peuvent être amenés à faire plusieurs requêtes simultanément à un périphérique (plusieurs accès en lecture sur un disque dur par exemple).