|
|
|||||||||||||||||||||||||||||
|
Интеграция SharePoint 2010 c SQL Server 2012. Часть 1Источник: blogstechnet isvrus
В данной теме будут разобраны три вопроса:
Первоначально предполагалось, что следующим шагом станет установка на основе собранной конфигурации новой функциональности SQL Server 2012 в виде Power View - интерактивный инструмент отчетности с богатыми возможностями визуализации, ориентированный на непосредственных бизнес-пользователей - однако с официальным выходом SQL Server 2012 стало официально ясно, что Windows 7 официально не поддерживается в качестве серверной части для Power View, поэтому вопросы его развертывания будут рассмотрены отдельно. Перед установкой Sharepoint потребуется включить некоторые компоненты Windows: Полный список доступных на Windows 7 компонентов можно посмотреть при помощи dism /online /get-features: а также включить/отключить компоненты. Например, dism /online /disable-feature /FeatureName:"More Games" На Windows Server 2008 R2 вместо dism можно использовать утилиту ServerManagerCmd.exe -query или командлет Get-WindowsFeature в PowerShell. Установку/удаление компонент можно также проводить с помощью утилиты командной строки pkgmgr или ocsetup, которая является оберткой вокруг нее и msiexec. Следующий батник включает компоненты Windows 7, необходимые для установки Sharepoint 2010: rem в Windows Server соотв-т Server Roles -> Application Server rem Microsoft .NET Framework 3.5.1 dism /online /enable-feature /FeatureName:NetFx3 dism /online /enable-feature /FeatureName:WCF-HTTP-Activation dism /online /enable-feature /FeatureName:WCF-NonHTTP-Activation rem Windows Process Activation Service dism /online /enable-feature /FeatureName:WAS-WindowsActivationService dism /online /enable-feature /FeatureName:WAS-NetFxEnvironment dism /online /enable-feature /FeatureName:WAS-ConfigurationAPI dism /online /enable-feature /FeatureName:WAS-ProcessModel rem в Windows Server соотв-т Server Roles -> Web Server (IIS) dism /online /enable-feature /FeatureName:IIS-WebServerRole dism /online /enable-feature /FeatureName:IIS-WebServer rem Internet Information Services -> World Wide Web Services -> Application Development Features dism /online /enable-feature /FeatureName:IIS-ApplicationDevelopment dism /online /enable-feature /FeatureName:IIS-NetFxExtensibility rem dism /online /enable-feature /FeatureName:IIS-ASP dism /online /enable-feature /FeatureName:IIS-ASPNET rem dism /online /enable-feature /FeatureName:IIS-IIS-CGI dism /online /enable-feature /FeatureName:IIS-ISAPIExtensions dism /online /enable-feature /FeatureName:IIS-ISAPIFilter rem dism /online /enable-feature /FeatureName:IIS-ServerSideIncludes rem Internet Information Services -> World Wide Web Services -> Common HTTP Features dism /online /enable-feature /FeatureName:IIS-CommonHttpFeatures dism /online /enable-feature /FeatureName:IIS-DefaultDocument dism /online /enable-feature /FeatureName:IIS-DirectoryBrowsing dism /online /enable-feature /FeatureName:IIS-HttpErrors rem dism /online /enable-feature /FeatureName:IIS-HttpRedirect dism /online /enable-feature /FeatureName:IIS-StaticContent rem Internet Information Services -> World Wide Web Services -> Health and Diagnostics dism /online /enable-feature /FeatureName:IIS-HealthAndDiagnostics rem dism /online /enable-feature /FeatureName:IIS-CustomLogging dism /online /enable-feature /FeatureName:IIS-HttpLogging dism /online /enable-feature /FeatureName:IIS-LoggingLibraries dism /online /enable-feature /FeatureName:IIS-RequestMonitor dism /online /enable-feature /FeatureName:IIS-HttpTracing rem Internet Information Services -> World Wide Web Services -> Performance Features dism /online /enable-feature /FeatureName:IIS-Performance dism /online /enable-feature /FeatureName:IIS-HttpCompressionDynamic dism /online /enable-feature /FeatureName:IIS-HttpCompressionStatic rem Internet Information Services -> World Wide Web Services -> Security dism /online /enable-feature /FeatureName:IIS-Security dism /online /enable-feature /FeatureName:IIS-BasicAuthentication rem dism /online /enable-feature /FeatureName:IIS-ClientCertificateMappingAuthentication dism /online /enable-feature /FeatureName:IIS-DigestAuthentication rem dism /online /enable-feature /FeatureName:IIS-IISCertificateMappingAuthentication rem dism /online /enable-feature /FeatureName:IIS-IPSecurity dism /online /enable-feature /FeatureName:IIS-RequestFiltering rem dism /online /enable-feature /FeatureName:IIS-URLAuthorization dism /online /enable-feature /FeatureName:IIS-WindowsAuthentication rem Internet Information Services -> World Wide Web Services -> Web Management Tools dism /online /enable-feature /FeatureName:IIS-WebServerManagementTools dism /online /enable-feature /FeatureName:IIS-ManagementConsole rem dism /online /enable-feature /FeatureName:IIS-ManagementScriptingTools rem dism /online /enable-feature /FeatureName:IIS-ManagementService rem Internet Information Services -> World Wide Web Services -> Web Management Tools -> IIS 6 Management Compatibility dism /online /enable-feature /FeatureName:IIS-IIS6ManagementCompatibility rem dism /online /enable-feature /FeatureName:IIS-LegacySnapIn rem dism /online /enable-feature /FeatureName:IIS-LegacyScripts dism /online /enable-feature /FeatureName:IIS-WMICompatibility dism /online /enable-feature /FeatureName:IIS-Metabase pause Скрипт 1 Между компонентами существуют зависимости, например, WCF-HTTP-Activation не встанет раньше WAS-ConfigurationAPI: Error: 50 The operation completed but WCF-HTTP-Activation feature was not enabled. Ensure that the following parent feature(s) are enabled first. If they are already enabled, refer to the log file for further diagnostics. WAS-ConfigurationAPI. Я старался расположить включение компонент в том порядке, чтобы зависимые компоненты включались позже тех, от которых они зависят. Если где-нибудь этот порядок по невнимательности соблюсти не удалось, Скрипт 1 следует запустить повторно. В соответствии со стандартным порядком инсталляции Sharepoint Server 2010 для установки пререквизитов нужно запустить находящийся в корне дистрибутива файл PrerequisiteInstaller.exe, который на Windows 7 тут же завершается по причине Error: This tool supports Windows Server version 6 and version 6.1, как пишется в логе об ошибке. Короче, в случае Windows 7 пререквизиты ставятся ручками. Запускаем находящийся там же Setup.exe и получаем ошибку: Необходимо включить в конфигурационный файл config.xml, расположенный в <Дистрибутив>\Files\Setup строку <Setting Id="AllowWindowsClientInstall" Value="True"/>, как указано в статье Настройка среды разработки для SharePoint 2010 в Windows Vista, Windows 7 и Windows Server 2008. После этого Setup.exe запускается нормально. После ввода продуктового ключа и согласия с лицензионным соглашением будет предложено выбрать тип установки шаропойнта: одиночная установка или в режиме серверной фермы. В случае standalone установки служебные базы SharePoint размещаются на сервере SQL Server 2008 Express (даже не R2), который он приносит с собой:
что означает не более 4 ГБ на базу (даже не 10), не более 1 гига для буфер-пула, 1 процессор и другие ограничения. При выборе Complete предполагается, что SQL Server для создания служебных баз уже присутствует, и строка соединения с ним задается самостоятельно в процессе конфигурирования после установки SharePoint. Если хочется, чтобы SharePoint 2010 держал свои базы на SQL Server 2012, выбираем установку типа Server Farm. К тому же, ферма может состоять из всего одного шаропойнта: а SharePoint farm can be a single server or multiple servers. What sets a farm apart from a standalone installation is the presence of additional infrastructure, such as the Claims to Windows Token Service. SharePoint может быть также установлен как front-end Web-сервер, а не Complete, но этот тип установки выполняется из командной строки. Конфигурирование выполняется непосредственно после основной установки или по желанию (Start -> All Programs -> Microsoft SharePoint 2010 Products -> SharePoint 2010 Products Configuration Wizard):
При конфигурировании новой фермы шаропойнтовский визард пытается создать служебные базы на заданном SQL Server и установить credentials, под которыми к ним будет осуществляться доступ. По соображениям повышенной безопасности он хочет использовать для этого учетную запись Windows, а не SQLные логин-пароль, и совершенно логично предполагает, что это должна быть доменная учетная запись, коль скоро от ее имени будет происходить обращение с разных узлов (фермы). Проблема в том, что Windows 7 в данном случае является standalone машиной, не входящей ни в какой домен. Пришлось прибегнуть к обходному пути, описанному здесь - Installing SharePoint Farm without domain controller. Для этого я открыл SSMS и вручную создал на имеющемся под рукой SQL Server две базы данных: одну для хранения конфигурации, другую - под содержание веб-сайта централизованного администрирования, - обе в кодировке Latin1_General_CI_AS_KS_WS: 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 Скрипт 2 и аналогично БД SharePoint_AdminContent. Обходной путь состоит в том, чтобы вместо графического визарда psconfigui.exe (Рис.12-15) воспользоваться утилитой командной строки psconfig.exe, лежащей там же: 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 Команда создает новую конфигурационную БД (читай, шаропойнтовскую ферму) на SQL Server по имени -server, и база эта будет называться -database. Для соединения с SQL Server -server используется стандартная безопасность, т.е. SQL Serverный логин -dbuser со своим паролем -dbpassword. На этом, наверное, стоит заострить внимание, потому что попадаются случаи, когда люди долбятся на SQL Server из psconfig.exe под своим Windowsовым эккаунтом, по-детски удивляясь ошибке The configdb command is invalid or a failure has been encountered. Cannot connect to database master at SQL server at w7x64_Denali. The database might not exist, or the current user does not have permission to connect to it:
Достаточно заглянуть SQL Serverу в Error Log, чтобы понять, чего он хочет: Login failed for user 'w7x64_Denali\Administrator'. Reason: Attempting to use an NT account name with SQL Server Authentication. [CLIENT: <local machine>]. Пряча снисходительную улыбку, я запустил абсолютно корректный (как мне казалось) Скрипт 3 и был немедленно низвергнут за свою гордыню:
Не может она отыскать хранимую процедуру sp_dboption на SQL Server 2012 и оттого не может создать конфигурационную базу SharePoint. Собственно, ничего удивительного в этом нет: This is a designed behavior change in SQL 2012, and the spec proc sp_dboption is deprecated in SQL 2012. According to the online document (http://msdn.microsoft.com/en-us/library/ms187310.aspx), you can use "ALTER DATABASE" to modify the database options. В связи с этим рекомендуется установка SharePoint 2010 SP1: One of the primary reasons SP1 is required for SharePoint installations running with Microsoft SQL Server 2012 Release Candidate 0 (RC 0) is the database engine feature sp_dboption, that was deprecated in a previous release, is discontinued in the Microsoft SQL Server 2012 Release Candidate 0 (RC 0) release. Ссылки по теме
|
|