SQL-Server 2016 Reporting Services: Branding

Wer Sharepoint (ab 2013) im Einsatz hat und dann das UI des SQL-Server 2016 Reporting Services (kurz: SSRS) sieht, dem wird eine gewisse Ähnlichkeit auffallen 😉

Nun wollte ich bei uns das SSRS optisch an unser Intranet anpassen.Hier die Links, mit denen ich das gelöst habe:

  1. https://www.mssqltips.com/sqlservertip/4567/sql-server-2016-reporting-services-custom-branding-example/
  2. http://www.victorrocca.com/report-server-2016-custom-branding/
  3. https://craigporteous.com/2016/05/ssrs-2016-brand-package-breakdown/
  4. https://www.qumio.com/Blog/Lists/Posts/Post.aspx?ID=39
  5. https://archive.codeplex.com/?p=ssrsbrandingfileeditor
  6. https://blogs.msdn.microsoft.com/sqlrsteamblog/2016/03/20/how-to-create-a-custom-brand-package-for-reporting-services-with-sql-server-2016/

Hier noch ein Hinweis:
Sollte man mit dem neu hochgeladenen Branding nicht zufrieden sein, kann man das Branding einfach wieder entfernen (gleich neben dem NAmen des aktuell verwendeten Brandings sind die Buttons!). Weil ich das übersehen hatte habe ich recht lange nach dem Link Nr. 6 gesucht! Dort sind ganz oben die originalen Branding-Files verlinkt!

Debian 9: Access to MS-SQL Server

Damit man von einem Debian-System, unter Verwendung von PHP7.0, auf einen Microsoft SQL-Server ( > SQL Server 2008!!) zugreifen kann sollte man diese beiden Anleitungen beachten:

Ganz am Schluss dann noch diesen Befehl und dann den Apache neustarten:

pecl install sqlsrv-5.2.0RC1

und schon sollte das funktionieren!!

Wichtiger Hinweis noch: Fall Ihr auf eine Datenbank in einer benannten Instanz zugreifen wollt müsst ihr den Server-Namen wie folgt zusammenstellen:

server.domain.tld\INSTANCENAME,1111

Wobei Ihr hier anstelle der „1111“ den richtigen Port der Instanz angeben müsst!!

 

 

SQL-Server: Performance-counters

Im Zuge der Spectre und Meltdown-Patch-Orgie stellte sich ja heraus, dass diese die Perfomance der Hardware belasten. Überall waren Zahlen zu den Leistungseinbußen zu lesen/hören im Bereich von 10-20%.

In einem Artikel fand ich dazu eine kurze Liste Windows-Performance-Counters, mit denen man da messen kann bzw. die Auslastung der Server im Auge behalten kann:

  • Processor(_Total)\% Processor Time
  • System\Processor Queue Length
  • PhysicalDisk(_Total)\Avg. Disk sec/Read
  • PhysicalDisk(_Total)\Avg. Disk sec/Write
  • SQLServer:Buffer Manager\Page life expectancy
  • SQLServer:SQL Statistics\Batch Requests/sec
  • SQLServer:SQL Statistics\SQL Compilations/sec
  • SQLServer:SQL Statistics\SQL Re-Compilations/sec

Wobei hier (wie für alle Messungen) gilt:
Wenn man die Bezugsgrößen nicht kennt, dann helfen die schönsten Auswertungen nichts!

Sprich: Wer die Auslastung seiner Rechner VOR der Änderung nicht kennt, kann auch keine Aussagen über die Änderungen treffen 😉

Source:

https://redmondmag.com/articles/2018/01/30/spectre-meltdown-sql-server-impact.aspx

WinSCP + Powershell: How to sync folders via SSH

Wenn man einen Ordner zwischen dem lokalen Rechner und einem SSH-Host online syncen möchte, dann kann man das auch recht schön automatisieren. Dazu kann man WinSCP verwenden. Ich habe das mit Powershell umgesetzt, aber man kann WinSCP auf mit C#, J-Script usw. „automatisieren“.

Hier ein paar Links, die mir geholfen haben:

Windows Server: DHCP – Create custom DHCP options

Wenn man einen DHCP Server konfigurieren muss kommt man manchmal in die Situation, dass man eigene DHCP-Options erstellen muss.Über die Kommandezeile geht das so:

netsh
dhcp server 

#übersicht über befehle:
show
add
del

# add a Vendor Class
add class "Vendor IP Phone" "Class for DHCP-Options for Vendor IP-Phones" Vendor 1
# to delete a vendor class: del class "Vendor IP Phone"

# add DHCP Options
add optiondef 3 "PBX Address" IPADDRESS 0 vendor="Vendor IP Phone"
add optiondef 4 "SIP Port PBX" WORD 0 vendor="Vendor IP Phone"
add optiondef 5 "SIP Port Phone" WORD 0 vendor="Vendor IP Phone"
add optiondef 7 "VLAN Prio" BYTE 0 vendor="Vendor IP Phone"
add optiondef 8 "VLAN ID/Enabled" WORD 0 vendor="Vendor IP Phone"
add optiondef 9 "VLAN PC Prio" BYTE 0 vendor="Vendor IP Phone"
add optiondef 10 "VLAN PC ID/Enabled" WORD 0 vendor="Vendor IP Phone"
add optiondef 11 "VLAN PC port Tags" BYTE 0 vendor="Vendor IP Phone"

# to delte an option: del optiondef 4 vendor="Aamadeus IP Phone"

Die Vendor-Class kann auch mit einem Dialog angelegt werden:
Im DHCP-Fenster: Eintrag „IPv4“ anklicken, dann im Menü „Action“ „Define Vendpr classes“.

Das geht auch mit Powershell (habe ich aber nicht getestet!): https://blogs.technet.microsoft.com/poshchap/2015/12/18/use-powershell-to-add-a-vendor-specific-class-to-windows-dhcp/

Sourcen:

Which CMS is used by a specific website?

Falls ihr mal feststellen wollt, mit welchem CMS System eine Website aufgebaut, gibt es diese praktische Seite:

https://builtwith.com

Diese Website erkennt ziemlich viele CMS recht zuverlässig. ich habe das getestet mit Webseiten die mit Joomla, WordPress, Plone, Drupal und Typo3 erstellt wurden. Bie meinen Tests wurde alle richtig erkannt!

Javascript: mark.js – JavaScript keyword highlighter

Ich hatte die Anforderung auf einer Sharepoint-Seite eine einfache Suche einzubauen. Nichts großartiges: Nur eine Möglichkeit auf einer einzelnen Seite nach Vorkommen von bestimmten Buchstabenkombinationen zu suchen. Nach kurzem googeln fand ich mark.js. Das ist ein kleines aber feines jQuery-Plugin, mit dem man die Fundstellen von Such-Texten hervorheben kann.Das ist einfach einzubauen und die Hervorhebung kann auch einfach via CSS konfiguriert werden!

Sourcen:

 

Sharepoint: Get the list GUID within workflow

Wie gelangt man in einem Workflow im Sharepoint-Designer zur GUID der aktuellen Liste oder Bibliothek?

  1. Use the „Extract substring from End of String“ Action to copy 108 characters from the end of the Workflow Context: Workflow Status URL (Output to Variable:WorkflowStatusURLWithListGUID)
  2. Use the „Extract substring from Start of String“ Action to copy 44 characters from start of the WorkflowStatusURLWithListGUID (Output to Variable:ListGUID)
  3. You can now use the Workflow Variable ListGUID within your custom actions or to construct dynamic strings where Current List GUID is required

Wozu könnte man das brauchen: Wenn man z.B. in einer Email für ein neues Element direkt auf der Genehmigungsformular verlinken möchte 😉

Source: http://ragavj.blogspot.co.at/2015/12/how-to-get-current-list-guid-within.html