{"id":419254,"date":"2025-02-03T09:01:02","date_gmt":"2025-02-03T09:01:02","guid":{"rendered":"https:\/\/www.ninjaone.com\/?post_type=script_hub&#038;p=419254"},"modified":"2025-02-03T09:01:02","modified_gmt":"2025-02-03T09:01:02","slug":"ueberwachung-vom-sql-server-zustand-powershell","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/de\/script-hub\/ueberwachung-vom-sql-server-zustand-powershell\/","title":{"rendered":"PowerShell-Skript f\u00fcr eine effektive SQL Server-Zustands\u00fcberwachung"},"content":{"rendered":"<h2>Die wichtigsten Erkenntnisse<\/h2>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\">PowerShell-Skripte rationalisieren die \u00dcberwachung vom SQL Server-Zustand und verbessern Genauigkeit und betriebliche Effizienz.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\">Anpassbare Parameter im Skript erm\u00f6glichen eine personalisierte \u00dcberwachung von Datenbankdiensten, Speicherplatz und Latenz.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\">Durch die automatische \u00dcberwachung wird das Risiko von Serverausfallzeiten und Leistungsproblemen verringert.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"4\" data-aria-level=\"1\">Das Skript pr\u00fcft, ob Sie \u00fcber Administratorrechte verf\u00fcgen, die f\u00fcr den Zugriff auf Systeminformationen und die Durchf\u00fchrung bestimmter Vorg\u00e4nge erforderlich sind.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"5\" data-aria-level=\"1\">Die Echtzeit-\u00dcberwachungsfunktionen des Skripts sind entscheidend f\u00fcr die Aufrechterhaltung des Zustands der Datenbank und die Vermeidung von Datenverlusten.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"6\" data-aria-level=\"1\">Das Skript ist anpassbar an verschiedene SQL Server-Versionen, was es zu einem vielseitigen Tool f\u00fcr unterschiedliche IT-Umgebungen macht.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"7\" data-aria-level=\"1\">Die Integration dieses Skripts in umfassende IT-Management-Plattformen wie NinjaOne bietet eine robuste \u00dcberwachungsl\u00f6sung.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"8\" data-aria-level=\"1\">Um die Effektivit\u00e4t des Skripts zu maximieren, werden regelm\u00e4\u00dfige Updates und Mitarbeiterschulungen in PowerShell empfohlen.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"9\" data-aria-level=\"1\">Die proaktive \u00dcberwachung und Wartung von SQL-Servern ist f\u00fcr die Gew\u00e4hrleistung einer hohen Verf\u00fcgbarkeit und Datenintegrit\u00e4t in modernen Gesch\u00e4ftsumgebungen unerl\u00e4sslich.<\/li>\n<\/ul>\n<h2>Kontext<\/h2>\n<p>Die Sicherstellung des Zustands und der Leistung von <a href=\"https:\/\/www.ninjaone.com\/de\/blog\/wie-sichere-und-wiederherstellen-einer-sql-server-datenbank\/\">SQL Server-Datenbanken<\/a> ist f\u00fcr Unternehmen essenziell, um Kontinuit\u00e4t und Effizienz aufrechtzuerhalten. Angesichts der zunehmenden Abh\u00e4ngigkeit von datengesteuerten Entscheidungen wird IT-Expert:innen h\u00e4ufig die wichtige Aufgabe \u00fcbertragen, diese Systeme zu \u00fcberwachen und zu verwalten. Der Einsatz von PowerShell-Skripten zu diesem Zweck optimiert den Prozess und erh\u00f6ht sowohl die Genauigkeit als auch die Effizienz.<\/p>\n<p>Das mitgelieferte PowerShell-Skript ist ein wertvolles Tool f\u00fcr IT-Administrator:innen und <a href=\"https:\/\/www.ninjaone.com\/de\/was-ist-ein-msp\/\">Managed Service Provider (MSPs)<\/a>. Es konzentriert sich auf die \u00dcberwachung von drei Schl\u00fcsselaspekten des SQL Server-Status: Status der Datenbankdienste, Verf\u00fcgbarkeit von Festplattenplatz und Festplattenlatenz. Eine solche \u00dcberwachung ist unerl\u00e4sslich, da sie dazu beitr\u00e4gt, Datenverluste zu verhindern, eine hohe Verf\u00fcgbarkeit zu gew\u00e4hrleisten und die optimale Leistung des SQL Servers aufrechtzuerhalten.<\/p>\n<h2>Das Skript zur \u00dcberwachung vom SQL Server-Zustand<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\">#Requires -Version 5.1\r\n\r\n&lt;#\r\n.SYNOPSIS\r\n    Monitors the database services, database's drive free space, and database's disk latency.\r\n.DESCRIPTION\r\n    Monitors the database services, database's drive free space, and database's disk latency.\r\n\r\n    Exit code of 1 means there is a problem.\r\n\r\n    Will not detect LocalDB uses of SQL Express\r\n\r\n.EXAMPLE\r\n    (No Parameters)\r\n    ## EXAMPLE OUTPUT WITHOUT PARAMS ##\r\n    SQL Server's services are running.\r\n    SQL Server's disk latency is below threshold.\r\n    SQL Server's disk free space is above threshold.\r\n\r\nPARAMETER: -RequireAgentService\r\n    Checks if the SQL Agent service is running or not.\r\n.EXAMPLE\r\n    -RequireAgentService\r\n    ## EXAMPLE OUTPUT WITH RequireAgentService ##\r\n    SQL Server's services are running.\r\n    SQL Server's disk latency is below threshold.\r\n    SQL Server's disk free space is above threshold.\r\n\r\n\r\nPARAMETER: -DiskSpaceThreshold 50\r\n    The percentage of free space where the database is stored must have free. 0-100\r\n.EXAMPLE\r\n    -DiskSpaceThreshold 50\r\n    ## EXAMPLE OUTPUT WITH DiskSpeedThreshold ##\r\n    [MSSQLSERVER] C: is under the threshold(50%) at 20%\r\n\r\nPARAMETER: -DiskSpeedThreshold 40\r\n    A brief explanation of the parameter.\r\n.EXAMPLE\r\n    -DiskSpeedThreshold 40\r\n    ## EXAMPLE OUTPUT WITH DiskSpeedThreshold ##\r\n    [MSSQLSERVER] Disk Read\/Write latency is over 0 ms.\r\n    Path                                           InstanceName          CookedValue\r\n    ----                                           ------------          -----------\r\n    \\\\test01\\logicaldisk(c:)\\disk reads\/sec      c:               42.89807648928576\r\n    \\\\test01\\logicaldisk(c:)\\disk writes\/sec     c:                49.484308202068\r\n.OUTPUTS\r\n    None\r\n.NOTES\r\n    Minimum OS Architecture Supported: Windows 10, Windows Server 2016\r\n    Release Notes: Renamed script and added Script Variable support\r\nBy using this script, you indicate your acceptance of the following legal terms as well as our Terms of Use at https:\/\/www.ninjaone.com\/terms-of-use.\r\n    Ownership Rights: NinjaOne owns and will continue to own all right, title, and interest in and to the script (including the copyright). NinjaOne is giving you a limited license to use the script in accordance with these legal terms. \r\n    Use Limitation: You may only use the script for your legitimate personal or internal business purposes, and you may not share the script with another party. \r\n    Republication Prohibition: Under no circumstances are you permitted to re-publish the script in any script library or website belonging to or under the control of any other software provider. \r\n    Warranty Disclaimer: The script is provided \u201cas is\u201d and \u201cas available\u201d, without warranty of any kind. NinjaOne makes no promise or guarantee that the script will be free from defects or that it will meet your specific needs or expectations. \r\n    Assumption of Risk: Your use of the script is at your own risk. You acknowledge that there are certain inherent risks in using the script, and you understand and assume each of those risks. \r\n    Waiver and Release: You will not hold NinjaOne responsible for any adverse or unintended consequences resulting from your use of the script, and you waive any legal or equitable rights or remedies you may have against NinjaOne relating to your use of the script. \r\n    EULA: If you are a NinjaOne customer, your use of the script is subject to the End User License Agreement applicable to you (EULA).\r\n#&gt;\r\n\r\n[CmdletBinding()]\r\nparam (\r\n    [Parameter()]\r\n    # Expects number in percentage with out the %\r\n    # Default is 10 %\r\n    [int]$DiskSpaceThreshold = 10,\r\n    [Parameter()]\r\n    # Expects number in milliseconds(ms)\r\n    # Default is 50 ms\r\n    [int]$DiskSpeedThreshold = 50,\r\n    [switch]$RequireAgentService = [System.Convert]::ToBoolean($env:requireAgentService)\r\n)\r\n\r\nbegin {\r\n    function Test-IsElevated {\r\n        $id = [System.Security.Principal.WindowsIdentity]::GetCurrent()\r\n        $p = New-Object System.Security.Principal.WindowsPrincipal($id)\r\n        $p.IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator)\r\n    }\r\n\r\n    if ($env:DiskSpaceThreshold) {\r\n        $DiskSpaceThreshold = $env:DiskSpaceThreshold\r\n    }\r\n    if ($env:DiskSpeedThreshold) {\r\n        $DiskSpeedThreshold = $env:DiskSpeedThreshold\r\n    }\r\n\r\n    Function Get-DefaultDBLocation {\r\n        Param ([string] $vInstance)\r\n        # Get the registry key associated with the Instance Name\r\n        $vRegInst = (Get-ItemProperty -Path HKLM:\"SOFTWARE\\Microsoft\\Microsoft SQL Server\\Instance Names\\SQL\" -ErrorAction SilentlyContinue).$vInstance\r\n        $vRegPath = \"SOFTWARE\\Microsoft\\Microsoft SQL Server\\\" + $vRegInst + \"\\MSSQLServer\"\r\n        # Get the Data and Log file paths if available\r\n        $vDataPath = (Get-ItemProperty -Path HKLM:$vRegPath -ErrorAction SilentlyContinue).DefaultData\r\n        $vLogPath = (Get-ItemProperty -Path HKLM:$vRegPath -ErrorAction SilentlyContinue).DefaultLog\r\n        # Report the entries found\r\n        $Locations = [PSCustomObject]@{\r\n            Data = \"\"\r\n            Log  = \"\"\r\n        }\r\n        if ($vDataPath.Length -lt 1) {\r\n            $vRegPath = \"SOFTWARE\\Microsoft\\Microsoft SQL Server\\\" + $vRegInst + \"\\Setup\"\r\n            $vDataPath = (Get-ItemProperty -Path HKLM:$vRegPath -ErrorAction SilentlyContinue).SQLDataRoot + \"\\Data\\\"\r\n            $Locations.Data = $vDataPath\r\n        }\r\n        else {\r\n            $Locations.Data = $vDataPath\r\n        }\r\n        if ($vLogPath.Length -lt 1) {\r\n            $vRegPath = \"SOFTWARE\\Microsoft\\Microsoft SQL Server\\\" + $vRegInst + \"\\Setup\"\r\n            $vDataPath = (Get-ItemProperty -Path HKLM:$vRegPath -ErrorAction SilentlyContinue).SQLDataRoot + \"\\Data\\\"\r\n            $Locations.Log = $vDataPath\r\n        }\r\n        else {\r\n            $Locations.Log = $vDataPath\r\n        }\r\n        $Locations\r\n    }\r\n    function Get-DiskCounters {\r\n        param ($Drive)\r\n        $Counters = @(\r\n            \"\\LogicalDisk($Drive*)\\Avg. Disk sec\/Read\"\r\n            \"\\LogicalDisk($Drive*)\\Avg. Disk sec\/Write\"\r\n            \"\\LogicalDisk($Drive*)\\Disk Reads\/sec\"\r\n            \"\\LogicalDisk($Drive*)\\Disk Writes\/sec\"\r\n        )\r\n        $CounterData = Get-Counter -Counter $Counters -MaxSamples 1 -SampleInterval 10 | Select-Object -ExpandProperty CounterSamples\r\n\r\n        $CounterData | Where-Object { $_.CookedValue -gt $DiskSpeedThreshold } | Write-Output\r\n    }\r\n    function Get-DiskFreePercentage {\r\n        param ($Drive)\r\n        $TotalSize = Get-Partition | Where-Object { $_.DriveLetter -like $Drive } | Select-Object -ExpandProperty Size\r\n        $Free = Get-PSDrive -Name $Drive | Select-Object -ExpandProperty Free\r\n        try {\r\n            $Free \/ $TotalSize * 100\r\n        }\r\n        catch {\r\n            0\r\n        }\r\n    }\r\n    $script:HasErrors = $false\r\n}\r\nprocess {\r\n    Write-Host\r\n    if (-not (Test-IsElevated)) {\r\n        Write-Error -Message \"Access Denied. Please run with Administrator privileges.\"\r\n        exit 1\r\n    }\r\n    $Services = Get-Service | Where-Object { $_.DisplayName -like \"SQL Server*\" }\r\n    $SqlDbServices = $Services | Where-Object { $_.DisplayName -like \"SQL Server (*\" } | Select-Object -ExpandProperty DisplayName\r\n    $SqlDbNames = $SqlDbServices | ForEach-Object {\r\n        \"$_\" -split '\\(' -replace '\\)' | Select-Object -Last 1\r\n    }\r\n\r\n    # Get all MS SQL Databases\r\n    $Databases = $SqlDbNames | ForEach-Object {\r\n        $DbName = $_\r\n        $DbLocations = Get-DefaultDBLocation -vInstance $DbName\r\n        [PSCustomObject]@{\r\n            Name            = $DbName\r\n            DatabaseService = $Services | Where-Object { $_.DisplayName -like \"SQL Server ($DbName)\" }\r\n            AgentService    = $Services | Where-Object { $_.DisplayName -like \"*Agent *$DbName*\" }\r\n            DataPath        = $DbLocations.Data\r\n            LogPath         = $DbLocations.Log\r\n        }\r\n    }\r\n\r\n    $Databases | ForEach-Object {\r\n        $Database = $_\r\n        $DatabaseService = $Database.DatabaseService\r\n        $AgentService = $Database.AgentService\r\n        $DatabaseName = $Database.Name\r\n        $Drive = $Database.DataPath -split ':\\\\' | Select-Object -First 1\r\n\r\n        # Check service status\r\n        if ($DatabaseService.Status -notlike \"Running\") {\r\n            Write-Host \"[$DatabaseName] Database Service is not running.\"\r\n            $script:HasErrors = $true\r\n        }\r\n        if ($AgentService.Status -notlike \"Running\") {\r\n            Write-Host \"[$DatabaseName] Database Agent Service is not running.\"\r\n            if ($RequireAgentService) {\r\n                $script:HasErrors = $true\r\n            }\r\n        }\r\n\r\n        # Get disk free space percentage\r\n        $FreePercent = Get-DiskFreePercentage -Drive $Drive\r\n        if ($FreePercent -lt $DiskSpaceThreshold) {\r\n            Write-Host \"[$DatabaseName] $($Drive): is under the threshold($DiskSpaceThreshold%) at $([System.Math]::Round($FreePercent,0))%\"\r\n            $script:HasErrors = $true\r\n        }\r\n\r\n        # Get disk latency\r\n        $HighCounters = Get-DiskCounters -Drive $Drive\r\n        if ($HighCounters) {\r\n            $HighCounters | ForEach-Object {\r\n                Write-Host \"[$DatabaseName] Disk Read\/Write latency is over $DiskSpeedThreshold ms at $([System.Math]::Round($_.CookedValue,2)) for $($_.InstanceName).\"\r\n            }\r\n            $HighCounters | Out-String | Write-Host\r\n            $script:HasErrors = $true\r\n        }\r\n    }\r\n\r\n    if ($script:HasErrors) {\r\n        exit 1\r\n    }\r\n    else {\r\n        Write-Host \"SQL Server's services are running.\"\r\n        Write-Host \"SQL Server's disk latency is below threshold.\"\r\n        Write-Host \"SQL Server's disk free space is above threshold.\"\r\n        exit 0\r\n    }\r\n    \r\n}\r\nend {\r\n    \r\n    \r\n    \r\n}<\/pre>\n<p>&nbsp;<\/p>\n\n<div class=\"in-context-cta\"><p>Greifen Sie auf \u00fcber 300 Skripte im NinjaOne Dojo zu.<\/p>\n<p><a href=\"https:\/\/www.ninjaone.com\/de\/kostenlosetestversionformular\/\">Zugang erhalten<\/a><\/p>\n<\/div>\n<h2>Detaillierte Aufschl\u00fcsselung<\/h2>\n<p>Das Skript beginnt mit einer Reihe von Parametern, die eine Anpassung an spezifische \u00dcberwachungsbed\u00fcrfnisse erm\u00f6glichen, zum Beispiel Schwellenwerte f\u00fcr Speicherplatz und Geschwindigkeit. Es umfasst mehrere Funktionen:<\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><strong>Test-IsElevated<\/strong>: \u00dcberpr\u00fcft, ob das Skript mit Administratorrechten ausgef\u00fchrt wird, die f\u00fcr den Zugriff auf bestimmte Systeminformationen unerl\u00e4sslich sind.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\"><strong>Get-DefaultDBLocation<\/strong>: Legt die Standardspeicherorte f\u00fcr Daten und Protokolldateien f\u00fcr SQL Server-Instanzen fest.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\"><strong>Get-DiskCounters<\/strong>: Ruft Metriken zur Festplattenleistung ab.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"4\" data-aria-level=\"1\"><strong>Get-DiskFreePercentage<\/strong>: Berechnet den Prozentsatz des freien Speicherplatzes.<\/li>\n<\/ul>\n<p>In seinem Hauptprozess bewertet das Skript den Status der SQL Server-Dienste, der Agentendienste, den Speicherplatz und die Festplattenlatenz. Wenn ein Parameter unter die festgelegten Schwellenwerte f\u00e4llt oder ein Dienst nicht l\u00e4uft, wird ein Fehler gemeldet.<\/p>\n<h2>M\u00f6gliche Anwendungsf\u00e4lle<\/h2>\n<p>Stellen Sie sich einen MSP vor, der f\u00fcr die Wartung der SQL Server-Umgebung eines Kunden verantwortlich ist. Er kann dieses Skript so planen, dass es in regelm\u00e4\u00dfigen Abst\u00e4nden ausgef\u00fchrt wird, um sicherzustellen, dass potenzielle Probleme mit Datenbankdiensten, Speicherplatz oder Latenzzeiten schnell erkannt und behoben werden, wodurch das Risiko von Serverausf\u00e4llen oder Leistungseinbu\u00dfen verringert wird.<\/p>\n<h2>Vergleiche<\/h2>\n<p>Herk\u00f6mmliche Methoden zur \u00dcberwachung vom SQL Server-Zustand bestehen oft in manuellen Kontrollen oder Tools von Drittanbietern. Dieses Skript bietet jedoch einen st\u00e4rker integrierten und automatisierten Ansatz, der Echtzeitwarnmeldungen erm\u00f6glicht und menschliches Versagen minimiert.<\/p>\n<h2>FAQs<\/h2>\n<p><strong>Q1: Wie oft sollte das Skript ausgef\u00fchrt werden?\u00a0<\/strong><br \/>\nA1: Dies h\u00e4ngt von der Kritikalit\u00e4t der SQL Server-Umgebung ab. F\u00fcr Datenbanken mit hohem Datenverkehr kann ein t\u00e4glicher oder sogar st\u00fcndlicher Zeitplan angemessen sein.<\/p>\n<p><strong>Q2: Kann das Skript f\u00fcr verschiedene SQL Server-Versionen angepasst werden?\u00a0<\/strong><br \/>\nA2: Ja, es kann f\u00fcr verschiedene Versionen angepasst werden, wobei je nach den spezifischen Funktionen und Konfigurationen der Version einige Anpassungen erforderlich sein k\u00f6nnen.<\/p>\n<p><strong>Q3: Sind f\u00fcr die Verwendung dieses Skripts PowerShell-Kenntnisse erforderlich?\u00a0<\/strong><br \/>\nA3: Grundlegende PowerShell-Kenntnisse sind von Vorteil, aber das Skript ist benutzerfreundlich gestaltet und enth\u00e4lt klare Parameteranweisungen.<\/p>\n<h2>Folgen<\/h2>\n<p>Eine ineffiziente \u00dcberwachung kann zu Serverausf\u00e4llen, langsamen Abfrageantworten und sogar zu Datenverlusten f\u00fchren. Dieses Skript minimiert solche Risiken und tr\u00e4gt zu einer sichereren und zuverl\u00e4ssigeren IT-Umgebung bei.<\/p>\n<h2>Empfehlungen<\/h2>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\">Aktualisieren Sie das Skript regelm\u00e4\u00dfig, um es an neue SQL Server-Versionen oder organisatorische \u00c4nderungen anzupassen.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\">Kombinieren Sie dieses Skript mit anderen \u00dcberwachungs-Tools, um einen umfassenden \u00dcberblick \u00fcber die IT-Infrastruktur zu erhalten.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\">Schulung der IT-Mitarbeiter:innen in PowerShell, um den Nutzen des Skripts zu maximieren.<\/li>\n<\/ul>\n<h2>Abschlie\u00dfende \u00dcberlegungen<\/h2>\n<p>In der Welt der Datenbankverwaltung und <a href=\"https:\/\/www.ninjaone.com\/de\/it-management-fuer-unternehmen\/infrastruktur\/\">IT-Infrastruktur\u00fcberwachung<\/a> bieten Tools wie NinjaOne robuste L\u00f6sungen, die <a href=\"https:\/\/www.ninjaone.com\/de\/script-hub\/\">PowerShell-Skripte<\/a> erg\u00e4nzen. NinjaOne kann die F\u00e4higkeiten solcher Skripte verbessern, indem es eine einheitliche Plattform f\u00fcr die \u00dcberwachung, Benachrichtigung und Automatisierung von Reaktionen auf SQL Server-Leistungsprobleme bietet. Durch die Integration von Skripten mit solchen Tools k\u00f6nnen Unternehmen eine proaktivere und effizientere IT-Verwaltungsstrategie erreichen und sicherstellen, dass ihre SQL-Server stabil, reaktionsschnell und zuverl\u00e4ssig bleiben.<\/p>\n","protected":false},"author":35,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","_lmt_disableupdate":"no","_lmt_disable":""},"operating_system":[4212],"use_cases":[4383],"class_list":["post-419254","script_hub","type-script_hub","status-publish","hentry","script_hub_category-windows"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/script_hub\/419254","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/script_hub"}],"about":[{"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/types\/script_hub"}],"author":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/comments?post=419254"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/media?parent=419254"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/operating_system?post=419254"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/use_cases?post=419254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}