История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Топ:
Теоретическая значимость работы: Описание теоретической значимости (ценности) результатов исследования должно присутствовать во введении...
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Интересное:
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Дисциплины:
2022-11-27 | 31 |
5.00
из
|
Заказать работу |
|
|
Бывают ситуации, когда семейство сайтов, которое находится в какой-то базе данных контента, неожиданно разрастается до предельного размера 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 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!