Перемещение семейств сайтов из одной базы данных контента в другую — КиберПедия 

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Перемещение семейств сайтов из одной базы данных контента в другую

2022-11-27 31
Перемещение семейств сайтов из одной базы данных контента в другую 0.00 из 5.00 0 оценок
Заказать работу

Бывают ситуации, когда семейство сайтов, которое находится в какой-то базе данных контента, неожиданно разрастается до предельного размера 100 Гбайтайт, рекомендованного Microsoft. В таких случаях администраторам следует вручную перенести семейства сайтов из большей базы данных в другую, меньшую.

Определение размера исходного семейства сайтов с помощью Windows PowerShell

Администраторы всегда должны проверять и перепроверять, что целевой жесткий диск может спокойно хранить данные семейства сайтов, а для этого нужно знать размер перемещаемого семейства сайтов. Этот размер можно определить с помощью следующей процедуры:

1. Выберите пункт меню Starts All Programs^ Microsoft SharePoint 2010 Products^ SharePoint 2010 Management Shell (Пуск1^ Программы1^ Продукты Microsoft SharePoint 2010с^0болочка управления SharePoint 2010).

2. В окне командной строки Windows PowerShell (PS С: \ >) введите следующую команду, а затем нажмите клавишу <Enter>:

Get-SPSiteAdministration -Identity <http ://ИмяСервера/Сайты/ИмяСайта> | ft Url,DiskUsed

Замените в этой команде chttp: //ИмяСервера/Сайты/ИмяСайта> именем семейств ва сайтов.

Перемещение семейств сайтов из одной базы данных контента в другую с помощью Windows PowerShell

Перемещение семейств сайтов из одной базы данных контента в другую можно выполнить с помощью команды Windows PowerShell Move-SPSite:

1. Выберите пункт меню StartoAII Programs^ Microsoft SharePoint 2010 Products^ SharePoint 2010 Management Shell (Пуск1^ Программы1^ Продукты Microsoft SharePoint ЙОЮ^Оболочка управления SharePoint 2010).

2.В окне командной строки Windows PowerShell (PS С: \>) введите следующую команду, а затем нажмите клавишу <Enter>:

Move-SPSite chttp ://ИмяСервера/Сайты/ИмяСайта> -DestinationDatabase <ЦелеваяБДКонтента>

Замените в этой команде chttp: / /ИмяСервера/Сайты/ИмяСайта> именем семейства сайтов, а <ЦелеваяБДКонтента> — именем целевой базы данных контента.

Вынесение хранилища BLOB в SharePoint 2010

По умолчанию SharePoint хранит все загруженные документы и файлы в своих базах данных контента. Это всегда приводило к проблемам с памятью, производительностью и упрааляемостью, особенно в случае больших развертываний в SharePoint 2003 и в первых версиях SharePoint 2007. В SharePoint 2007 SP1 была сделана первая попытка хранения документов за пределами SQL Server, хотя реализация получилась туговатой и со многими ограничениями. В SharePoint 2010 этот вопрос переведен на совершенно новый уровень, где задействованы мощные возможности вынесения информации SQL Server 2008 R2. В данном разделе рассказывается, что такое BLOB-объекты, как они хранятся в SharePoint и как

технология удаленного хранения BLOB помогает перемещать большие документы и файлы из SQL Server в удаленные хранилища. В конце раздела будет описаны процессы установки и настройки RBS в средах SharePoint 2010, а также переноса и перемещения данных из одного хранилища в другое.

Что такое BLOB

Большинство значений, которые хранятся в SQL Server, состоят из символов ASCII. В основном это буквы, цифры и другие символы, которые можно найти на клавиатуре. Файл, состоящий только из символов ASCII, можно без всяких последствий изменить с помощью простого текстового редактора наподобие Блокнота. Однако данные — это не только строки и числа, и часто бывает необходимо хранить в таблицах SQL Server большое количество двоичных данных: документов Word, XML-документов, изображений и других видов данных. Двоичные файлы содержат символы ASCII, специальные управляющие символы, а также байты, не имеющие аналогов на клавиатуре. Если открыть документ Word в Блокноте и попробовать изменить его, то, скорее всего, этот файл станет запорченным и уже не откроется в Word, т.к. Блокнот не умеет правильно интерпретировать или создавать произвольные битовые комбинации. Большие двоичные файлы часто называются большими двоичными объектами (Binary Large Objects — BLOB).

В SQL Server имеются специальные типы данных для работы с такими большими объемами двоичных данных, хотя эти типы и изменялись со временем.

В SQL 2000 было два различных семейства данных для работы с такими данными — двоичный файл и изображение. К двоичным файлам относились два типа: тип двоичных данных и тип VARBINARY. Часть “VAR” в этом слове означает, что размер таких переменных является переменным (variable), в отличие от фиксированного размера стандартных типов двоичных данных. Однако все-таки присутствовало ограничение на максимальную длину — 8000 байтов.

Семейство типов данных изображений использовалось для хранения больших двоичных объектов объемом более 8000 байтов. Этот тип и сейчас имеется в новых версиях, хотя применять его не рекомендуется. Microsoft рекомендует избегать их использования в новых разработках и заменить на другие типы в уже имеющихся приложениях.

В версиях, начиная с SQL Server 2005, в семействе типов двоичных данных появился тип YARBINARY(MAX). Для него обычный предельный объем 8000 байтов заменен на

2 Гбайт.

Позже, в SQL Server 2008, для полей VARBINARY(MAX) появился атрибут FILESTREAM. Он позволяет выполнять хранение, потоковое воспроизведение и интегрированное управление для больших BLOB-объектов в базе данных SQL с помощью файловой системы NTFS, но при управлении и доступе непосредственно в контексте баз данных.

FILESTREAM — это не совершенно новый тип, а просто атрибут хранения существующего типа данных 'VAJRBINARY(MAX). Он просто изменяет способ хранения BLOB-данных — в файловой системе, а не в файлах данных SQL Server. В силу реализации объектов FILESTREAM в виде столбцов VARBINARY(MAX) и интеграции непосредственно в механизм СУБД большинство средств и функций SQL Server работает с данными FILESTREAM без всяких изменений.

Поведение обычного типа данных VARBINARY(MAX) осталось в SQL Server 2008 таким же, как и раньше, включая и предельное ограничение в 2 Гбайта. Добавление атрибута FILESTREAM означает, что столбец VARBINARY(MAX) может иметь практически неограниченный размер (в реальности ограниченный лишь возможностями NTFS).

Хранение BLOB в SharePoint

В SharePoint 2003 и ранних версиях SharePoint 2007 данные BLOB хранились в SQL Server, как правило, в самих базах данных (рис. 9.15). По мере усиления роли баз данных общий объем BLOB-данных мог быстро перерасти общий объем метаданных документов и других структурированных данных, хранящихся в базе данных. Исключений не было: и метаданные контента, и BLOB-объекты должны были храниться в базах данных контента. Это было не эффективно, т.к., по оценкам Microsoft, до 80% данных, хранящихся в базах данных контента SharePoint, являются не реляционными BLOB-данными, такими как документы Microsoft Office Word, электронные таблицы Microsoft Office Excel и презентации Microsoft Office PowerPoint. И лишь 20% составляют реляционные метаданные, а это приводило к проблемам с памятью, производительностью и управляемостью, особенно в больших развертываниях SharePoint.

В мае 2007 г. Microsoft выпустила оперативное исправление для Windows SharePoint Services 3.0 и Microsoft Office SharePoint Server 2007. которое позже вошло в состав Service Pack I. В нем имелся программный интерфейс внешнего хранения BLOB-данных (External BLOB Storage API — EBS), который позволял хранить BLOB-объекты вне баз данных контента с помощью реализации наборов интерфейсов. Идея была революционной, но реализация EBS была сложной, т.к. требовала использования неуправляемого интерфейса. Поэтому с этой частью приходилось справляться с помощью сторонних разработчиков или независимых поставщиков ПО (independent software vendor — ISV). Кроме того, в EBS имелись некоторые ограничения, например, ее можно было активировать лишь на уровне ферм, но не на уровне баз данных контента.

В Microsoft тщательно проанализировали отзывы клиентов и решили устранить болевые точки в хранении BLOB. В SharePoint 2010 можно выносить хранение BLOB-объектов с серверов баз данных в стандартные решения для хранения данных с помощью технологии удаленного хранения BLOB, которая появилась в SQL Server 2008.

Часть II

Удаленное хранение вюв

Удаленное хранение BLOB (Remote BLOB Storage — RBS) представляет собой библиотечный API, предназначенный для вынесения хранения больших двоичных данных (BLOB) из Microsoft SQL Server в решения внешнего хранения. RBS оформлен как добавочный пакет возможностей для Microsoft SQL Server 2008 и Microsoft SQL Server 2008 Express, а затем и для SQL Server 2008 R2 и SQL Server 2008 R2 Express.

Используя RBS, приложения могут хранить большие объемы неструктурированных данных (например, документы Office, PDF-файлы или видеофайлы) и использовать как реляционные возможности SQL Server, так и масштабируемость выделенных хранилищ BLOB-объектов. Замечательно, что разработчикам не нужно писать код для связывания метаданных SQL и BLOB-данных: всю транзакционную совместимость RBS полностью берет на себя.

Приложения хранят и выбирают BLOB-данные с помощью вызовов функций из клиентской библиотеки RBS. Независимые разработчики ПО и поставщики решений хранения данных могут создать свою собственную библиотеку поставщика RBS (RBS Provider Library), которая позволит использовать специализированные хранилища в приложениях, написанных с помощью набора RBS API. Microsoft даже создала поставщик с именем FILESTREAM RBS, который поставляется с RBS 2008 R2 и может использоваться для хранения BLOB в базовой файловой системе NTFS. Поставщик FILESTREAM RBS связывает технологию RBS с возможностью FILESTREAM, введенной в SQL Server 2008.

В SharePoint 2007 не использовались новые возможности SQL Server, введенные для неструктурированных данных в SQL Server 2008, наподобие атрибута FILESTREAM или технологии RBS. Вместо этого в SharePoint 2007 была предусмотрена собственная технология повышения эффективности использования памяти и управляемости больших объектов данных — внешнее хранение BLOB (External BLOB Storage — EBS).

SharePoint 2010 поддерживает RBS и может задействовать поставщик SQL Server FILESTREAM RBS, что позволяет удешевить хранение данных и существенно повысить производительность. Принцип работы RBS с SharePoint 2010 показан на рис. 9.16.

SharePoint WFE
 
г г %
  Клиентская
Объектная модель SharePoint библиотека
  SQLRBS k. J-
Реляционный доступ  

MS SQL Server

I(TDh

Хранилище ^ BLOB Z _

Управление и сопровождение SQL Server в среде SharePoint 2010 Глава 9 /э/

В SharePoint 2010 поставщик FILESTREAM RBS можно также использовать для преодоления ограничения 4 Гбайт в SQL Server Express. В отличие от Windows SharePoint Services 3 0, в SharePoint Foundation 2010 не применяется механизм Windows Internal Database, который и обуславливает этот предельный размер базы данных. Пользователи Windows SharePoint Services 3.0 при модернизации своих ферм могут нарваться на ситуацию, когда внутренняя база данных имеет размер больше 4 Гбайт, а это превышает ограничение в SQL Server Express. Тогда им предлагается загрузить поставщик FILESTREAM RBS, который позволяет вынести BLOB-данные в базовую файловую систему.

Сравнение RBS и EBS

Как уже было сказано, технология EBS была ранней попыткой Microsoft в SharePoint 2007 SP1 помочь клиентам вынести свои BLOB-данные из баз данных контента. Однако для EBS были характерны трудность реализации и некоторые ограничения. EBS была введена как средство немедленной помощи и эволюционный этап, который позволяет позже перейти на технологию RBS. EBS продолжает поддерживаться в SharePoint 2010, но она не рекомендуется для использования, что означает, что ее поддержка закончится в будущих выпусках SharePoint. Однако Microsoft рекомендует использовать RBS в SharePoint 2010 не только поэтому, но и из-за большей мощности и управляемости RBS. Некоторые преимущества RBS по сравнению с EBS приведены в табл. 9.1.

Таблица 9.1. Сравнение технологий EBS и RBS
 
Возможность RBS EBS
Область видимости хранилища BL0B Можно настраивать на уровне баз данных контента (каждая база может иметь собственное хранилище BL0B) Можно указать только на уровне фермы
Количество поставщиков Несколько Только один
Интерфейс Управляемый Неуправляемый
Перенос BLOB-данных из хранилищ SQL Server в хранилища BL0B и наоборот Windows PowerShell Пользовательский
Интерфейс SharePoint SharePoint 2010 поставляется с множеством командлетов Windows PowerShell, которые позволяют управлять процессом установки и настройки RBS Нет

Установка и настройка RBS

Для установки и настройки вынесения BLOB-данных в SharePoint 2010 с помощью RBS и поставщика FILESTREAM RBS можно использовать следующую процедуру:

1. Активация FILESTREAM на SQL Server.

2. Подготовка базы данных и создание хранилища BLOB.

3. }£тановка клиента RBS.

4. Активация RBS с помощью Windows PowerShell.

Каждый из этих шагов будет подробно рассмотрен ниже.

Активация FILESTREAM на SOL Server

Вначале необходимо активировать и настроить FILESTREAM на компьютере, на котором выполняется SQL Server 2008 (RTM/R2) и находятся базы данных SharePoint Server 2010:

1. Выберите пункт меню Starts All Programs1^ Microsoft SQL Server 2008 R2o Configuration Tools^SQL Server Configuration Manager (ПускОПрограммыОМкговой SQL Server 2008 RS^Cpeflcrea настройки1^Диспетчер настройки SQL Server).

2. На левой панели диспетчера настройки SQL Server щелкните на кнопке SQL Server Services (Службы SQL Server) — на правой панели появится список всех служб, относящихся к SQL Server 2008.

3. Найдите экземпляр SQL Server, на котором нужно активировать FILESTREAM, щелкните на нем правой кнопкой и выберите пункт меню Properties (Свойства).

4. В диалоговом окне SQL Server Properties (Свойства SQL Server) перейдите на вкладку FILESTREAM и установите флажок Enable FILESTREAM for Transact-SQL Access (Разрешить FILESTREAM для доступа Transact-SQL), который активирует остальные параметры.

5. Установите все флажки и щелкните на кнопке Apply (Применить).

6. Выберите пункт меню StartOAII Programs1^ Microsoft SQL Server 2008 R2C>SQL Server Management Studio (ПускО Программы Microsoft SQL Server 2008 I^^SQL Server Management Studio).

7. Подключитесь к нужному экземпляру СУБД SQL Server.

8. В SQL Server Management Studio щелкните на кнопке New Query (Создать запрос).

9. В открывшемся окне Query Editor (Редактор запросов) введите следующий код Transact-SQL:

EXEC spconfigure filestream_access_level, 2; RECONFIGURE 10. Щелкните на кнопке Execute (Выполнить).

Подготовка базы данных и создание хранилища BLOB

Следующие шаги показывают, как подготовить базу данных и создать хранилище BLOB:

1. Выберите пункт меню Starts All Programs1^ Microsoft SQL Server 2008 R2c>SQL Server Management Studio (ПускОПрограммыОМгспжой: SQL Server 2008 RS^SQL Server Management Studio).

2. Подключитесь к нужному экземпляру СУБД SQL Server и разверните узел этого экземпляра.

3. Раскройте базы данных, выберите базу данных контента, для которой нужно создать хранилище BLOB, щелкните на кнопке New Query (Создать запрос) и выполните следующие команды:

use [ContentDataba seName]

if not exists (select * from sys.symmetric_keys where name = N'##MS_DatabaseMasterKey##')

create master key encryption by password = N’Admin Key Password! 2#4' use [ContentDatabaseName]

if not exists (select groupname from sysfilegroups where groupname=N,RBSFilestreamProvider')alter database [ContentDatabaseName] add filegroup RBSFilestreamProvider contains filestream

use [ContentDatabaseName]

alter database [ContentDatabaseName] add file (name = RBSFilestreamFile, filename = 'c:\RemoteBLOBStore') to filegroup RBSFilestreamProvider

установка клиента RBS

Следующие шаги показывают, как установить RBS:

1. Загрузите RBS 2008 R2 с поставщиком FILESTREAM (RBS_X64.msi) со страницы http://go.Microsoft.com/fwlink/?LinkID=165839fcclcid=0x409 на сервер баз данных, все рабочие веб-станции и все серверы приложений.

2. На сервере баз данных откройте окно командной строки, войдите в каталог, где находится файл RBSX64.msi, и выполните следующие команды:

msiexec /qn /lvx* RBS_install_log.txt /i RBS_X64.msi 4>TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY

4>DBNAME="ContentDatabaseName" DBINSTANCE="DatabaseInstanceName" 4>FILESTREAMFILEGR0UP=RBSFilestreamProvider FILESTREAMSTORENAME=Fi le s t reamP rovide r_l

msiexec /qn /lvx* RBS_install_log.txt /i RBS_X64.msi 4>DBNAME=" ContentDatabaseName "

4>DBINSTANCE=° DatabaselnstanceName " ADDLOCAL=

4>"Client,Docs,Maintainer,ServerScript,FilestreamClient,FilestreamServer"

Эти команды нужно выполнить для каждой базы данных контента, которая должна поддерживать RBS.

3. На всех рабочих веб-станциях и всех серверах приложений откройте окно командной строки, войдите в каталог, где находится файл RBS_X64.msi, и выполните следующие команды:

msiexec /qn /lvx* RBS_install_log.txt /i RBS_X64.msi 4>DBNAME=" ContentDatabaseName "

*J>DBINSTANCE=" DatabaselnstanceName " ADDL0CAL=

4>"Client,Docs,Maintainer,ServerScript,FilestreamClient,FilestreamServer" Эти команды запускают службу msiexec, которая выполняется в тихом режиме, никак не сообщая об успешном или неудачном выполнении. За ее выполнением и завершением можно наблюдать с помощью диспетчера задач.

4. Администраторы могут удостовериться, что установка RBS прошла успешно, если найдут в журнале RBS текст Product: SQL Remote BLOB Storage—Configuration Completed Successfully (Продукт: удаленное хранилище BLOB SQL — успешное завершение настройки). Предыдущие команды установки создают файл журнала с именем RBS_install_log. txt в том же каталоге, что и файл RBS_X64.msi. В процессе установки также создаются несколько таблиц в указанной базе данных контента, имена которых начинаются с префикса mssqlRBS. Администраторы могут также просмотреть эти таблицы для подтверждения успешного завершения установки.

НА ЗАМЕТКУ -

В составе SQL Server 2008 был выпущен RBS 2008 — первая версия RBS API. Эта версия не поддерживается SharePoint 2010. В данной книге речь идет об улучшенной версии RBS 2008 R2, которая предназначена для работы с SharePoint 2010, поставляется с поставщиком FILESTREAM и может быть установлена и на SQL Server 2008, и на SQL Server 2008 R2.

Часть II

Активация RBS с помощью Windows PowerShell

Следующие шаги позволяют активировать RBS с помощью Windows PowerShell:

1. Выберите пункт меню Start^AII Programs1^Microsoft SharePoint 2010 Products^ SharePoint 2010 Management Shell (ПускОПрограммыО Продукты Microsoft SharePoint 20Ю^Оболочка управления SharePoint 2010).

2. В окне командной строки Windows PowerShell (PS С: \>) введите следующие команды, нажимая после каждой клавишу <Enter>:

$cdb = Get-SPContentDatabase ContentDatabaseName $BLOBstoragesettings = $cdb.RemoteBLOBStorageSettings SBLOBstoragesettings.Enable{)

$BLOBstoragesettings.SetActiveProviderName(SBLOBstoragesettings. GetProviderNames () [0])

Командлет Enable активирует использование RBS для определенной базы данных контента. После этого BLOB-объекты сохраняются в активном хранилище BLOB. Если запретить использование активного хранилища BLOB с помощью командлета Disable, BLOB-объекты будут снова сохраняться в базе данных контента.

Командлет GetProviderName выдает список всех поставщиков, зарегистрированных в ферме, и имена, выбранные из базы данных конфигурации.

Командлет SetActiveProviderName позволяет активировать конкретный поставщик для конкретной базы данных контента. В ферме может быть несколько поставщиков RBS, но в любой момент времени только один из них может быть активным для данной базы данных контента.

Есть еще один полезный командлет, который пока не встречался нам — это команд-лет MinimumBLOBStorageSize. С его помощью можно задать предельный размер для хранимых файлов. Например, администратор может указать, что файлы, меньшие 1 МБ, нужно хранить в базе данных контента, а большие — в хранилище BLOB.

3. Теперь все загружаемые в базу документы должны попадать в хранилище BLOB (с: \ RemoteBLOBStore), а не сохраняться в указанной базе данных контента. На рис. 9.17 показан рабочий поток операции выгрузки в SharePoint 2010 после активации RBS.


Поделиться с друзьями:

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.049 с.