Очевидно има поне два известни (потенциални) недостатъка (от този (1) Екипен блог ):
-
Очевидно това може да причини потенциални проблеми за всички наследени системи, които не са проектирани да работят срещу MARS активиран дизайн - "съществуващият код, оптимизиран да работи в света извън MARS, може да покаже лек спад в производителността, когато се изпълнява непроменен с МАРС"
-
„С MARS можете да изпращате множество пакети с множество изрази към сървъра. Сървърът ще преплита изпълнението на такива партиди, което означава, че ако партидите променят състоянието на сървъра чрез оператори SET или USE, например, или използват оператори за управление на TSQL транзакции (BEGIN TRAN, COMMIT, ROLLBACK), и вие, и сървърът може да се объркате какво е действителното ви намерение.“
Все още не съм изпробвал дизайн с поддръжка на MARS, но съм много близо до това в настоящия си проект. Имаме лек проблем с конкуриращи се (и понякога зависими) операции на заявки (като мързеливо зареждане на конфигурационни данни от същата база данни, която активен набор от записи изпълнява).
Има повече информация на сайта на MSDN (2) тук
[ (1) https://web.archive.org/web/20190911155929/https://blogs.msdn.microsoft.com/sqlnativeclient/2006/09/27/using- mars-with-sql-native-client/
]
[ (2) http://msdn.microsoft. com/en-us/library/ms131686.aspx
]