Power BI Report Server: Power BI izveštaji bez clouda

Objavljeno 9 min čitanjaTim Lumium Technical Solutions

Firma ima jasno pravilo: podaci ne izlaze iz sopstvene mreže. Banka, proizvodnja, zdravstvo, svejedno. Uprava ipak želi Power BI izveštaje, a svi oko nje kažu da je Power BI „u cloudu“.

Nije samo tamo. Postoji Power BI Report Server, lokalna verzija koja radi na vašem serveru. Svi se sele u cloud, ali veliki deo velikih firmi zbog prirode posla i dalje sve drži kod sebe, iza intraneta. O lokalnoj verziji se piše malo, i to uglavnom površno. Ovaj tekst skuplja ono što treba znati pre odluke, sa linkovima na Microsoftovu dokumentaciju.

Šta je Power BI Report Server

To je server za izveštaje koji instalirate na Windows Server u svojoj mreži. Na njemu žive Power BI izveštaji (.pbix) i klasični paginirani izveštaji (.rdl), a korisnici ih otvaraju u pregledaču.

Izveštaji se prave u posebnoj verziji Power BI Desktopa, „optimizovanoj za Report Server“, koja se preuzima zajedno sa serverom. Nova izdanja izlaze tri puta godišnje, u januaru, maju i septembru (poređenje sa Power BI servisom).

Od SQL Servera 2025 Microsoft sve lokalno izveštavanje objedinjuje pod Power BI Report Server. Nove verzije SQL Server Reporting Services (SSRS) više neće izlaziti, a SSRS 2022 dobija bezbednosne zakrpe do 11. januara 2033 (FAQ o objedinjavanju).

Kako izgleda arhitektura

Osnovna postavka ima tri dela:

  1. Server za izveštaje. Windows Server 2019, 2022 ili 2025, na virtuelnoj ili fizičkoj mašini. Minimum je 1 GB memorije, preporuka najmanje 4 GB, i x64 procesor (zahtevi). U praksi memoriju određuju veličina modela i broj korisnika, pa za ozbiljniju upotrebu računajte na znatno više od minimuma.
  2. Baza ReportServer. U njoj su izveštaji, prava i rasporedi osvežavanja. Može da bude na istom serveru ili na posebnom SQL Serveru (od 2014 SP3 do 2025, ili Azure SQL Managed Instance).
  3. Izvori podataka. Vaše baze, fajlovi i sistemi, u istoj mreži.

Nekoliko detalja koji prave probleme ako se ne znaju unapred:

  • Ako je baza na drugom serveru, servis mora da radi pod domenskim nalogom ili nalogom sa pristupom mreži. Podržan je i gMSA nalog (instalacija).
  • Server sme da bude u okruženju sa domenskim kontrolerom samo za čitanje (RODC), ali mu za normalan rad treba pristup kontroleru koji dozvoljava upis.
  • Od majskog izdanja 2025 Power BI Desktop za Report Server traži procesor sa AVX instrukcijama. Na virtuelnim mašinama proverite da AVX nije isključen u podešavanjima hipervizora.

Licenciranje: odakle dolazi pravo na server

Ovo je najčešće pitanje i najčešće pogrešno shvaćeno. Report Server se ne kupuje kao zaseban proizvod. Pravo na njega dolazi uz nešto što firma verovatno već ima ili planira:

Osnov Gde je ključ Na šta paziti
SQL Server 2025 Standard ili Enterprise Isti ključ kao za SQL Server 2025 Nije potreban poseban ključ za Report Server
SQL Server 2022 i stariji, Enterprise sa Software Assurance Microsoft 365 admin centar (ili Visual Studio Subscriptions za pretplatu) Pravo važi samo dok traje Software Assurance
Power BI Premium (P kapacitet) Admin portal, kartica Premium settings Microsoft vodi kupce sa P na Fabric kapacitete
Microsoft Fabric rezervacija F64 ili veća Admin portal, kartica Capacity settings Važi uz rezervaciju kapaciteta, ne uz manje F kapacitete

Izvori: gde naći ključ, razlike između P i F kapaciteta.

Uz SQL Server licencu Report Server sme da radi na najviše onoliko jezgara koliko je SQL Server Standard ili Enterprise licenci za jezgra dodeljeno tom serveru, uz minimum od četiri licence po operativnom sistemu (fizičkom ili virtuelnom). Isti uslovi kažu i da je za objavljivanje deljenih Power BI izveštaja na serveru potrebna Power BI Pro licenca (Microsoft Product Terms za SQL Server).

Za testiranje postoje besplatna izdanja Developer i Evaluation, ali ključ za razvoj ne sme da se koristi u produkciji.

Ko šta vidi: AD ili lokalni nalozi

Prava se na serveru dodeljuju korisnicima i grupama, po folderima i izveštajima. Pitanje je samo odakle ti korisnici i grupe dolaze.

Prijava preko domena (AD)Zaposleniisti nalog kao za WindowsWindows prijava, Kerberos ili NTLMActive Directory grupeprava se dodeljuju grupamaPower BI Report ServerWindows Server, virtuelna ili fizička mašinaBaza ReportServerna SQL ServeruIzvori podatakaSQL, Oracle, ODBC...Lokalni nalozi na serveruKorisnici izveštajaposeban nalog samo za izveštajekorisničko ime i lozinkaLokalne grupe na serveruvan domena, bez jedinstvene prijavePower BI Report ServerWindows Server, virtuelna ili fizička mašinaBaza ReportServerna SQL ServeruIzvori podatakaSQL, Oracle, ODBC...
Dva načina da se uredi ko šta vidi. Levo: prijava preko domena, prava po AD grupama. Desno: posebni nalozi i grupe napravljeni na samom serveru, bez jedinstvene prijave. Server, baza i izvori su isti u oba slučaja.

Preko Active Directory-ja. Ovo je podrazumevani način. Zaposleni otvara izveštaj i prijavljen je svojim Windows nalogom, bez nove lozinke. Prava se dodeljuju AD grupama, pa kada neko promeni posao, dovoljno je da ga prebacite u drugu grupu. Server prvo pokušava Kerberos, a ako ne uspe, koristi NTLM (načini prijave). Kerberos vredi podesiti od početka: bez njega ne radi prosleđivanje identiteta korisnika do baze, koje je potrebno za bezbednost na nivou redova u DirectQuery izveštajima (izvori podataka).

Preko lokalnih naloga na serveru. Kada izveštaje treba da vide ljudi koji nemaju nalog u domenu, ili kada firma želi da korisnici izveštaja budu potpuno odvojeni od AD-a, nalozi i grupe se prave na samoj mašini na kojoj je server. Tada nema jedinstvene prijave: korisnik unosi posebno korisničko ime i lozinku. Ako uključite Basic prijavu, obavezno koristite HTTPS, jer se podaci za prijavu inače šalju bez zaštite.

U oba slučaja važi isto pravilo: prava dajte grupama, ne pojedincima. Lista od pet grupa se lako održava. Lista od dvesta pojedinačnih naloga ne.

Konektori: proverite pre nego što krenete

Power BI Desktop za Report Server može da se poveže na mnogo izvora, ali server ne može sve da osvežava. Microsoft vodi tabelu podržanih izvora sa tri kolone: keširani podaci, osvežavanje po rasporedu i živa veza (DirectQuery).

Tri pravila iz te tabele koja najčešće iznenade:

  • Svi izvori u jednom izveštaju moraju da podržavaju osvežavanje po rasporedu. Jedan nepodržan izvor i ceo izveštaj se ne osvežava sam.
  • Izvori kojih nema na listi rade samo sa podacima sačuvanim u fajlu. Nema osvežavanja po rasporedu ni žive veze.
  • OAuth prijava nije podržana ni za osvežavanje ni za DirectQuery. To isključuje mnoge cloud servise.

Uzmimo ClickHouse kao primer. Njegovog konektora nema u Microsoftovoj tabeli, pa izveštaj napravljen preko njega na serveru neće moći da se osvežava po rasporedu. ODBC je, međutim, na listi i podržava osvežavanje po rasporedu, uz prijavu korisničkim imenom i lozinkom ili Windows nalogom. Rešenje je da se ClickHouse ODBC drajver instalira na server za izveštaje i na računare gde se prave izveštaji, a da se u izveštaju koristi opšti ODBC konektor. Isto razmišljanje važi za svaki izvor koji nije na listi: prvo proverite tabelu, pa ODBC, pa tek onda planirajte izveštaje.

Dobra vest: gateway nije potreban. Server sam pristupa izvorima u vašoj mreži.

Šta postoji samo u cloudu

Lokalna verzija nema sve što ima Power BI servis. Prema Microsoftovom poređenju, na serveru nema dashboarda, Q&A pitanja, pretplata na Power BI izveštaje mejlom, upozorenja na podatke, kompozitnih modela, R i Python vizuala ni aplikacija za distribuciju izveštaja. Ako je neka od ovih funkcija ključna za vaš tim, to je jak argument za cloud ili za kombinaciju.

Rast: više servera i kasniji prelazak u cloud

Više servera. Kada jedan server više nije dovoljan, postavlja se više instanci koje dele istu bazu ReportServer, iza balansera opterećenja (scale-out). Sve instance moraju da budu iste verzije i da koriste isti ključ, a za Power BI izveštaje balanser mora da drži korisnika na istom serveru tokom sesije (client affinity, „sticky sessions“). Microsoft ima i vodič za planiranje kapaciteta.

Prelazak na novi server. Postupak za premeštanje instalacije na novi server opisan je u vodiču za migraciju. Ključ za šifrovanje napravite kao rezervnu kopiju odmah posle instalacije i čuvajte ga van servera.

Prelazak u cloud. Paginirani izveštaji (.rdl) prenose se alatom za migraciju u Power BI radni prostor, uz proveru nepodržanih izvora i elemenata. Power BI izveštaji se ponovo objavljuju iz Power BI Desktopa. Ako izveštaje od početka pravite na zajedničkim, dobro imenovanim izvorima, kasniji prelazak je mnogo lakši.

Savet iz prakse: držite Power BI Desktop za Report Server i sam server na istom izdanju i nadograđujte ih zajedno. Tako se izbegavaju fajlovi koje server ne ume da otvori.

Priprema za Microsoft audit licenci

Kada Microsoft ili partner zatraži proveru licenci, pitanje je jednostavno: koliko jezgara koristite i pod kojom licencom. Odgovor je težak ako se skuplja ručno, posle više godina promena na virtuelnim mašinama.

Bolje je da se podaci beleže sami, redovno. Za svaki server sa SQL Serverom ili Report Serverom zapišite: datum, ime servera, da li je virtuelna mašina, broj procesora i jezgara, izdanje i verziju SQL Servera i broj procesora koje SQL Server vidi. Kratka PowerShell skripta to upisuje u CSV:

# licence-export.ps1: jedan red po pokretanju, za istoriju promena
$cpu = Get-CimInstance Win32_Processor
$sys = Get-CimInstance Win32_ComputerSystem
$sql = Invoke-Sqlcmd -ServerInstance 'localhost' -TrustServerCertificate -Query @"
SELECT SERVERPROPERTY('Edition') AS Edition,
       SERVERPROPERTY('ProductVersion') AS Version,
       (SELECT cpu_count FROM sys.dm_os_sys_info) AS SqlCpuCount
"@
[pscustomobject]@{
  Date        = Get-Date -Format 'yyyy-MM-dd'
  Server      = $env:COMPUTERNAME
  Model       = $sys.Model
  Sockets     = @($cpu).Count
  Cores       = ($cpu | Measure-Object NumberOfCores -Sum).Sum
  Logical     = $sys.NumberOfLogicalProcessors
  SqlEdition  = $sql.Edition
  SqlVersion  = $sql.Version
  SqlCpuCount = $sql.SqlCpuCount
} | Export-Csv 'D:\audit\licence.csv' -Append -NoTypeInformation

Task Scheduler je pokreće, na primer, svakog ponedeljka ujutru:

$action  = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument '-NoProfile -File D:\audit\licence-export.ps1'
$trigger = New-ScheduledTaskTrigger -Weekly -DaysOfWeek Monday -At 6am
Register-ScheduledTask -TaskName 'Licence export' -Action $action -Trigger $trigger -User 'SYSTEM'

Za Invoke-Sqlcmd je potreban PowerShell modul SqlServer, a nalog pod kojim zadatak radi mora da ima pravo VIEW SERVER STATE na SQL Serveru. Na hostu virtuelizacije sačuvajte i konfiguraciju samih virtuelnih mašina (broj virtuelnih procesora po mašini), jer se licence računaju po virtuelnim jezgrima. Posle godinu dana imate istoriju koju samo predate, umesto da je rekonstruišete.

Redosled koraka

  1. Proverite osnov za licencu. Koju verziju i izdanje SQL Servera imate, da li je Software Assurance aktivan, ili imate Premium, odnosno Fabric F64 rezervaciju.
  2. Popišite izvore podataka i za svaki proverite Microsoftovu tabelu podržanih izvora. Za izvore kojih nema, isprobajte ODBC.
  3. Odlučite kako se dodeljuju prava: AD grupe ili lokalni nalozi. Ako idete preko AD-a, planirajte Kerberos.
  4. Postavite server na virtuelnoj ili fizičkoj mašini, prvo sa izdanjem Developer, i isprobajte najteži izveštaj.
  5. Napravite rezervnu kopiju ključa za šifrovanje i plan nadogradnje u januaru, maju i septembru.
  6. Uključite automatski izvoz podataka za audit od prvog dana.
  7. Prenesite izveštaje i dogovorite pravila: ko objavljuje, gde, i sa kojim imenima izvora.

Ako planirate lokalni Power BI ili već imate server koji ne radi kako treba, pogledajte uslugu Sistemska arhitektura. U portfoliju je projekat u kome je Power BI Report Server postavljen od dizajna do puštanja u rad. Možete nam i pisati sa opisom vašeg okruženja.

Česta pitanja

Da li Power BI Report Server može da radi bez interneta?
Može. Server, baza i izvori podataka su u vašoj mreži i za prikaz izveštaja nije potreban gateway ni veza ka Power BI servisu u cloudu.
Da li za Power BI Report Server treba posebna licenca za svakog korisnika?
Server se licencira po jezgrima, preko SQL Servera ili Power BI Premium, odnosno Fabric kapaciteta. Prema Microsoftovim uslovima, za objavljivanje deljenih Power BI izveštaja na serveru potrebna je Power BI Pro licenca.
Može li se kasnije preći u cloud?
Može. Za paginirane izveštaje (.rdl) Microsoft ima alat za migraciju u Power BI servis, a Power BI izveštaji se ponovo objavljuju iz Power BI Desktopa. Neke funkcije postoje samo u cloudu, pa prelazak vredi isplanirati.

Imate sličan izazov?

Opišite nam ga. Odgovor stiže mejlom, sa jasnim sledećim korakom.

Pišite nam
Svi tekstovi