{"id":10438,"date":"2020-10-07T13:07:13","date_gmt":"2020-10-07T11:07:13","guid":{"rendered":"https:\/\/www.derdack.com\/de\/?p=10438"},"modified":"2020-10-07T13:07:13","modified_gmt":"2020-10-07T11:07:13","slug":"alarmierung-sql-datenbank","status":"publish","type":"post","link":"https:\/\/www.derdack.com\/de\/alarmierung-sql-datenbank\/","title":{"rendered":"Alarmierung aus einer Datenbank (SQL, Powershell, REST API)"},"content":{"rendered":"<p>Im Zuge der voranschreitenden Digitalisierung von Produktions- und Verwaltungsprozessen h\u00e4ufen sich bei uns Anfragen zum Thema automatisierte Datenabfrage in Verbindung mit zielgerichteter Benachrichtigung von verantwortlichen in Produktion und Verwaltung.<\/p>\n<h2>Das Problem<\/h2>\n<p>Oft ist der erste Schritt im Digitalisierungsprozess diese Daten \u00fcberhaupt erst einmal zu erfassen. Dazu wird in vielen F\u00e4llen eines zentralen Repository in Form einer Datenbank realisiert. Der n\u00e4chste Schritt dann ist es diesen zur Verf\u00fcgung stehenden Datenschatz zu heben und auch zur Effizienzsteigerung einzusetzen. Wir erweitern an dieser Stelle ihre M\u00f6glichkeiten durch Enterprise Alerts ausgereiftes Alarmierungs- und Filterungssystem. In dem wir die zur Verf\u00fcgung stehenden Datens\u00e4tze auf bestimmte Schwellwerte und Schl\u00fcsselinformationen hin \u00fcberpr\u00fcfen und zielgerichtet an verantwortliche User eskalieren.<\/p>\n<h2>Unsere L\u00f6sung<\/h2>\n<p>In den Anwendungsfall der zu diesen Blog Post gef\u00fchrt hat geht es darum in regelm\u00e4\u00dfigen Intervallen Temperaturdaten verschiedener Sensoren aus einer SQL Tabelle abzurufen und, sollte ein bestimmter Wert \u00fcberschritten werden, eine entsprechende Benachrichtigung an ein Wartungsteam zu senden.<br \/>\nKern des L\u00f6sungsvorschlags ist ein simples PowerShell Skript das Daten aus einer Tabelle abfragt und die Resultate als REST Requests an Enterprise Alert weiterleitet. Dieses Skript wird \u00fcber den Task Scheduler in regelm\u00e4\u00dfigen Abst\u00e4nden ausgef\u00fchrt.<\/p>\n<ol>\n<li>Legen Sie ein neues Powershellscript mit dem unterstehenden Script Code an. Beachten sie dabei die Parameter f\u00fcr DB, REST Endpunkt und SQL query entsprechend anzupassen. Speichern sie es an einer f\u00fcr sie passenden Location in diesem Fall habe ich einfach C:\/Scripts gew\u00e4hlt.\n<pre>$sql = \"select sensor, location, temp from Datatable_furnace\";\r\n$sqlConnection = new-object System.Data.SqlClient.SqlConnection(\"Server=sqlserver;User ID=dbread;Password=pw2020;Database=EnterpriseAlert;Integrated Security=true\")\r\n$sqlConnection.open()\r\n$sqlCommand = $sqlConnection.CreateCommand()\r\n$sqlCommand.CommandText = $sql\r\n$DataSet = new-object System.Data.DataTable\r\n$Adapter = new-object System.Data.SqlClient.SqlDataAdapter($sqlCommand)\r\n$DataSet = New-Object System.Data.DataSet;\r\n$Adapter.Fill($DataSet)\r\n$dbConn.Close();\r\n$dbConn.Dispose();\r\n\r\n$MyResults = $DataSet.Tables[0];\r\n$MyResults | foreach-object {\r\n$sensor = $_.sensor;\r\n$location = $_.location;\r\n$temp = $_.temp;\r\n\r\n$request = Invoke-RestMethod \"&lt;REST_Endpunkt+APIKey&gt;\" -Method POST -ContentType \"application\/json\" -Body \"{'Sensor':'$sensor','Location':'$location','Temp':'$temp'}\"\r\n\r\nif ($request.response_type -eq 'error')\r\n{\r\n$request.error.extended_error_text;\r\n}\r\n}<\/pre>\n<\/li>\n<li>Nun legen Sie im Windows Taskscheduler einen neuen Task, konfigurieren sie ihn sodass er in dem von ihnen gew\u00fcnschten Intervall triggert und legen sie eine Action an in der sie Powershell wie untenstehend ansteuern und setzen sie die Argumente wie ebenfalls untenstehend beschrieben.<br \/>\n<a href=\"https:\/\/www.derdack.com\/de\/wp-content\/uploads\/sites\/5\/2020\/10\/Task_sql_general.png\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-10441\" src=\"https:\/\/www.derdack.com\/de\/wp-content\/uploads\/sites\/5\/2020\/10\/Task_sql_general-300x227.png\" alt=\"\" width=\"300\" height=\"227\" srcset=\"https:\/\/www.derdack.com\/de\/wp-content\/uploads\/sites\/5\/2020\/10\/Task_sql_general-300x227.png 300w, https:\/\/www.derdack.com\/de\/wp-content\/uploads\/sites\/5\/2020\/10\/Task_sql_general.png 632w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\n<a href=\"https:\/\/www.derdack.com\/de\/wp-content\/uploads\/sites\/5\/2020\/10\/Task_sql_trigger.png\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-10442\" src=\"https:\/\/www.derdack.com\/de\/wp-content\/uploads\/sites\/5\/2020\/10\/Task_sql_trigger-280x300.png\" alt=\"\" width=\"280\" height=\"300\" srcset=\"https:\/\/www.derdack.com\/de\/wp-content\/uploads\/sites\/5\/2020\/10\/Task_sql_trigger-280x300.png 280w, https:\/\/www.derdack.com\/de\/wp-content\/uploads\/sites\/5\/2020\/10\/Task_sql_trigger.png 631w\" sizes=\"(max-width: 280px) 100vw, 280px\" \/><\/a><a href=\"https:\/\/www.derdack.com\/de\/wp-content\/uploads\/sites\/5\/2020\/10\/Task_sql_action.png\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-10440\" src=\"https:\/\/www.derdack.com\/de\/wp-content\/uploads\/sites\/5\/2020\/10\/Task_sql_action-284x300.png\" alt=\"\" width=\"284\" height=\"300\" srcset=\"https:\/\/www.derdack.com\/de\/wp-content\/uploads\/sites\/5\/2020\/10\/Task_sql_action-284x300.png 284w, https:\/\/www.derdack.com\/de\/wp-content\/uploads\/sites\/5\/2020\/10\/Task_sql_action.png 630w\" sizes=\"(max-width: 284px) 100vw, 284px\" \/><\/a><\/p>\n<pre>C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe<\/pre>\n<pre>-ExecutionPolicy Bypass -File \"C:\\Scripts\\sql_request.ps1\"<\/pre>\n<\/li>\n<li>Sollte alles richtig konfiguriert sein werden sie nun in ihrer Enterprise Alert Installation neue REST Requests passend zu ihren Datenbankanfragen erhalten und k\u00f6nnen, basierend auf diesen Events nun Alarmierungsrichtlinien Konfigurieren.<\/li>\n<\/ol>\n<h2>Zusammenfassung<\/h2>\n<p>In diesem Blog beschreiben wir nur einen sehr einfachen Use Case. Es w\u00e4re auch denkbar hier \u00fcber einen Trigger in der SQL Datenbank eine Email mit bestimmt Informationen an Enterprise Alert zu senden um dort \u00e4hnlich wie in unseren <a href=\"https:\/\/www.derdack.com\/de\/alarm-alarmierung-microsoft-teams\/\">Teams<\/a> und <a href=\"https:\/\/www.derdack.com\/de\/alarm-alarmierung-slack\/\">Slack<\/a> Blogs eine Remote Action zu triggern die reaktiv wesentlich gezielter in der DB Informationen abfragt und in Enterprise Alert bereitstellt.<\/p>\n<p>Haben Sie schon einen Idee wie sie so etwas implementieren k\u00f6nnen? Sollten Sie Fragen haben, stehen wir Ihnen gern unter <a href=\"mailto:support@derdack.com\">support@derdack.com<\/a>\u00a0zur Verf\u00fcgung.<\/p>\n<div class=\"clearfix\"><\/div>","protected":false},"excerpt":{"rendered":"<p>Im Zuge der voranschreitenden Digitalisierung von Produktions- und Verwaltungsprozessen h\u00e4ufen sich bei uns Anfragen zum Thema automatisierte Datenabfrage in Verbindung mit zielgerichteter Benachrichtigung von verantwortlichen in Produktion und Verwaltung. Das Problem Oft ist der erste Schritt im Digitalisierungsprozess diese Daten \u00fcberhaupt erst einmal zu erfassen. Dazu wird in vielen F\u00e4llen eines zentralen Repository in Form<\/p>\n<p class=\"cv-read-more-button\"><a class=\"cv-button button is-standard color-accent has-icon icon-after\" href=\"https:\/\/www.derdack.com\/de\/alarmierung-sql-datenbank\/\">Continue Reading<i class=\"button-icon icon-right-open-big\"><\/i><\/a><\/p>\n","protected":false},"author":17,"featured_media":10466,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[561,563,1],"tags":[431,555,478],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Alarmierung aus einer Datenbank (SQL, Powershell, REST API)<\/title>\n<meta name=\"description\" content=\"Enterprise Alert hilft ihnen aus Ihrer Datenbank den richtigen Personen die richtigen Information zur richtigen Zeit zur Verf\u00fcgung zu stellen.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.derdack.com\/de\/alarmierung-sql-datenbank\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Alarmierung aus einer Datenbank (SQL, Powershell, REST API)\" \/>\n<meta property=\"og:description\" content=\"Enterprise Alert hilft ihnen aus Ihrer Datenbank den richtigen Personen die richtigen Information zur richtigen Zeit zur Verf\u00fcgung zu stellen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.derdack.com\/de\/alarmierung-sql-datenbank\/\" \/>\n<meta property=\"og:site_name\" content=\"Derdack DE\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/derdack?ref=ts\" \/>\n<meta property=\"article:published_time\" content=\"2020-10-07T11:07:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.derdack.com\/de\/wp-content\/uploads\/sites\/5\/2020\/10\/SQL_server1200x600.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary\" \/>\n<meta name=\"twitter:creator\" content=\"@derdack\" \/>\n<meta name=\"twitter:site\" content=\"@derdack\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"fabian\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.derdack.com\/de\/#website\",\"url\":\"https:\/\/www.derdack.com\/de\/\",\"name\":\"Derdack DE\",\"description\":\"Alarmierung und mobile St\u00f6rfallreaktion f\u00fcr kritische Systeme\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.derdack.com\/de\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"de-DE\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"de-DE\",\"@id\":\"https:\/\/www.derdack.com\/de\/alarmierung-sql-datenbank\/#primaryimage\",\"url\":\"https:\/\/www.derdack.com\/de\/wp-content\/uploads\/sites\/5\/2020\/10\/SQL_server1200x600.png\",\"contentUrl\":\"https:\/\/www.derdack.com\/de\/wp-content\/uploads\/sites\/5\/2020\/10\/SQL_server1200x600.png\",\"width\":1200,\"height\":600},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.derdack.com\/de\/alarmierung-sql-datenbank\/#webpage\",\"url\":\"https:\/\/www.derdack.com\/de\/alarmierung-sql-datenbank\/\",\"name\":\"Alarmierung aus einer Datenbank (SQL, Powershell, REST API)\",\"isPartOf\":{\"@id\":\"https:\/\/www.derdack.com\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.derdack.com\/de\/alarmierung-sql-datenbank\/#primaryimage\"},\"datePublished\":\"2020-10-07T11:07:13+00:00\",\"dateModified\":\"2020-10-07T11:07:13+00:00\",\"author\":{\"@id\":\"https:\/\/www.derdack.com\/de\/#\/schema\/person\/cac247fae94fcbafa6ddb31d03568119\"},\"description\":\"Enterprise Alert hilft ihnen aus Ihrer Datenbank den richtigen Personen die richtigen Information zur richtigen Zeit zur Verf\u00fcgung zu stellen.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.derdack.com\/de\/alarmierung-sql-datenbank\/#breadcrumb\"},\"inLanguage\":\"de-DE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.derdack.com\/de\/alarmierung-sql-datenbank\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.derdack.com\/de\/alarmierung-sql-datenbank\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.derdack.com\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Alarmierung aus einer Datenbank (SQL, Powershell, REST API)\"}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.derdack.com\/de\/#\/schema\/person\/cac247fae94fcbafa6ddb31d03568119\",\"name\":\"fabian\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de-DE\",\"@id\":\"https:\/\/www.derdack.com\/de\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d70f539561e07d12dd8a3706a186f5df?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d70f539561e07d12dd8a3706a186f5df?s=96&d=mm&r=g\",\"caption\":\"fabian\"},\"url\":\"https:\/\/www.derdack.com\/de\/author\/fabian\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Alarmierung aus einer Datenbank (SQL, Powershell, REST API)","description":"Enterprise Alert hilft ihnen aus Ihrer Datenbank den richtigen Personen die richtigen Information zur richtigen Zeit zur Verf\u00fcgung zu stellen.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.derdack.com\/de\/alarmierung-sql-datenbank\/","og_locale":"de_DE","og_type":"article","og_title":"Alarmierung aus einer Datenbank (SQL, Powershell, REST API)","og_description":"Enterprise Alert hilft ihnen aus Ihrer Datenbank den richtigen Personen die richtigen Information zur richtigen Zeit zur Verf\u00fcgung zu stellen.","og_url":"https:\/\/www.derdack.com\/de\/alarmierung-sql-datenbank\/","og_site_name":"Derdack DE","article_publisher":"https:\/\/www.facebook.com\/derdack?ref=ts","article_published_time":"2020-10-07T11:07:13+00:00","og_image":[{"width":1200,"height":600,"url":"https:\/\/www.derdack.com\/de\/wp-content\/uploads\/sites\/5\/2020\/10\/SQL_server1200x600.png","type":"image\/png"}],"twitter_card":"summary","twitter_creator":"@derdack","twitter_site":"@derdack","twitter_misc":{"Verfasst von":"fabian","Gesch\u00e4tzte Lesezeit":"3 Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/www.derdack.com\/de\/#website","url":"https:\/\/www.derdack.com\/de\/","name":"Derdack DE","description":"Alarmierung und mobile St\u00f6rfallreaktion f\u00fcr kritische Systeme","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.derdack.com\/de\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"de-DE"},{"@type":"ImageObject","inLanguage":"de-DE","@id":"https:\/\/www.derdack.com\/de\/alarmierung-sql-datenbank\/#primaryimage","url":"https:\/\/www.derdack.com\/de\/wp-content\/uploads\/sites\/5\/2020\/10\/SQL_server1200x600.png","contentUrl":"https:\/\/www.derdack.com\/de\/wp-content\/uploads\/sites\/5\/2020\/10\/SQL_server1200x600.png","width":1200,"height":600},{"@type":"WebPage","@id":"https:\/\/www.derdack.com\/de\/alarmierung-sql-datenbank\/#webpage","url":"https:\/\/www.derdack.com\/de\/alarmierung-sql-datenbank\/","name":"Alarmierung aus einer Datenbank (SQL, Powershell, REST API)","isPartOf":{"@id":"https:\/\/www.derdack.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.derdack.com\/de\/alarmierung-sql-datenbank\/#primaryimage"},"datePublished":"2020-10-07T11:07:13+00:00","dateModified":"2020-10-07T11:07:13+00:00","author":{"@id":"https:\/\/www.derdack.com\/de\/#\/schema\/person\/cac247fae94fcbafa6ddb31d03568119"},"description":"Enterprise Alert hilft ihnen aus Ihrer Datenbank den richtigen Personen die richtigen Information zur richtigen Zeit zur Verf\u00fcgung zu stellen.","breadcrumb":{"@id":"https:\/\/www.derdack.com\/de\/alarmierung-sql-datenbank\/#breadcrumb"},"inLanguage":"de-DE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.derdack.com\/de\/alarmierung-sql-datenbank\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.derdack.com\/de\/alarmierung-sql-datenbank\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.derdack.com\/de\/"},{"@type":"ListItem","position":2,"name":"Alarmierung aus einer Datenbank (SQL, Powershell, REST API)"}]},{"@type":"Person","@id":"https:\/\/www.derdack.com\/de\/#\/schema\/person\/cac247fae94fcbafa6ddb31d03568119","name":"fabian","image":{"@type":"ImageObject","inLanguage":"de-DE","@id":"https:\/\/www.derdack.com\/de\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d70f539561e07d12dd8a3706a186f5df?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d70f539561e07d12dd8a3706a186f5df?s=96&d=mm&r=g","caption":"fabian"},"url":"https:\/\/www.derdack.com\/de\/author\/fabian\/"}]}},"_links":{"self":[{"href":"https:\/\/www.derdack.com\/de\/wp-json\/wp\/v2\/posts\/10438"}],"collection":[{"href":"https:\/\/www.derdack.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.derdack.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.derdack.com\/de\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/www.derdack.com\/de\/wp-json\/wp\/v2\/comments?post=10438"}],"version-history":[{"count":10,"href":"https:\/\/www.derdack.com\/de\/wp-json\/wp\/v2\/posts\/10438\/revisions"}],"predecessor-version":[{"id":10455,"href":"https:\/\/www.derdack.com\/de\/wp-json\/wp\/v2\/posts\/10438\/revisions\/10455"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.derdack.com\/de\/wp-json\/wp\/v2\/media\/10466"}],"wp:attachment":[{"href":"https:\/\/www.derdack.com\/de\/wp-json\/wp\/v2\/media?parent=10438"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.derdack.com\/de\/wp-json\/wp\/v2\/categories?post=10438"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.derdack.com\/de\/wp-json\/wp\/v2\/tags?post=10438"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}