Если база заточена под MS SQL, то тут без вариантов. Есть программы, которые можно запихать под другую СУБД, но это как повезет. Была у нас когда-то очень давно такая Terrasoft CRM, так мы ее запихивали под MySQL, была у нас версия под Windows. Какие-то базы могли работать под Postgre или даже под SQL-Lite, но это уже больше под nix-ами. Но не факт, что все работало или работало так, как под M$ SQL. Иногда потом переходили на нормальный M$ SQL, когда работа усидивалась. Обычно хватало SQL Express, для той же 1С-ки или для какой-нибудь CRM-ки, если не хватало, проще было купить или найти пиратку. С Oracle-ом вообще вилы были, приходилось всю базу с нуля переписывать под новую СУБД. Короче говоря, если база серьезная, типа многофилиальной 1С, MS Dynamics, лучше не изобретать велосипед, а использовать ту СУБД, под которую она создана. Иначе граблей не миновать.
Проблема в кодировках: возможно, сайт написан в кодировке UTF, а страница в WIN-1251: возможны и другие комбинации. Проверьте, какие кодировки Вы используете, а потом займитесь преобразованием. Можно либо при получении данных из базы переводит строку в нужную кодировку, либо единовременно перевести кодировку всех записей базы.
Эта ошибка может возникнуть на любой версии MS SQL Server. Причиной её может быть как банально неверный ввод пароля, так и значительно более сложные в диагностике причины. Неплохо эта ошибка рассмотрена в статье: Ошибка ”login failed for user …”: что делать?
Ассоциировать юзера с доверенным сервером.
Обычно, если работаешь с PHP, по привычке, MySQL. Но если работаешь с ASP.NET, то родная MSSQL будет лучше. Мне лично нравится PostgreSQL. Всё зависит от архитектора баз данных и его опыта, проекта, возможностей сервера(кластера), наличия денег. Может для проекта требуется не реляционная СУБД, т.н. NoSQL