Интеграция SharePoint 2010 c SQL Server 2012. Часть 2

Краткое содержание предыдущей серии.

При установке SharePoint Server 2010 Enterprise в режиме фермы невозможно с ходу разместить его служебные базы на SQL Server 2012, т.к. во время их конфигурации вызывается хранимая процедура sp_dboption, которая больше не поддерживается.

 

Существуют две возможности обойти это ограничение. Можно поставить рядом SQL Server 2008 (R2), на котором создать служебные базы шаропойнтовской фермы. В моем случае хватило бы бесплатного SQL Server 2008 R2 Express х64 с SP1 (117.5 МБ), полагая, что больше 10 гигов служебные шаропойнтовские базы не разрастутся. Я проверил эту возможность, т.к. были опасения, что 2008 R2 что-нибудь не поделит с 2012: все-таки более позднюю версию спокойнее ставить сверху. Опасения не подтвердились, все работает. На экране Feature Selection при установке Express не нужно отмечать репликацию, SQL Client Connectivity SDK, достаточно отметить Database Engine Services. В остальном установка происходит по умолчанию. Теперь базы SharePoint_Config и SharePoint_AdminContent (см. Скрипт 2 предыдущего поста) нужно пересоздать на новом экземпляре:

 

clip_image002[1]

Рис.1

 

и выполнить по отношению к SQL Server 2008 R2 Скрипт 3 предыдущего поста:

 

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN>psconfig.exe -cmd configdb -create -server w7x64_Denali\SQLEXPRESS -database SharePoint_Config -dbuser sa -dbpassword Tiwanaku -admincontentdatabase SharePoint_AdminContent -user w7x64_Denali\Administrator -password Tenōchtitlan -passphrase P@ssW0rd

Скрипт 1

 

Однако больший интерес представляет вторая возможность - отсервиспачить шаропойнт и заставить его создать свои базы на SQL Server 2012, как первоначально и планировалось. Для этого нужно снять галку на Рис.11 предыдущего поста, до выполнения процесса конфигурирования шаропойнтовской фермы скачать и установить SharePoint 2010 Service Pack 1:

 

clip_image003[1] 

Рис.2

 

В процессе установки неоднократно выдавалось сообщение Мicrosoft SharePoint Foundation administration tool (STSADM.exe) has stopped working, но завершилось благополучно.

 

clip_image004[1]

Рис.3

 

После чего обычно рекомендуется выполнить команду psconfig.exe -cmd upgrade -inplace b2b -wait, где b2b - ключ, применяемый при накатке патчей (напр., обновление SPS2010 RTM до SPS2010 SP1) в отличие от v2v, когда происходит обновление версий (напр., MOSS 2007 to SPS2010) - Patching SharePoint is a two-step process. The updated binaries are first installed and then psconfig must be run to update the SharePoint databases. Однако никаких баз в данном случае нет - после установки сервис-пака я их создаю вручную на SQL Server 2012 RC0, который называется w7x86_Denali, см. Скрипт 2 предыдущего поста -

 

use master

 

if exists (select 1 from sys.databases where name = 'SharePoint_Config') begin

 alter database SharePoint_Config set single_user with rollback immediate

 drop database SharePoint_Config

end

go

 

create database SharePoint_Config collate Latin1_General_CI_AS_KS_WS

if exists (select 1 from sys.databases where name = 'SharePoint_AdminContent') begin

 alter database SharePoint_AdminContent set single_user with rollback immediate

 drop database SharePoint_AdminContent

end

go

create database SharePoint_AdminContent collate Latin1_General_CI_AS_KS_WS

Скрипт 2

 

после чего выполняю Скрипт 3 (там же):

 

cd C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN

psconfig.exe -cmd configdb -create -server w7x64_Denali -database SharePoint_Config -dbuser sa -dbpassword Tiwanaku -admincontentdatabase SharePoint_AdminContent -user w7x64_Denali\Administrator -password Tenōchtitlan -passphrase P@ssW0rd

Скрипт 3

 

clip_image006[1]

Рис.4

 

Превосходно! Мы видим, что сервис-пак подействовал - psconfig больше не ругается на процедуру sp_dboption. Он ругается на An exception of type System.IO.FileNotFoundException was thrown. Additional exception information: Could not load file or assembly 'Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. Ну это ж замечательно! Эта ошибка понятно, почему. Она происходит из-за того, что не установлен необходимый компонент Windows Identity Foundation. Если бы SharePoint 2010 ставился на Windows Server 2008 (R2), этот компонент установился бы при предварительной инсталляции пререквизитов, но файл PrerequisiteInstaller.exe не желает запускаться на Windows 7, поэтому пререквизиты приходится устанавливать вручную. Идем по адресу http://www.microsoft.com/download/en/details.aspx?id=17331, скачиваем Windows6.1-KB974405-x64.msu и запускаем:

 

clip_image007[1]

Рис.5

 

Снова пробуем Скрипт 3 - и на этот раз ему не нравится, что во время прошлого запуска он уже успел что-то насовать в базу, а по условию она должны быть девственно чиста: The database name located at the specified database server contains user-defined data. Databases must be empty before they can be used. Delete all of the tables, stored procedures, and other objects, or use a different database.

 

Пересоздаем базы - Скрипт 2, повторяем Скрипт 3. Снова Failed to create the configuration database.

An exception of type Microsoft.SharePoint.Upgrade.SPUpgradeException was thrown. Additional exception information: Failed to call GetTypes on assembly Microsoft.Office.Server.Search, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c. Could not load file or assembly 'System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. Это ему не достает еще одного пререквизита - Microsoft Chart Controls for Microsoft .NET Framework 3.5, который берется по адресу http://www.microsoft.com/download/en/details.aspx?displaylang=en\&id=14422, файл MSChart.exe. Скачиваем, запускаем.

 

clip_image008[1]

Рис.6

 

Дальше по накатанной дорожке - Скрипт 2, за ним Скрипт 3, он задумывается... и завершается успешно. Просто ему надоело кочевряжиться.

 

clip_image010[1]

Рис.7

 

Таким образом, удалось обойти ограничение мастера конфигурации на недопустимость локальной учетной записи. Ферма SharePoint 2010 была создана без необходимости поднятия домен-контроллера. Чтобы довести до конца процесс ее настройки, запускаем мастер (Start -> All Programs -> Microsoft SharePoint 2010 Products -> SharePoint 2010 Products Configuration Wizard или psconfigui.exe в той же директории C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN, что и psconfig.exe), т.е. продолжаем процесс Рис.12-15 предыдущего поста:

 

clip_image011[1]

Рис.8

 

Мы видим, что ферма действительно успешно создалась Скриптом 3, и нам остается завершить процесс конфигурирования SharePoint Central Administration:

clip_image012[1]

Рис.9

 

clip_image013[1]

Рис.10

 

clip_image014[1]

Рис.11

 

clip_image016[1]

Рис.12

 

clip_image018

Рис.13

 

clip_image020

Рис.14

 

Итак, было решено три практических задачи: установка SharePoint Server 2010 (SP1) Enterprise на Windows 7 Ultimate x64 (SP1); установка фермы SharePoint Server 2010 под локальной учетной записью и размещение баз SharePoint Server 2010 SP1 на SQL Server 2012. Следует еще раз отметить, что первые две могут рассматриваться с точки зрения построения разработческого, но не производственного окружения. Кроме того, некоторые сервисы (например, PowerPivot для SharePoint) в процессе установки не довольствуются локальной учетной записью, т.к. требуют настоящего доменного эккаунта, и, следовательно, откажутся вставать на подобную конфигурацию.

 

 

Алексей Шуленин