Ласкаво просимо до dev.net.ua Увійти | Приєднатися | Допомога

11 Сентября. Встреча Kyiv SQL Server User Group

Лето закончилось и Киевская SQL Server User Group возобновляет встречи. Регистрация по адресу: http://ineta.ru/KSSUG/Meeting/2012-09-11-18-30


Продолжим говорить о новых возможностях SQL Server 2012 в области BI: Data Quality Services и технологии Tabular Data Model которая дополняет и упрощает OLAP.

Будет два доклада.
Data Quality Services

Data Quality Services Задача предоставления и использование качественных данных с каждым годом становится все актуальнее, объем данных растет, а единого механизма нормализации пока еще не было. С релизом SQL Server 2012 в свет выходит SQL Server Data Quality Services (DQS) один из главных механизмов нормализации данных. Он позволяет выполнять различные операции для получения качественных данных, такие как очистка, сравнение и профилирование. Ядром DQS является База Знаний, будет расcмотрен пример создания и использование такого хранилища при анализе данных, так же будет рассмотрен пример интеграции DQS в SSIS. DQS - это потрясающая новинка от Microsoft включающая многолетние исследования в области анализа данных.

Что за зверь: Tabular Data Model
Вместе с SQL Server 2008 R2 вышла технология PowerPivot, которая позволила проводить бизнес-анализ без глубоких знаний в OLAP-кубах, прямо в Excel и при этом работать с 100-нями миллионов строк. Tabular Data Model – это PowerPivot «по-взрослому»: часть SSAS, разработка в Visual Studio, больше возможностей для разработчика и администратора, но все также просто, как и в настольном варианте.
Надіслане від kosinsky | 0 коментарів
Помічено як: , , , ,

Апрельская встреча Kyiv SQL Server User Group

24 апреля пройдет Апрельская встреча Kyiv SQL Server User Group. Посвященная хранилищам данных.
Будет два доклада: SSIS, а также новой функциональной возможности SQL Server 2012 - ColumnStore Index.
Ссылка для регистрации: http://ineta.ru/KSSUG/Meeting/2012-04-24-18-30
Надіслане від kosinsky | 0 коментарів

Коллекции примеров от команды Patterns & Pactices

J.D. Meier – Principal Program Manager в P&P команде (сайт, блог) систематизировал коллекции примеров код для разнообразных технологий Microsoft: Azure, WCF, ASP.NET, Silverlight и т.д.

Описания коллекций разбиты по областям/уровням/группам, которые соотносят примеры как конкретным особенностям технологии (например, анимация для Silverlight), так и уровням/слоям в архитектурных документах P&P.

Вот полный список:

Надіслане від kosinsky | 0 коментарів

Частичная уникальность

Одной из рекомендуемых практик при построении базы данных, является задание максимального числа ограничений на данные средствами самой СУБД, т.к. не известно, что и как будет реализовано на уровне приложения и сколько этих приложений может быть. Важным ограничением, которое позволит отсечь много мусора является ограничение уникальности. Например, если у меня есть таблица проектов:

CREATE TABLE Projects
(
ProjectID int identity not null primary key,
Name nvarchar(50)
)

и я хочу обеспечить уникальность названия проекта, я сделаю так:

ALTER TABLE Projects ADD  CONSTRAINT UQ_Project_Name UNIQUE (Name) 

И тогда, для следующего запроса:

insert into Projects VALUES('Project #1')
insert into Projects VALUES('Project #1')
 
Первая строчка будет выполнена, а вторая вернет ошибку:
 
Msg 2627, Level 14, State 1, Line 2
Violation of UNIQUE KEY constraint 'UQ_Project_Name'. Cannot insert duplicate key in object 'dbo.Projects'.

В результате, даже если будут баги в приложениях, то в таблицу 100% не попадут не уникальные проекты.
Но что делать если нужна только частичная уникальность. Например, таблица создается следующим образом:
CREATE TABLE Projects
(
ProjectID int identity not null primary key,
Name nvarchar(50),
IsDeleted bit not null default 0
)

и нужно обеспечить только уникальность актуальных проектов (то есть только тех для которых IsDeleted == 0). Ограничение уникальности здесь не поможет.
 
Вторым способом обеспечить уникальность столбца является создание уникального индекса. Точнее когда мы создаем UNIQUE CONSTRAINT индекс создается автоматом, при чем уникальный индекс.
Если выполнить следующий запрос, который вернет все индексы в таблице Projects:
 
select * from sys.indexes where object_id=OBJECT_ID('Projects')

То получим:
image
Хотя уникальный индекс можно создать и без создания UNIQUE CONSTRAINT.
 
Если ко всему этому добавит появившиеся в SQL Server 2008 фильтрованные индексы, то мы можем обеспечить частичную уникальность для имени проекта, следующим образом:
CREATE UNIQUE INDEX UNX_Project_Name On Projects(Name)
WHERE IsDeleted=0

 
И теперь, если выполнить скрипт:
insert into Projects VALUES('Project #1',0)
insert into Projects VALUES('Project #1',1)
insert into Projects VALUES('Project #1',1)
insert into Projects VALUES('Project #1',0)

То первые три выражения пройдут, а последнее выдаст ошибку:
Msg 2601, Level 14, State 1, Line 4
Cannot insert duplicate key row in object 'dbo.Projects' with unique index 'UNX_Project_Name'.
 
В результате названия актуальных проектов не могут дублироватся, а удаленные могут быть любыми.

 
Надіслане від kosinsky | 0 коментарів

Наблюдения о SQL Server Database Mirroring

В SQL Server 2005 SP1 появилась технология Database Mirroring, которая позволяет обеспечить высокую доступность баз(ы) данных и удаленное расположение резервное системы. Это не единственная технология обеспечения высокой доступности. Общий обзор я делал здесь и здесь. Хочу поделиться некоторыми наблюдениями о реальных примерах использованния данной технологии и о типичных ошибках в конфигурировании, которые приводят к проблемам.

1. Некорректный расчет полосы пропускания

Одним из плюсов Database Mirroring заключается в том, что основную и резервную систему связывает только сеть, а значит сервера можно расположить на большом расстоянии друг от друга и тем самым обеспечить защиту от выхода из строя целой площадки. Но если сервера расположены далеко друг от друга, то пропускная способность канала и его задержки могут повлиять на производительность. Особенно, что проявляется с синхронном режиме (асинхронный доступен только в Enterprise Edition), т.к. пока зеркало не подтвердило получение и сохранение транзакции, она не завершается и клиент ждет.

Следовательно, при планировании зеркалирования нужно оценить сколько данных и как часто будут передаваться между системами. Самый простой способ это сделать – это запустить Performance Counter, который будет собирать данные о количестве отсылаемых данных SQLServer: Database Mirroring – Bytes Sent/sec, но для этого уже нужно иметь работающее зеркалирование (например, на стоящий рядом сервер). Если это сделать нельзя, то приблизительные данные можно получить со счетчика SQLServer: Databases – Log Bytes Flushed/sec (который показывает скорость сброса данных в Transaction Log).

Еще одно замечание. В SQL Server 2008 передаваемым на зеркало данные сжимаются, что также позволяет выиграть на полосе пропускания.

2. Частая и неоправданная реиндексация

Реиндексация снижает уровень фрагментации индексов и в результате повышает скорость выполнения операций с ними. Но когда вы делаете реиндексацию выполняется генерация большого объема Transaction Log’а, которые передается на зеркало. И если запустить полную реиндексацию ВСЕ базы данных в 10-ки или 100-ни Гб, а канал между серверами не самый быстрый, то операция может растянуться на часы или даже дни.

По этому нужно реиндексировать только то, что действительно нужно:

  • Не используйте DBCC DBREINDEX, во-первых, этот механизм depricated начиная с SQL Server 2008, а во-вторых реиндексация в таком случае сводиться к простому SELECT …. INSERT… для всей таблицы, что приведет к тому, что будет прочитанна и заново записанна ВСЯ таблица и ВСЕ индексы, и это будет передано на зеркало.

Для реиндексации нужно использовать:

ALTER INDEX PK_Employee_BusinessEntityID ON HumanResources.Employee REBUILD;

а для реогранизации:

ALTER INDEX PK_ProductPhoto_ProductPhotoID ON Production.ProductPhoto REORGANIZE ;

Это позволит делать эффективное и выборочное перестроение
  • Перед операцией определить, что действительно нужно реиндексировать. Т.к. реиндексация и/или реорганизация индекса нужна только если он слишком фрагментирован, то нужно сначала определить уровень фрагментации. Для этого можно воспользоваться системной табличной функцией sys.dm_db_index_physical_stats и значением возвращаемым в столбце avg_fragmentation_in_percent:
SELECT t.name, st.avg_fragmentation_in_percent, st.page_count
FROM sys.dm_db_index_physical_stats (NULL, NULL, NULL, NULL, NULL) st
JOIN sys.objects t on st.object_id = t.object_id
order by st.avg_fragmentation_in_percent desc
Если процент фрагметации:
  • меньше 5%, то делать ничего не нужно;
  • от 5 до 30%, то нужно сделать реогранизацию индекса (перестроить только листовый страницы индекса);
  • если больше 30%, то стоит делать реиндексацию индекса

Я написал небольшой скрипт который делает это автоматически:


declare @minRows int
set @minRows = 100

declare @reindexQuery nvarchar(max)

set @reindexQuery =
REPLACE(REPLACE(
cast(
(
select
'ALTER INDEX '+idx.name+' ON '+ sc.name+'.'+ t.name+
CASE
WHEN st.avg_fragmentation_in_percent > 30 THEN ' REBUILD WITH (ONLINE=ON)'
ELSE ' REORGANIZE'
END as query

from sys.dm_db_index_physical_stats( DB_ID(),NULL,NULL,NULL,NULL) st
join sys.tables t on (st.object_id=t.object_id)
join sys.schemas sc on (sc.schema_id=t.schema_id)
join sys.indexes idx on (t.object_id=idx.object_id and st.index_id=idx.index_id)
join sys.partitions p on (p.index_id=idx.index_id and p.object_id=idx.object_id)
where p.rows > @minRows and st.avg_fragmentation_in_percent > 5
order by st.avg_fragmentation_in_percent desc
FOR XML PATH(''), TYPE
) as nvarchar(max))
,'</query>',';
'
),'<query>','')

print @reindexQuery

exec (@reindexQuery)

Скрипт будет реиндексировать только таблицы в которых более 100 строк (см. параметр @minRows)

3. Организация сети, которая приводит к ложным срабатываниям механизма переноса

Обычно схему Database Mirroring рисуют следующим образом:

image

Задача Witness’а следить за ситуацией и если Primary вышел из строя, то сказать Mirror’у, что теперь он активен. Зачем нужен Witness и почему Mirror, не может сам следить за Primary? На самом деле Mirror тоже следит за Primary, а Witness нужен, чтобы при сбое соединения между Primary и Mirror не происходило ложное срабатывание процедуры переключения, после которого у на будут два активных сервера, потерявших синхронизацию.

Как конфигурирую на самом деле:

image

И когда рветься связь между Primary и Switch, то и Witness, и Mirror видят, что Primary не доступен и начивают процедуру активации. Ложную.

Что делать? Не пожалеть средств на установку дополнительных сетевых карт и реализовать топологию с верхней картинки, либо отказаться от Witness’а и делать ручную активацию в случае сбоя.

SQL Server Reporting Services 2008 R2: Встроенные графики

В некотороых отчетах детальные данные нужно представлять в графическом виде. Например, сумма за год показать в виде числа, а для месячных данных конкретные значения не важны, важны тенденции. Для решения этой задачи в SSRS 2008 R2 появились Sparkline.

Если у нас есть следующий отчет:

image

Добавив новый столбец и разместив в нем Sparkline элемент:

image

Указываем ему, что будет данными и что будет использоваться для группировки:

image

Получаем:

image

Надіслане від kosinsky | 1 коментарів
Помічено як: , ,

SQL Server Reporting Services 2008 R2: Ориентация текста

В больших и сложных матричных отчетах, часто для экономии места заголовки столбцов пишут вертикально. Если значения занимают не много места, а заголовки длинные это позволяет существенно уменьшить ширину отчета. Теперь такая возможность появилась в Reporting Services.

Достаточно изменить значение свойства WritingMode на Vertical или Rotate270 (зависит от того как именно нужно повернуть текст).

В результате получаем в режиме редактирования отчета:

image

При его отображении в Report Viewer:

image

И даже при экспорте в Word:

image

В данном случае WritingMode = Rotate270, а Padding-Bottom=20pt

Надіслане від kosinsky | 0 коментарів
Помічено як: , ,

TFS 2010 Guides

Когда я писал свой пост Полезные материалы по TFS 2010, я не до конца представлял весь объем материалов по TFS 2010, которые выпустят в ближайшее время. На текущий момент доступно 5 руководств:

  • Visual Studio 2010 Quick Reference Guidanceссылочные материалы по различным аспектам VSTS 2010 и TFS 2010
  • Visual Studio 2010 TFS Upgrade Guide – руководство по обновлению TFS 2008 до TFS 2010
  • Visual Studio Team Foundation Server Branching Guide 2010 – работа с Branch’ами исходного кода. В Source Control компоненте  TFS 2010 довольно много интересных изменений, например, визуализация иерархий branch’ей, создание branch’ей без вытягивания кода на клиента. Я рассказывал про это в конце декабря, запись можно посмотреть на TechDays.in.ua.
  • Visual Studio 2010 Team Foundation Server Requirements Management Guidance – руководство по управлению требованиями. Содержит материалы о том работать с рабочими элементами, при этом упор делается не на нажимание кнопочек и том что у рабочего элемента много разных прикольных свойств, а на рекомендациях как это лучше использовать для реальной работы.
  • Visual Studio 2010 and Team Foundation Server 2010 VM Factory – как планировать и создавать виртуальные машины с TFS 2010, как рассчитать требуемые аппаратные ресурсы в зависимости от размера команды и т.д.
    Надіслане від kosinsky | 1 коментарів
    Помічено як:

    Полезные материалы по TFS 2010

    Эта неделя багата на выход различной документации по TFS 2010:

    1. TFS 2010 Upgrade Guide

    Доступен на Codeplex http://vs2010upgradeguide.codeplex.com. Содержит детальное описание процесса обновления с tfs2008 до tfs2010 (и тот как потом включить новые возможности, например, Lab Management, Test Case Management, Branch Visualization поддержку MOSS’а), описание специфических случаев и FAQ.

    2. Visual Studio 2010 Quick Reference Guidance

    Доступен на Codeplex http://vs2010quickref.codeplex.com. Содержит набор диаграмм и постеров, о различных аспектах работы с TFS 2010. Например,Visual Studio 2010 Developer Debug Guidance:

    image

    3. Книги Professional Visual Studio 2010 Team System (предварительный заказ на Amazon)

    Посвящена использованию VSTS 2010 для поддержки жизненного цикла разработки ПО. Авторы книги имеют непосредственное отношение либо к разработке VSTS/TFS, либо к группе P&P (выступление на Киевском Patterns & Practices RoadShow можно посмотреть здесь).

    Надіслане від kosinsky | 0 коментарів

    TFS 2010 Power Tools

    С некоторой задержкой вышли Power Tools для TFS 2010 Beta 2. Основное отличие от предыдущей версии поддержка интеграции в VSTS 2010 и работу с некоторыми новыми возможностями TFS 2010, хотя визуально инструменты пока не отличаются. Других изменений не слишком много, главное это просто работа с TFS 2010.

    Скачать можно здесь.

    Новые возможности Process Template Editior’а, которые удалось найти:

    • TFS 2010 поддерживает разнообразные типы зависимостей между рабочими элементами. В описании шаблона появилась секция Link Types, его описываются поддерживаемые специфичные для проекта типы связей (связи Parent-Child, Link, Predecessor, Successor и т.д. описывать не нужно). В MSF for Agile 5.0 связь Tested By описана:

    clip_image002

    Возможные варианты топологии: Network, DirectedNetwork, Dependency, Tree (детальное описание в блоге Brain Harry http://blogs.msdn.com/bharry/archive/2009/05/18/tfs-2010-work-item-tracking.aspx)

    • Расширенна поддержка визуальных элементов для отображения полей рабочего элемента (например, WebPage)
    Надіслане від kosinsky | 1 коментарів
    Помічено як: ,

    В SQL Server 2008 R2 добавят две новых старших редакции

    В SQL Server 2008 было 5 основных редакций: Express, Web, Workgroup, Standard, Enterprise (Developer не считаем, т.к. это по возможностям Enterprise). Но в SQL Server 2008 R2 будут еще две:

    • SQL Server R2 Datacenter

    Поддержка до 256 ядер, расширенные возможности многосерверного управления, обработка событий с технологий SQL Server StreamInsight и т.д.

    • SQL Server 2008 R2 Parallel Data Warehouse

    Базируется на технологиях MPP (массивная параллельная обработка), предназначается для хранилищ данных размером в десятки и сотни терабайт, основные производители “железа” будут предлагать готовые конфигурации на его базе.

    Обе версии будут лицензироваться только по процессорам.

    PS. Выпуск следующего CTP планируется вместе с бетой SharePoint 2010 в середине ноября.

    Надіслане від kosinsky | 2 коментарів
    Помічено як: ,

    SharePoint 2010 Excel Services и Windows 7/Vista Gadget

    Одной из интересных особеностей Excel Services (выполнение Excel документов на стороне сервера) в составе SharePoint 2010, явялется доступ через REST API.

    Мы можем пойди по адресу вида http://[server]/_vti_bin/ExcelRest.aspx/[DocLib]/[File.Xlsx] и добавить в конце один из следующих параметров:

    Resource

    Format

    Example

    /Model

    atom (default)

     

    /Model

    workbook

    /Model?$format=workbook

    /Model/Ranges

    atom (default)

    /Model/Ranges
    /Model/Ranges?$format=atom

    /Model/Ranges('[Name]')

    html (default)

    /Model/Ranges('MyRange')
    /Model/RangeS('MyRange')?$format=html

    /Model/Ranges('[Name]')

    atom

    /Model/Ranges('MyRange')?$format=atom

    /Model/Charts

    atom (default)

    /Model/Charts
    /Model/Charts?$format=atom

    /Model/Charts('[Name]')

    image (default)

    /Model/Charts('MyChart')
    /Model/Charts('MyChart')?$format=image

    /Model/Tables

    atom (default)

    /Model/Tables
    /Model/Tables?$format=atom

    /Model/Tables('[Name]')

    html (default)

    /Model/Tables('MyTable')
    /Model/Tables('MyTable')?$format=html

    /Model/Tables('[Name]')

    atom

    /Model/Tables('MyTable')?$format=atom

    /Model/PivotTables

    atom (default)

    /Model/PivotTables
    /Model/PivotTables?$format=atom

    /Model/PivotTables('[Name]')

    html (default)

    /Model/PivotTables('MyPT')
    /Model/PivotTables('MyPT)?$format=html

    /Model/PivotTables('[Name]')

    atom

    /Model/PivotTables('MyPT')?$format=atom

    В резульате получем что-то похожее на следующий скрипшот:

    image

    Наличие такого механизма позволяет используя Javascript интегрировать Excel Services в Web-приложения. Но Windows 7/Vista гаджет тоже Javascript-приложение, а в Excel Services могут быть часто обновляющиеся данные, которые нужно видеть постоянно.

    *** Grano Salis разработал такой гаджет:

    image

    в настройках которого нужно просто указать путь к документу в Excel Services и то какую часть документа показывать.

    Описание как он создавался и видео с его работой можно найти здесь и здесь.

    Надіслане від kosinsky | 0 коментарів

    SQL Server Reporting Services и Forms Authentication

    Иногда возникает потребность обеспечить для своих отчетов доступ с вводом логина и пароля в через Web-форму, например, для встраивания в не Microsoft-решения. А так как SSRS является обычным ASP.NET приложением, то возникает идея применить обычную Forms Authentication. Из коробки система делать это не умеет, и нужно разработать небольшое расширение. К счастью на Codeplex уже есть готовая наработка, которую нужно просто скомпилировать и правильно настроить.

    • Скачиваем и устанавливаем примеры для SSRS. Лежат они здесь (обратите внимание на битность, я проводил эксперимент на Windows 7 x64, по этому качал SQL2008.Reporting_Services.Samples.x64.msi). Детальная документация по установке находится здесь.

    По умолчанию примеры будут лежать в папке <system_drive>:\Program Files\Microsoft SQL Server\100\Samples

    • Запускаем командную строку Visual Studio и в папке с примерами выполняем команду

    sn -k SampleKey.snk

    • Открываем в Visual Studio 2005 или выше проект CustomSecurity из папки Reporting Services\Extensions (не забудьте про UAC, т.к. компиляция в папке по умолчанию требует админских прав)
    • Добавляем Reference на библиотеку Microsoft.ReportingServices.Interfaces, которая лежит в подпапке ReportServer\bin инсталяции Reporting Services (у меня это C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services)
    • После этого про собираем приложение
    • Дальше копируюем только что скомпилированную библиотеку Microsoft.Samples.ReportingServices.CustomSecurity.dll в папки <install>\ReportServer\bin и <install>\ReportManager\bin
    • Файл Logon.aspx в <install>\ReportServer, а UILogon.aspx в <install>\ReportManager\Pages
    • Редактируем файл RSReportServer.config из папки <install>\ReportServer:
      • Содержимое секции AuthenticationTypes заменяем на <Custom/>
      • В подсекцию <Security> секции <Extensions> добавляем:
          <Extension Name="Forms" Type="Microsoft.Samples.ReportingServices.CustomSecurity.Authorization,
     Microsoft.Samples.ReportingServices.CustomSecurity" >
            <Configuration>
              <AdminConfiguration>
                <UserName>username</UserName>
              </AdminConfiguration>
            </Configuration>
          </Extension>
    
      • В подсекцию <Authentication> секции <Extensions> добавляем:
    <Extension Name="Forms" Type="Microsoft.Samples.ReportingServices.CustomSecurity.AuthenticationExtension,
    Microsoft.Samples.ReportingServices.CustomSecurity" />
      • В секцию <UI> добавляем:
    <CustomAuthenticationUI>
          <loginUrl>/Pages/UILogon.aspx</loginUrl>
          <UseSSL>False</UseSSL>
     </CustomAuthenticationUI>
    • Редактируем файл RSSrvPolicy.config из папки <install>\ReportServer, добавляем в него:
    <CodeGroup
                  class="UnionCodeGroup"
                  version="1"
                  Name="SecurityExtensionCodeGroup"
                  Description="Code group for the sample security extension"
                  PermissionSetName="FullTrust">
                    <IMembershipCondition
                    class="UrlMembershipCondition"
                    version="1"
                    Url="путь к библиотеке Microsoft.Samples.ReportingServices.CustomSecurity.dll"
    />
                  </CodeGroup>
    • Редактируем файл RSMgrPolicy.config из папки <install>\ReportManager, у CodeGroup для MyComputer свойство PermissionSetName делаем равным FullTrust
    • Редактируем файл Web.config из папки <install>\ReportServer. Заменяем конструкцию:
          <authentication mode="Windows" />
          <identity impersonate="true" />
      на
          <authentication mode="Forms" >
            <forms loginUrl="logon.aspx" name="sqlAuthCookie" timeout="60" path="/"></forms>
          </authentication>
          <authorization>
            <deny users="?" />
          </authorization>
          <identity impersonate="false" />
      
    • Редактируем файл Web.config из папки <install>\ReportManager. 
      • Меняем:
    <identity impersonate="true" />

    на

    <identity impersonate="false" />

    Настройка аутентификации должна остаться Windows

      • Также добавляем два параметра:

        <add key="ReportServer" value="имя сервера"/>
        <add key="ReportServerInstance" value="RS_MSSQLSERVER"/>

    Имя экземпляра SSRS может быть другм проще всего его выяснить выполнив следующую PowerShell команду:

    get-wmiobject -namespace "root\Microsoft\SqlServer\ReportServer" -class "__Namespace" | Select Name

    • Выполняем скрипт Createuserstore.SQL из папки C:\Program Files\Microsoft SQL Server\100\Samples\Reporting Services\Extension Samples\FormsAuthentication Sample\cs\FormsAuthentication
    • Все практически готово. Заходим браузером на Web Service URL вашего SSRS и видим следующую картину:

    image

    • Создаем нового юзера при помощи кнопки Register User. Он будет добавлен в таблицу Users созданной два шага назад базы данных. После этого нажимаем Logon И получаем сообщению, что у нашего юзера не хватает прав:

    image

    • Снова редактируем файл RSReportServer.config из папки <install>\ReportServer в ранее добавленном блоке меняем имя пользователя:
     <Extension Name="Forms" Type="Microsoft.Samples.ReportingServices.CustomSecurity.Authorization,
     Microsoft.Samples.ReportingServices.CustomSecurity" >
            <Configuration>
              <AdminConfiguration>
                <UserName>Имя пользователя</UserName>
              </AdminConfiguration>
            </Configuration>
          </Extension>
    
    • После этого перезапускаем сервис Reporting Services и обновляем страницу. Пользователь получает админский доступ к Reporting Services.

    Для того чтобы настроить права для других пользователей можно воспользоваться стандартным интерфейсом Report Manager’а (пользователей сначала нужно завести в базу аккаунтов). Связывание производится просто по имени.

    Запись в базе UserAccounts:

    image

    Настройка прав:

    image

     

    После этого можно отредактировать внешний вид страниц входа в систему (по крайней мере, убрать кнопку регистрации).

    Надіслане від kosinsky | 2 коментарів

    Презентации докладов по SQL Server 2008

    В августе и сентябре я много говорил о SQL Server 2008. Решил выложить презентации со всех мероприятий:

    • Антикризисные семинары для ИТ директоров и администраторов (Харьков, Днепропетровск, Донецк, Львов, Одесса)
    • Roadshow для партнеров (Харьков, Днепропетровск, Донецк, Львов, Одесса)
    • Семинары для разработчиков и системных интеграторов.

    Все лежит здесь.

    PS. Материалы первых двух мероприятий я уже выкладывал.

    Надіслане від kosinsky | 0 коментарів

    Материалы харьковского семинара по управлению инфраструктурой в условиях кризиса

    16 июля я выступал с докладами по SQL Server 2008 на Управління ІТ-інфраструктурою в умовах кризи в Харькове, а 17 июля на семинаре для партнеров.

    Материалы лежат на моем SkyDrive здесь.

    Я ссылался на свои Web-касты по BI, высокой доступности и репликации. Найти их можно здесь и здесь.

    Кстати мероприятия будут повторены в других городах (см. по ссылке выше).

    Надіслане від kosinsky | 1 коментарів
    Більше повідомлень Наступна сторінка »