Когда несколько баз данных работают на одном компьютере (или образе виртуальной машины), лучше объединить их в одном экземпляре. Единственная причина, которая препятствует этому, - это безопасность, если для какого-то приложения оно более чувствительно и требует подмножества администраторов (sysadmin), то оно должно быть отделено от другого экземпляра.
Наличие нескольких экземпляров SQL Server на одном компьютере является неоптимальным по причинам, которые я подробно изложил здесь: Когда я могу разместить IIS и SQL Server на одном компьютере? .
Что касается одной виртуальной машины или нескольких виртуальных машин, то все немного по-другому. Виртуальные машины предлагают некоторую изоляцию между экземплярами SQL, предлагают управление ресурсами, контролируя доступные ресурсы на уровне виртуальной машины, и, что наиболее важно, могут быть легко перенесены на новое физическое оборудование путем перемещения образа виртуальной машины. Учитывая, что вы все равно решили запустить ВМ, я думаю, что более гибко иметь отдельные ВМ, хотя и менее производительно.
С отдельными виртуальными машинами вы будете тратить некоторые ресурсы: память ядра ОС, дисковое пространство, операции ввода-вывода будут реплицироваться ОС внутри каждой виртуальной машины, поэтому ваши физические ресурсы будут сокращаться Вам также придется дублировать некоторые человеческие усилия (настройка, управление). Вы должны учитывать эти факторы при планировании мощности вашего развертывания.
Но тот факт, что каждая виртуальная машина может быть перенесена на новый физический компьютер с простыми операциями копирования, поскольку она становится все более используемой и более ресурсоемкой, является огромным преимуществом.