Disclaimer

Этот блог появился как реплика с http://blogs.technet.com/tail в силу определенных обстоятельств. Любая информация в ЭТОМ блоге предоставляется без каких либо гарантий и обязательств. Все мнения принадлежат их авторам и не могут быть связаны с позициями и мнениями официальных лиц или организаций.

понедельник, 20 декабря 2010 г.

SQL PowerPivot для SharePoint 2010: ставим на существующую ферму серверов или “пара незаметных хаков”

В прошлом посте я уже писала про всю эту свистопляску с тестовым стендом. Вкратце, ситуация такова: разрабатываем решение на SharePoint 2010 для автоматизации некоего сложного бизнес-процесса, в рамках которого есть такая задача, как генерирование отчетов с диаграммами и прочими красивыми картинками. Причем, источник данных для этих отчетов – произвольный список (custom list), часть полей в котором – подстановка из других списков. Про то, как создать отчет из такого списка – будет отдельный пост, а пока – как установить PowerPivot для SharePoint на существующую ферму серверов.

Дело в том, что PowerPivot для SharePoint входит в состав SQL Server 2008 R2. И работать будет только если ферма серверов SharePoint использует в качестве сервера БД SQL Server 2008 R2 Enterprise – это важно! А к тому времени, когда мы выяснили необходимость использования в проекте PowerPivot, стенд, на котором мы тестировали нашу разработку, был настроен как автономная ферма, использовавшая БД на SQL Server 2008 R2 Standard. Так вот, неправильный путь: обновить SQL Server со Standard-редакции до Enterprise и потом пытаться переконфигурировать ферму, пытаясь менять автономный режим на режим полнофункциональной фермы. Правильный – СНАЧАЛА переконфигурировать ферму в полнофункциональную, даже если SharePoint у вас установлен на одном-единственном сервере, а после этого обновлять выпуск SQL Server до Enterprise.

Если же вы думаете, что это все, то вы ошибаетесь. Дальше начинается самое главное шаманство: как установить SQL PowerPivot для SharePoint на уже существующую ферму серверов.

Во-первых, выполнять все операции по установке и настройке SQL PowerPivot нужно из под учетной записи администратора фермы на сервере, где установлен SharePoint Server 2010. Возможно, но необязательно потребуется установить Microsoft Access Database Engine 2010 Redistributable (как это сделать, описано тут: http://www.cjvandyk.com/blog/Articles/Step-by-Step%20-%20Installing%20the%20Microsoft%20Access%20Database%20Engine%202010%20Redistributable.aspx – кстати, там же есть и инструкция по установке PowerPivot, вольным переводом с практической проверкой “на себе” которой является и этот пост).

Далее по пунктам:

1. Запускаем установку SQL Server 2008 R2 с привилегиями администратора (Run As Aministrator):

image

2. Дальше выбираем Installation (Установка) в панели слева и пункт “New installation or add features to an existing installation”:

image

ВНИМАНИЕ! Выбираем новую установку, а не добавление функций к существующему instance!

image

3. После проверки, ввода ключа и принятия условий лицензионного соглашения, добравшись до пункта Setup Role выбираем тип установки “SQL Server PowerPivot for SharePoint” и указываем, что устанавливаем мы этот компонент для существующей фермы (в списке “Add PowerPivot for SharePoint to:” выбираем “Existing Farm”):

image

4. На странице “Feature Selection” вы ничего не меняете – все уже сделано за вас:

image 

5. Дальше на странице “Installation Rules” терпеливо ждем, пока пройдет проверка по всем правилам перед установкой – все правила должны быть Passed (или Not Applicable), никак не Failed

6. На странице “Instance Configuration” вы не сможете изменить имя instance (и, главное, на этом сервере точно не должно быть instance с таким же именем) “POWERPIVOT”, но можете, при желании, изменить instance ID:

image

7. На странице “Server Configuration” потребуется настроить учетную запись для SQL Server Analysis Services. Обычно рекомендуют НЕ использовать учетные записи вроде NETWORK SERVICE или LOCAL SYSTEM, а кроме того, использовать выделенную учетную запись в домене Active Directory:

- вводим учетную запись в виде “DOMAIN\ServiceAccountName” в поле “Account Name”

- в поле “Password”, как вы уже догадались, вводим пароль этой учетной записи

- оставляем тип запуска Automatic и жмем Next

8. Теперь до страницы “Installation Configuration Rules” действуем, как обычно при установке SQL Server. И тут тоже главное, чтобы все проверки завершились успешно:

image

9. А вот на странице “Ready to Install” сделайте паузу и это очень ВАЖНО! Если вы нажмете кнопку Install, то установка завершится ошибкой. Чтобы этого не произошло, мы воспользуемся небольшой тактической хитростью. Дело в том, что программа установки по умолчанию считает, что мы ставим PowerPivot практически одновременно с установкой SharePoint Server и в файле конфигурации установки поэтому содержится ошибочное указание на адрес, точнее, порт узла администрирования SharePoint – он генерируется случайным образом. Наша задача – исправить этот файл прежде, чем до него у программы установки дойдет дело. И сейчас самый подходящий момент для этого.

К этому моменту у вас на экране окно установщика показывает страницу “Ready to Install”, как написано выше. И вот внизу есть строчка с указанием пути и имени файла “ConfigurationFile.ini”. Скопируйте эту строку. Собственно, в чем суть: при каждой установке этот путь меняется, так как генерируется программой установки по следующему шаблону на основе текущего timestamp в части пути Log\<YYYYMMDD_HHMMDD>\….

Итак, путь скопировали. Запускаем Notepad и в нем открываем файл “ConfigurationFile.ini” по скопированному в буфер пути и ищем там строку “FARMADMINPORT”:

image

И исправляем этот порт на тот, который у нас используется в Центре Администрирования SharePoint 2010.

Еще одна насущная проблема в программе установки PowerPivot заключается в том, что один из файлов - Microsoft.AnalaysisServices.SharePoint.Integration.dll - она ищет в каталоге C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\SQLServer2008R2\x64, где его нет. И это тоже вызывает ошибку установки. Соответственно, сейчас самое время этот файл найти и скопировать в упомянутую выше папку. Если у вас на диске его вообще не обнаружится, его можно скачать отсюда: http://cid-3bc0ba53fcaf028c.office.live.com/self.aspx/.Public/Microsoft.AnalysisServices.SharePoint.Integration.dll.zip

Ну, и теперь, когда вы скопировали (если скачали архив по ссылке выше, то не забудьте его распаковать, да) надо проверить, что “хвостов” от этой dll-ки нет в GAC – Global Assembly Cache. Для этого в Windows Explorer идем в каталог “C:\Windows\assembly” и смотрим, нет ли там файла с именем Microsoft.AnalysisServices.SharePoint.Integration.

image

После этого остается проверить только еще один каталог на наличие “хвостов” от предыдущих неудачных установок (если они были).

Запустите консоль cmd (можно без повышения привилегий) и выполните две команды:

“cd\windows\assembly\gac_msil”
“dir microsoft.analysisservices.s*”

В выводе должно быть 0 файлов и 0 каталогов. Если же найден каталог Microsoft.AnalysisServices.SharePoint.Integration, то выполните тут же в cmd команду:

“rd  Microsoft.AnalysisServices.SharePoint.Integration”

И теперь, когда мы вычистили “хвосты” в GAC, отредактировали ConfigurationFile.ini и скопировали недостающую библиотеку в правильное место, можно переключиться обратно в окно установки PowerPivot и нажать кнопку “Install” – теперь установка должна пройти успешно.

Я надеюсь, этот пост поможет кому-то сэкономить кучу времени и установить PowerPivot для SharePoint 2010 – компонент, который, в частности, может помочь в ситуации, когда нужно строить отчеты по данным из библиотек и – вот это уже интереснее, IMHO, – списков SharePoint 2010. Об этом я постараюсь подробнее написать в одном из следующих постов.

Комментариев нет: