Ссылка Microsoft.SqlServer.Smo.dll

Мне нужно использовать Server класс, который хранится в Microsoft.SqlServer.Smo.dll. Я не вижу эту сборку в обычном Диалог ссылок. Я нашел его в файле C:/Program Files/Microsoft SQL Server/100/SDK/Assemblies и попытался ссылаться на него, но Visual Studio выдает сообщение об ошибке "Ссылка" C:/Program Files/Microsoft SQL Server/100/SDK/Assemblies/Microsoft.SqlServer.Smo.dll 'не удалось добавить. Убедитесь, что файл доступен и что он является допустимым компонентом сборки или COM ". Что я делаю не так?

Ответ 1

C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies - правильное расположение папки (или C:\Program Files (x86)\Microsoft SQL Server\100\SDK\Assemblies в 64-битных системах).

Вам нужно добавить ссылки на:

  • Microsoft.SqlServer.ConnectionInfo.dll

  • Microsoft.SqlServer.Smo.dll

  • Microsoft.SqlServer.Management.Sdk.Sfc.dll

  • Microsoft.SqlServer.SqlEnum.dll

(Это минимальные файлы, необходимые для создания SMO-приложения)

Для SQL Server 2016 это местоположение C:\Program Files (x86)\Microsoft SQL Server\130\SDK\Assemblies (для 64-битной версии).

Ref.: Как создать проект SMO Visual С# в Visual Studio.NET

Объекты управления SQL Server (SMO) могут быть загружены как часть соответствующего Feature Feature Pack для SQL Server (20XX) (проверьте мелкий шрифт как Я не верю, что они распространяются?)

Ответ 3

Я знаю, что это старый вопрос, но я столкнулся с той же проблемой. @Mitch_Wheat правильно, что, как минимум, вам нужны ссылки на 4 SMO-сборки. Однако попытаться добавить все 4 сразу, я дал вам ошибку, которую вы указали.

Добавление сборок по одному исключает ошибку.

Ответ 4

Вам нужно установить следующий пакет для решения проблемы, я решил эту проблему дважды с этим пакетом, надеюсь, что это может сработать и для всех...

Коллекция объектов управления Microsoft SQL Server 2005 Пакет Collection Objects Management включает в себя несколько ключевых элементов API управления SQL Server 2005, включая объекты управления анализом (AMO), объекты управления репликацией (RMO) и объекты управления SQL Server (SMO). Разработчики и администраторы баз данных могут использовать эти компоненты для программного управления SQL Server 2005.

Вы можете получить пакет Feature Pack для Microsoft SQL Server 2005 - декабрь 2008 г. с сайта Microsoft [http://www.microsoft.com/en-us/download/details.aspx?id=11988][1] Но местоположение ссылки страницы загрузки меняется каждый раз, если вы не найдете ресурс, который вы можете загрузить из моего блога тоже.

Я также предоставил некоторые советы и ресурсы об этом в своем блоге, если вы хотите http://rndp-android.blogspot.com/p/missing-microsoftsqlservermanagementsdk.html

Ответ 5

Для тех, кому нужна версия sql server 2014 (версия 120), вам необходимо загрузить и установить следующие пакеты от Microsoft:

Вы можете найти всю соответствующую информацию на веб-сайте Microsoft на этой странице (как правильно предложено @mitch-wheat): https://www.microsoft.com/en-gb/download/details.aspx?id=42295

Ответ 6

В том случае, если вы хотите использовать класс Backup, добавьте Microsoft.SqlServer.Management.SmoExtended к вашему проекту.

Ответ 7

Хм. Попробуйте зарегистрировать библиотеку DLL, запустив ее в командной строке DOS (мне любопытно, почему она еще не зарегистрирована. Я попытался использовать ее в Windows, на которой был установлен SQL2008, и у вас не было проблемы)

"c:\windows\system32\regsvr32.exe C:/Program Files/Microsoft SQL Server/100/SDK/сборки/Microsoft.SqlServer.Smo.dll"

Вам нужны кавычки из-за пробелов в именах каталогов.

Если вы используете 64-битную Windows, regsvr32.exe будет в C:\windows\syswow64\

Удачи. Сообщите нам, если это не поможет. Спасибо.