2010-07-24 3 views
2

Я работаю над проектом, который использует метаданные базы данных. На данный момент я только что запросил представления в каталоге базы данных (например, sys.tables), но я знаю, что это будет «проще» с SMO, если я захочу добавить зависимость.Когда использовать объекты управления Sql (SMO)

Каковы преимущества для запросов SMO по метаданным? Любые «gotchas» (например, необходимо иметь дополнительные библиотеки SQL на моей локальной машине только для роскоши SMO).

ответ

3

sys.tables и другие не гарантируют неизменность между различными версиями SQL Server, поэтому следующая версия может сломать ваш код. SMO будет обновляться следующей версией SQL Server, и интерфейсы не должны меняться, поэтому SMO является более надежным решением.

1

Запросы метаданных потребуют от вас присоединиться к множеству различных sys.tables с конкретными запросами, относящимися к тому, что вам нужно для сценария.
Углубленное знание этих отношений требует использования sys.tables.
SMO намного проще и имеет коллекции, представляющие структуру вашей базы данных.
Кроме того, SMO имеет Walker Dependency Walker, который позволит вам запрашивать зависимости объектов базы данных.

Смежные вопросы