Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Автоматизиране на обработката на табличен модел на бази данни на услугите за анализ (SSAS) в SQL Server

Тази статия говори за автоматизиране на обработката на базата данни на Analysis Services в SQL Server. Автоматизацията е една от най-важните задачи, управлявани от администратори на бази данни или DevOps инженери.

Освен това ще получим общ преглед на базите данни на Analysis Services и как те се различават от базите данни на SQL Server.

Тази статия също така подчертава значението на автоматизирането на задачите в SQL Server за минимизиране на грешките и увеличаване на производителността, особено при работа със сложни сценарии, като решения за бизнес разузнаване на хранилища за данни.

Относно бази данни на Analysis Services

Нека да разгледаме базите данни на Analysis Services, за да можем да разберем значението на автоматизирането на тяхната обработка в контекста на решенията за бизнес разузнаване на хранилища за данни и сложни сценарии за анализ на данни.

Какво е база данни на Analysis Services?

Базата данни на Analysis Services е силно оптимизирана база данни за анализ и отчитане, която често се подготвя и актуализира като част от решенията за бизнес разузнаване на складовете за данни.

Как базите данни на Analysis Services са различни от базите данни на SQL Server

Базата данни на Analysis Services е различна от базата данни на SQL Server, тъй като работи на различен език (DAX/MDX) и предлага много вградени функции за бизнес разузнаване за анализ и отчитане, заедно с функции като извличане на данни и разузнаване на времето.

Колко вида бази данни за услуги за анализ има

Двата основни типа бази данни на Analysis Services са както следва:

  1. Многоизмерен режим (Куб)
  2. Табличен режим (модел на данни)

Така че базата данни на Analysis Services е или внедрен куб, или внедрен модел на данни. Но и в двете форми той обслужва заявки, вариращи от прости до сложни сценарии за анализ на данни и позволява да се изграждат отчети върху него.

Какво представляват SQL Server Analysis Services (SSAS)

SQL Server Analysis Services, известен също като SSAS, е сървърен екземпляр на Microsoft, който позволява хостване на бази данни на Analysis Services.

Какво е база данни на Analysis Services в склад за данни

База данни за услуги за анализ в контекста на хранилище за данни често е краен продукт, който може да бъде изложен на бизнес потребителите за отчитане на самообслужване и анализ в реално време.

С прости думи, след като данните, подложени на различни трансформации и етапи на склад за данни, достигнат базата данни на Analysis Services, те се считат за готови за анализ и отчитане.

Какво означава обработка на база данни на Analysis Services?

Обработването на база данни на Analysis Services означава проверка на източниците за нови данни, зареждането им в базата данни. Базите данни на Analysis Services трябва да се актуализират с времето, тъй като източникът(ите), от който те извличат данни, често получава нови данни.

Защо трябва да автоматизираме обработката на бази данни на Analysis Services

Следващият важен въпрос, който човек може да зададе, е следният:защо трябва да автоматизираме обработката на база данни на Analysis Services, ако можем лесно да я стартираме ръчно?

Простият отговор е, че трябва да гарантираме, че базата данни на Analysis Services е актуална без ръчна намеса, като по този начин спестяваме време и усилия – особено в контекста на решение за бизнес разузнаване на хранилище на данни, когато проектът е разположен на жив сървър.

Автоматизиране на обработката на базата данни на Analysis Services

Сега нека преминем през основните стъпки за автоматизиране на обработката на база данни на Azure Analysis Services.

Предварителни условия

Тази статия предполага, че читателите са запознати с основните концепции за решенията за бизнес разузнаване на хранилища за данни, включително разполагане на модели на данни на SQL Analysis сървър или Azure Analysis Services.

Тъй като създаването и управлението на SQL бази данни и проекти за услуги за анализ обикновено е работа на разработчиците, ние ще бъдем фокусирани върху обработката и автоматизацията на обработката на бази данни на Analysis Services или SSAS бази данни от гледна точка на DBA или DevOps инженер.

Тази статия предполага следното:

  1. Примерна база данни, наречена SQLDevBlogV5 източникът вече е настроен
  2. Табличен модел на данни, използващ проект на Analysis Services, вече е създаден
  3. База данни на Analysis Services, наречена SQLDevBlogTabularProject въз основа на табличния модел вече е внедрен

Моля, имайте предвид, че изходната база данни и базата данни на Analysis Services, споменати по-горе, са само за справочни цели, така че можете да промените тези имена според вашите изисквания.

Вече можете да преминете директно към следващото заглавие. Въпреки това, ако искате да покриете както перспективата на разработчика, така и DBA, можете да изпълните гореспоменатите стъпки, като използвате следната примерна база данни:

-- Create the sample database (SQLDevBlogV5)
CREATE DATABASE SQLDevBlogV5;
GO


USE SQLDevBlogV5;

-- (1) Create the Article table in the sample database
CREATE TABLE Article (
  ArticleId INT PRIMARY KEY IDENTITY (1, 1)
 ,Category	VARCHAR(50)
 ,Author VARCHAR(50)
 ,Title VARCHAR(150)
 ,Published DATETIME2
 ,Notes VARCHAR(400)  
)

GO

-- (2) Populating the Article table
SET IDENTITY_INSERT [dbo].[Article] ON
INSERT INTO [dbo].[Article] ([ArticleId], [Category], [Author], [Title], [Published], [Notes]) VALUES (1, N'Development', N'Atif', N'Introduction to SQL Server Analysis Services (SSAS)', N'2019-01-01 00:00:00', NULL)
INSERT INTO [dbo].[Article] ([ArticleId], [Category], [Author], [Title], [Published], [Notes]) VALUES (2, N'Testing', N'Peter', N'Processing SSAS database', N'2019-01-10 00:00:00', NULL)
INSERT INTO [dbo].[Article] ([ArticleId], [Category], [Author], [Title], [Published], [Notes]) VALUES (3, N'DLM', N'Sadaf', N'Automating Analysis Services Database Processing', N'2019-01-20 00:00:00', NULL)
SET IDENTITY_INSERT [dbo].[Article] OFF

След това създайте нова Услуги за анализ табличен проект, импортирайте източника на данни в модела и разгръщайте модела на SSAS сървъра:

Ниво на съвместимост

В този пример използваме SQL Server 2014 / SQL Server 2012 SP1 (1103) ниво на съвместимост за модела на данни. Въпреки това, можете да посочите различно ниво на съвместимост според вашите изисквания.

Свържете се с услугите за анализ

Отворете SSMS (SQL Server Management Studio) и се свържете със сървър за анализ, като въведете вашите идентификационни данни:

Отидете на база данни на Analysis Services (разгърната)

След като връзката бъде установена, разгънете Бази данни възел в Object Explorer и след това разширете разгърнатия възел на базата данни на Analysis Services, като щракнете върху плюс икона до него:

Обработете базата данни на Analysis Services

Щракнете с десния бутон върху базата данни на Analysis Services и щракнете върху Обработка на база данни:

Запазете режима на обработка по подразбиране и щракнете върху OK :

Базата данни на Analysis Services беше успешно обработена:

Напишете скрипт за обработка на базата данни

След това трябва да получим скрипта, който се използва за обработка на базата данни на Analysis Services.

Един от начините за автоматизиране на обработката на база данни на Analysis Services е да напишете задачата, която извършва обработката, и да я стартирате като SQL задача (стъпка) в SQL Server.

Щракнете върху Обработка на база данни отново, но не натискайте OK този път.

В Скрипт падащо меню в горната лява част на прозореца, щракнете върху Действие на скрипт към нов прозорец за заявка както е показано по-долу:

Скриптът за обработка ще бъде отворен в нов прозорец, наречен XMLA прозорец за заявка :

Изпълнете скрипта Process Database

Натиснете F5, за да стартирате XMLA скрипта, който започва да обработва базата данни на Analysis Services:

Проверка на агент на SQL Server

Сега се свържете с базата данни на SQL сървъра и се уверете, че агентът на SQL Server работи.

Настройте достъпа на агент на SQL Server

Друго важно нещо е да се уверите, че акаунтът, който изпълнява агента на SQL Server, има достъп до базата данни на Analysis Services.

В нашия случай акаунтът NT Service\SQLAgent работи с агент на SQL Server – това означава, че този акаунт трябва да има разрешения за обработка на базата данни на Analysis Services.

Свържете се с табличния екземпляр на Analysis Services и отидете до желаната база данни на Analysis Services. След това създайте нова роля Database Runner като добавите NT Service\SQLAgent акаунт и му давате Процесната база данни разрешение:

Моля, имайте предвид, че един от стандартните начини за постигане на това е да създадете прокси и да съпоставите идентификационните данни с този прокси. Подробностите за този процес обаче са извън обхвата на тази статия.

Копирайте XMLA скрипт за обработка на базата данни

Копирайте XMLA скрипта от SQL Analysis Services XMLA Query Window, който използвахме за обработка на базата данни на Analysis Services.

Създаване на стъпка за работа

Върнете се към SQL Server Agent и създайте нова стъпка за работа като Process Analysis Services Database SQLDevBlogV5.

Създайте нова стъпка, като предоставите следната информация и щракнете върху OK :

Моля, не забравяйте, че трябва да въведете името на вашия сървър и база данни и след това да поставите скрипта, който сте копирали от XMLA Query Editor.

Започнете работата

Щракнете с десния бутон върху заданието и щракнете върху Стартиране на задачата в стъпка...

Стъпката на заданието ще се изпълнява успешно, както е показано по-долу:

Насрочете заданието за автоматизиране на обработката

След това насрочете заданието, за да автоматизирате обработката на вашата база данни на Analysis Services.

Честито! Успешно сте автоматизирали обработката на база данни на Analysis Services, спестявайки времето и усилията, изразходвани от DBA или инженер на DevOps за обработка на базата данни всеки път, когато данните трябва да бъдат актуализирани от източника.

Неща за правене

Сега, когато можете да автоматизирате обработката на база данни на Analysis Services, моля, опитайте следните неща, за да подобрите допълнително уменията си:

  1. Планирайте задачата за обработка на база данни на Analysis Services, спомената в тази статия, за да се изпълнява ежедневно и с времето добавяйте повече данни към извадката
  2. Внедрете цялостното решение, като направите следните неща:
    1. Настройте примерна база данни
    2. Създайте табличен модел на данни
    3. Импортирайте примерна база данни в табличния модел на данни
    4. Разгръщане на табличния модел на данни, за да създадете база данни на Analysis Services
    5. Автоматизирайте обработката на базата данни на Analysis Services с помощта на SQL агент
  3. Свържете се с базата данни на Analysis Services чрез Excel, за да видите данните, след като базата данни на Analysis Services се актуализира автоматично с помощта на SQL заданието

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Топ 10 често задавани въпроси относно мониторинга на производителността на SQL Server

  2. Как да проверя дали съществува колона в таблица на SQL Server?

  3. Индекс на SQL Server Обратно сканиране:разбиране, настройка

  4. CTE безкраен цикъл с ОПЦИЯ (макс. рекурсия 0)

  5. Как да намеря съхранена процедура, съдържаща <текст>?