Среда тестирования tSQLt требует включения TRUSTWORTHY ON для базы данных и включения SQL CLR для сервера.
Почему они необходимы? Можно ли добиться той же/аналогичной функциональности без объекта CLR?
Среда тестирования tSQLt требует включения TRUSTWORTHY ON для базы данных и включения SQL CLR для сервера.
Почему они необходимы? Можно ли добиться той же/аналогичной функциональности без объекта CLR?
Следующие функции полностью реализованы в виде кода CLR, и было бы особенно сложно (и, вероятно, невозможно) обойтись без CLR:
Помимо этого, tSQLt использует CLR внутри для создания форматированного вывода для очень больших строк, таких как те, которые могут быть получены путем сравнения двух таблиц; и для создания новых имен объектов при переименовании объектов (например, для FakeTable или SpyProcedure).
Вполне возможно, что tSQLt можно модифицировать, чтобы удалить эти функции и по-прежнему работать с его базовым набором функций (конечно, с некоторыми ограничениями). Однако, поскольку мы смотрим вперед на то, что будет в будущих выпусках tSQLt, очень вероятно, что в CLR будет сделано больше.
TRUSTWORTHY ON больше не требуется. См. примечания к выпуску: http://tsqlt.org/748/tsqlt-v1-0-5873-27393-release-notes/
Если вы хотите использовать tSQLt, у вас, вероятно, нет другого выбора, кроме как включить SQL CLR.
Существует способ обойти требование установить базу данных в качестве НАДЕЖНОЙ, создав асимметричный ключ — см. http://msdn.microsoft.com/en-us/library/ms345106.aspx.
Если это неприемлемо, существуют другие инструменты модульного тестирования базы данных, которые не требуют создания объектов в базе данных, например DbFit