Sachverhalt: A. Die 1974 geborene N._ arbeitete seit 4. April 2001 als Hilfskraft in einem u.a. im Bereich Gipserarbeiten und Aussenisolationen tätigen Betrieb. Wegen Rückenbeschwerden verrichtete sie ab 2. Juni 2004 allgemeine Büroarbeiten. Von ihrem Hausarzt Dr. med. M._, Allgemeine Medizin FMH, wurde sie ab diesem Zeitpunkt zu 100 % arbeitsunfähig geschrieben. Der Krankentaggeldversicherer von N._ liess am Universitätsspital X._, Rheumaklinik und Institut für Physikalische Medizin, ein Arbeitsassessment mit Basistest durchführen (Bericht vom 6. Januar 2005) und die Versicherte von Dr. med. B._, FMH Innere Medizin sowie Physikalische Medizin und Rehabilitation speziell Rheumaerkrankungen, konsiliarisch untersuchen (Bericht vom 21. Juni 2005). Mit Schreiben vom 28. November 2005 wurde N._ aus betrieblichen Gründen auf Ende Dezember 2005 gekündigt. Anfang Juni 2007 meldete sie sich bei der Invalidenversicherung an und beantragte eine Rente. Nach Abklärungen und durchgeführtem Vorbescheidverfahren verneinte die IV-Stelle des Kantons Zürich mit Verfügung vom 11. März 2008 den Anspruch auf eine Invalidenrente. B. Die Beschwerde der N._ wies das Sozialversicherungsgericht des Kantons Zürich ab. Die Akten überwies es an die IV-Stelle, damit sie den Anspruch auf berufliche Massnahmen prüfe und darüber befinde (Entscheid vom 31. Mai 2009). C. N._ lässt Beschwerde in öffentlich-rechtlichen Angelegenheiten führen mit dem Rechtsbegehren, der Entscheid vom 31. Mai 2009 sei aufzuheben und ihr - eventuell gemäss dem Ergebnis eines anzuordnenden Gutachtens zum Ausmass der gesundheitsbedingten Leistungsbeeinträchtigung - eine Invalidenrente zuzusprechen. Die IV-Stelle beantragt die Abweisung der Beschwerde. Da kantonale Gericht verzichtet auf eine Stellungnahme, das Bundesamt für Sozialversicherungen auf eine Vernehmlassung.