SQL Server Archive - Daniel Gutermuth https://danielgutermuth.de/tag/sql-server/ IT Blog Wed, 12 Jan 2022 23:21:21 +0000 de hourly 1 SQL Server – SQL Server Configuration Manager WMI Provider https://danielgutermuth.de/microsoft/windowsserver/sql-server-sql-server-configuration-manager-wmi-provider/ Wed, 05 Jan 2022 08:40:38 +0000 https://danielgutermuth.de/?p=1115 Beim versuchten Start des SQL Server Configuration Managers kann es zu einer Fehlermeldung mit dem Inhalt „Cannot Connect to WMI provider…“ kommen. Im konkretem Beispiel [...]

Der Beitrag SQL Server – SQL Server Configuration Manager WMI Provider erschien zuerst auf Daniel Gutermuth.

]]>
Beim versuchten Start des SQL Server Configuration Managers kann es zu einer Fehlermeldung mit dem Inhalt „Cannot Connect to WMI provider…“ kommen.

Im konkretem Beispiel (SQL 2019) stellte sich heraus, dass die dafür benötigte Datei „C:\Program Files (x86)\Microsoft SQL Server\110\Shared\sqlmgmproviderxpsp2up.mof“ nicht im Pfad enthalten ist und der Microsoft Standardweg keine Anwendung finden kann.

Hinweis: Als Vorbereitung hat es sich schon als hilfreich herausgestellt, wenn das SQL Management Studio in der jeweils aktuellen Version auf dem SQL-Server installiert wird.

Lösung

Via RDP auf den SQL-Server aufschalten (Administratorenberechtigungen werden benötigt).

Den Befehl zur passenden SQL-Server Version herauskopieren, in die Eingabeaufforderung einfügen und ausführen.

SQL Server 2005

mofcomp “%programfiles(x86)%\Microsoft SQL Server\90\Shared\sqlmgmproviderxpsp2up.mof”

SQL Server 2008 / R2

mofcomp “%programfiles(x86)%\Microsoft SQL Server\100\Shared\sqlmgmproviderxpsp2up.mof”

SQL Server 2012

mofcomp “%programfiles(x86)%\Microsoft SQL Server\110\Shared\sqlmgmproviderxpsp2up.mof”

SQL Server 2014

mofcomp “%programfiles(x86)%\Microsoft SQL Server\120\Shared\sqlmgmproviderxpsp2up.mof”

SQL Server 2016

mofcomp “%programfiles(x86)%\Microsoft SQL Server\130\Shared\sqlmgmproviderxpsp2up.mof”

SQL Server 2017

mofcomp “%programfiles(x86)%\Microsoft SQL Server\140\Shared\sqlmgmproviderxpsp2up.mof”

SQL Server 2019

mofcomp “%programfiles(x86)%\Microsoft SQL Server\150\Shared\sqlmgmproviderxpsp2up.mof”

Im Beispiel handelt es sich um einen SQL Server 2019.

Mit dem Output Done wurde der Vorgang erfolgreich abgeschlossen.

Um den SQL Server Configuration Manager zu starten einfach die zur SQL-Server Version passende Zeile in die Windows-Suche des Servers einfügen und ausführen.

SQL Server 2019C:\Windows\SysWOW64\SQLServerManager15.msc
SQL Server 2017C:\Windows\SysWOW64\SQLServerManager14.msc
SQL Server 2016C:\Windows\SysWOW64\SQLServerManager13.msc
SQL Server 2014 (12.x)C:\Windows\SysWOW64\SQLServerManager12.msc
SQL Server 2012 (11.x)C:\Windows\SysWOW64\SQLServerManager11.msc

Anschließend ist der SQL Server Configuration Manager wieder verwendbar.

Der Beitrag SQL Server – SQL Server Configuration Manager WMI Provider erschien zuerst auf Daniel Gutermuth.

]]>
SQL Server – Wiederherstellung von Datenbanken aus einem Backup https://danielgutermuth.de/microsoft/windowsserver/sql-server-wiederherstellung-von-datenbanken-aus-einem-backup/ Tue, 07 Dec 2021 11:17:34 +0000 https://danielgutermuth.de/?p=676 Nachdem bereits eine Lösung für ein automatisches Backup von SQL Datenbanken vorgestellt wurde, geht es in diesem Beitrag um die Wiederherstellung mehrerer SQL Datenbanken aus [...]

Der Beitrag SQL Server – Wiederherstellung von Datenbanken aus einem Backup erschien zuerst auf Daniel Gutermuth.

]]>
Nachdem bereits eine Lösung für ein automatisches Backup von SQL Datenbanken vorgestellt wurde, geht es in diesem Beitrag um die Wiederherstellung mehrerer SQL Datenbanken aus einem Backup mittels Script.

Lösung

Über das SQL Management Studio mit dem SQL-Server verbinden und mit einem Rechtklick den Punkt Neue Abfrage wählen.

Hinweis: Der Benutzer muss mindestens Rechte als dbcreator besitzen.

Das unten stehende SQL-Script in das Abfragefenster kopieren und die drei Parameter anpassen.

  • SET @backuppath = ‚BACKUPPATH
  • SET @datapath = ‚DATAPATH‘
  • SET @logpath = ‚LOGPATH
DECLARE @name VARCHAR(256) -- database name  
DECLARE @backuppath NVARCHAR(256) -- path for backup files  
DECLARE @datapath VARCHAR(256) -- path for data files  
DECLARE @logpath VARCHAR(256) -- path for log files  
DECLARE @backupfileName VARCHAR(256) -- filename for backup  
DECLARE @datafileName VARCHAR(256) -- filename for database 
DECLARE @logfileName VARCHAR(256) -- filename for logfile 
DECLARE @logName VARCHAR(256) -- filename for logfile 

-- specify database backup directory 
print 'backup path is ' + @backuppath 
print 'data path is ' + @datapath 
print 'log path is ' + @logpath 

--Table to hold each backup file name in 
DROP TABLE #files -- remove any previous instance 
CREATE TABLE #files(fname varchar(200),depth int, file_ int) 
INSERT #files 
EXECUTE master.dbo.xp_dirtree @backuppath, 1, 1 
SELECT * FROM #files 
DECLARE files CURSOR FOR 
SELECT fname FROM #files  
OPEN files 
FETCH NEXT FROM files INTO @name
WHILE @@FETCH_STATUS = 0   

BEGIN 
DECLARE @cleanname AS VARCHAR(255) 
SET @cleanname  = REPLACE(@name, '.BAK', '') 
PRINT @cleanname 
SET @backupfileName = @backuppath + @name 
SET @datafileName = @datapath + @cleanname   + '.MDF' 
SET @logfileName = @logpath + @cleanname   + '_log.LDF' 
SET @logName = @cleanname + '_log' 
print 'backup file is ' + @backupfileName 
print 'data file is ' + @datafileName 
print 'log file is ' + @logfileName 
RESTORE DATABASE @cleanname 
FROM DISK = @backupfileName 
WITH RECOVERY, 
MOVE @cleanname 
TO @datafileName, 
MOVE @logName 
TO @logfileName 
FETCH NEXT FROM files INTO @name   
END

CLOSE files   
DEALLOCATE files 

Hier ein Beispiel:

Wurde das Script angepasst, wird es mit einem Klick auf Ausführen gestartet.

Je nach Umfang und Größe der wiederherzustellenden Datenbanken, kann es eine Weile dauern, bis die Wiederherstellung abgeschlossen wurde.

Im Fenster Meldungen können aktuelle Logs betrachtet werden.

Nachdem das Script durchlaufen und alle Datenbanken wiederhergestellt wurden, sind diese im Objekt-Explorer zu finden.

Der Beitrag SQL Server – Wiederherstellung von Datenbanken aus einem Backup erschien zuerst auf Daniel Gutermuth.

]]>
SQL Server – Operator einrichten https://danielgutermuth.de/microsoft/windowsserver/sql-server-operator-einrichten/ Wed, 01 Dec 2021 09:31:00 +0000 http://danielgutermuth.de/?p=138 Ein Operator kann verwendet werden, um Benachrichtigungen des SQL-Servers z.B. via E-Mail zu erhalten. Lösung Das SQL Management Studio starten und mit dem SQL-Server verbinden. [...]

Der Beitrag SQL Server – Operator einrichten erschien zuerst auf Daniel Gutermuth.

]]>
Ein Operator kann verwendet werden, um Benachrichtigungen des SQL-Servers z.B. via E-Mail zu erhalten.

Lösung

Das SQL Management Studio starten und mit dem SQL-Server verbinden.

Den SQL-Server-Agent starten und einen Rechtsklick auf den Punkt Operatoren machen und Neuer Operator… auswählen.

Im neuen Fenster unter Allgemein einen Namen vergeben, sowie die E-Mail-Adresse des Operators eintragen.

Falls bereits Warnungen definiert wurden ( z.B. E-Mail Statusmeldung bei SQL-Backups), können diese hier dem Operator zugewiesen werden, welcher dann die Benachrichtigungen per E-Mail erhält. Zuletzt alle Fenster mit OK bestätigen.

Der Beitrag SQL Server – Operator einrichten erschien zuerst auf Daniel Gutermuth.

]]>
SQL Server – Datenbank E-Mail einrichten https://danielgutermuth.de/microsoft/windowsserver/sql-server-datenbank-e-mail-einrichten/ Tue, 30 Nov 2021 23:06:58 +0000 http://danielgutermuth.de/?p=113 Im SQL-Server können E-Mail-Profile eingerichtet werden. Dadurch ist es u.a. möglich SQL-Server-Statusmeldungen an Operatoren via E-Mail zu senden. Lösung Das SQL Management Studio starten und [...]

Der Beitrag SQL Server – Datenbank E-Mail einrichten erschien zuerst auf Daniel Gutermuth.

]]>
Im SQL-Server können E-Mail-Profile eingerichtet werden. Dadurch ist es u.a. möglich SQL-Server-Statusmeldungen an Operatoren via E-Mail zu senden.

Lösung

Das SQL Management Studio starten und mit dem SQL-Server verbinden.

Unter Verwaltung einen Rechtsklick auf Datenbank-E-Mail machen und Datenbank-E-Mail konfigurieren wählen.

Im Assistenten Datenbank-E-Mail durch Ausführen der folgenden Aufgaben einrichten wählen und weiter klicken.

Einen Profilnamen vergeben und bei SMTP-Konten auf Hinzufügen klicken. Im öffnenden Fenster die entsprechenden SMTP-Daten eingeben und mit OK bestätigen. Anschließend auf weiter klicken.

Das Profil kann, falls gewünscht, als öffentliches Profil deklariert werden. Anschließend mit weiter den Assistenten bis zum Ende durchlaufen.

Um die Konfiguration abzuschließen, in das Fenster klicken und die Enter-Taste drücken.

Damit wurde erfolgreich ein Datenbank E-Mail-Profil eingerichtet, welches nun z. B. Operatoren zugewiesen werden kann.

Der Beitrag SQL Server – Datenbank E-Mail einrichten erschien zuerst auf Daniel Gutermuth.

]]>
SQL Server – Automatisches Backup von Datenbanken https://danielgutermuth.de/microsoft/windowsserver/sql-server-automatisches-backup-von-datenbanken/ Tue, 30 Nov 2021 22:10:29 +0000 http://danielgutermuth.de/?p=100 Für Backups der SQL-Datenbanken können die SQL-Server Bordmittel verwendet werden. Die hier gezeigte Methode sichert die SQL-Datenbanken täglich auf eine Netzwerkfreigabe. Für das Wiederherstellen der [...]

Der Beitrag SQL Server – Automatisches Backup von Datenbanken erschien zuerst auf Daniel Gutermuth.

]]>
Für Backups der SQL-Datenbanken können die SQL-Server Bordmittel verwendet werden.

Die hier gezeigte Methode sichert die SQL-Datenbanken täglich auf eine Netzwerkfreigabe.

Für das Wiederherstellen der Datenbanken eignet sich die Methode hier.

Lösung

Das SQL Management Studio öffnen und mit dem SQL-Server verbinden.

Hinweis: Der für das weitere Vorgehen verwendete Benutzer muss Schreibrechte auf der Netzwerkfreigabe besitzen, sowie Leserechte auf den Datenbanken.

Anschließend, wenn nicht schon passiert, den SQL Server-Agent starten und mit einem Rechtsklick auf Aufträge den Punkt Neuer Auftrag wählen.

Im Reiter Allgemein einen Namen vergeben und in den Reiter Schritte wechseln.

Dort auf Neu klicken und im neuen Fenster einen Schrittnamen vergeben. Anschließend den Code aus SQL Backup Skript – Netzwerkfreigabe einfügen (den Backup-Pfad natürlich ändern) und mit OK bestätigen.

DECLARE @name NVARCHAR(256) -- database name  
DECLARE @path NVARCHAR(512) -- path for backup files  
DECLARE @fileName NVARCHAR(512) -- filename for backup  
DECLARE @fileDate NVARCHAR(40) -- used for file name
 
-- specify database backup directory
SET @path = '\\smbshare\sicherung\sql\'  
 
-- specify filename format
SELECT @fileDate = CONVERT(NVARCHAR(20),GETDATE(),112) + '_' + REPLACE(CONVERT(NVARCHAR(20),GETDATE(),108),':','')
 
DECLARE db_cursor CURSOR READ_ONLY FOR  
SELECT name 
FROM master.sys.databases 
WHERE name NOT IN ('master','model','msdb','tempdb')  -- exclude these databases
AND state = 0 -- database is online
AND is_in_standby = 0 -- database is not read only for log shipping
 
OPEN db_cursor   
FETCH NEXT FROM db_cursor INTO @name   
 
WHILE @@FETCH_STATUS = 0   
BEGIN   
   SET @fileName = @path + @name + '_' + @fileDate + '.BAK'  
   BACKUP DATABASE @name TO DISK = @fileName  
 
   FETCH NEXT FROM db_cursor INTO @name   
END   
 
CLOSE db_cursor   
DEALLOCATE db_cursor

Im Reiter Zeitpläne auf Neu klicken und einen Auftragszeitplan erstellen. In diesem Fall täglich um 18Uhr.

Optionales

Es besteht die Möglichkeit die Sicherung nicht nur auf eine Netzwerkfreigabe durchzuführen, sondern auch lokal. Dafür muss ein zweiter Auftragsschritt erstellt werden und der Backup-Pfad im SQL-Script geändert werden.

-- specify database backup directory<br>SET @path = 'B:\Backup'

Außerdem kann in den Auftragseigenschaften eine E-Mail Benachrichtigung über den Auftragsstatus eingerichtet werden.

Dazu in die Auftragseigenschaften gehen und im Reiter Warnungen den Punkt Hinzufügen wählen. Dort einen Namen vergeben.

In den Reiter Antwort wechseln und dort unter Operatoren benachrichtigen den Punkt E-Mail für den entsprechenden Operator aktivieren.

Zuletzt in Optionen den Punkt E-Mail aktivieren und alle Fenster mit OK schließen.

Der Beitrag SQL Server – Automatisches Backup von Datenbanken erschien zuerst auf Daniel Gutermuth.

]]>