I believe the Scottish Tartans Authority has the most extensive database:

http://www.tartansauthority.com/Web/Site/home/home.asp