diverse Software | Tobit DvISE | Virtualisierung | Emulatoren | SQL-Server | CMS | Groupware | DMS
Datensicherung für MSDE Datenbanken DBSave
SQL Firewall Projekt GreenSQL für MySQL und PostgreSQL
Download: MSDE 2000
MS SQL Server 2005 Express Edition SP4
MS SQL Server 2008 Express SP1
SQL Server 2008 R2 Express
Microsoft SQL Server 2008 R2 RTM – Express mit Verwaltungstools
Microsoft SQL Server 2008 R2 RTM – Express mit Advanced Services
Microsoft SQL Server 2008 R2 Management Studio Express (SSMSE)
Access Runtime 2007
SQL Feature Pack/SQL Native Client 2005
SQL Feature Pack/SQL Native Client 2008
SQL Feature Pack/SQL Native Client 2008 R2
Installation
MSSQL Express mit Netzwerk
Upgrade mit einem ServicePack
Anmelden am SQL Server
Datensicherung | Restore
SQL Datenbank importieren | exportieren
SQL Datenbank umbenennen
Lizenzen
sonstiges
KB 272318 Transaktion Protokoll verkleinern
KB224071 SQL Datenbank verschieben
SQLmaint
MSSQL Hilfe alle Versionen
den Download entpacken nach z.B. C:\Temp\MSDE. Dann die Installation starten durch
setup.exe /settings setup.ini
[Options] SECURITYMODE=SQL UPGRADEUSER=sa BLANKSAPWD=1 INSTANCENAME="SQLDATA" DISABLENETWORKPROTOCOLS=0
oder
setup.exe SAPWD="AStrongPassword" SECURITYMODE=SQL INSTANCENAME="SQLDATA"
alle Programme | Microsoft SQL Server | Konfigurationstools | SQL Server-Konfigurations-Manager
SQL Server xxxx-Dienste | SQL Server-Browser: starten
SQL Server Netzwerkkonfiguration | Protokolle für xxx
TCP/IP: aktivieren
eine Datei mit der Endung .udl erstellen, Eigenschaften
Provider: Microsoft OLE DB Provider for SQL Server
Verbindungen
Servername: <SQL-Server\Instanz>
Benutzername: <wie angelegt>
Passwort: <wie angelegt>
Datenbank auf dem Server: <Datenbank>
zum Abschluß Verbindung testen
- bei einem Upgrade ist unbedingt der Instanzname mit anzugeben, hier ein Beispiel für ein Upgrade der Standardinstanz. Hier ist unbedingt "upgradesp" anzugeben (für den User "sa" ist kein Passwort gesetzt).
setup /upgradesp SQLRUN SECURITYMODE=SQL UPGRADEUSER=sa BLANKSAPWD=1 /L*v C:\MSDELog.log
setup.exe /upgradesp sqlrun INSTANCENAME=SQLDATA DISABLENETWORKPROTOCOLS=0 BLANKSAPWD=1
man kann das Upgrade auch mit Hilfe der "setup.ini" erledigen
setup.exe /settings setup.ini /upgradesp sqlrun
Beispiel für eine "setup.ini" zum Upgraden.
[Options] UPGRADEUSER=sa BLANKSAPWD=1 INSTANCENAME=SQLDATA DISABLENETWORKPROTOCOLS=0
wenn es eine Stardardinstanz upgraden will, darf man "INSTANCENAME" nicht angeben. Es kann auch beim Upgrade zu Problemen kommen, wenn der "INSTANCENAME" in der .ini Datei in Anführungszeichen gesetzt ist.
Optionen
- Passwort bei der Installation festlegen
SAPWD="AStrongPassword"
- mit leerem Passwort installieren
BLANKSAPWD=1
- gemischte Modus SQL als auch Benutzerautentifizierung ist erlaubt
SECURITYMODE=SQL
- eine Benutzerdefinierte Instanz anlegen (SQLDATA)
INSTANCENAME="SQLDATA"
- den Netzwerkzugriff für andere Clients erlauben
DISABLENETWORKPROTOCOLS=0
für den Netzwerkzugriff benutzt MSDE den TCP Port 1433
- Upgrade mit einem ServicePACK
UPGRADEUSER=admin
UPGRADEPWD=admin_pwd
- Ändern des Authentifizierungsmodus bei einer Standard MSDE Instanz
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer]
"LoginMode"=dword:00000002
Schlüssel für eine Benutzerdefinierte Instanz SQLDATA
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\SQLDATA\MSSQLServer]
"LoginMode"=dword:00000000
mit dem Tools osql eine Verbindung zu MSDE herstellen, osql ist Interaktiv.
osql -U sa oder osql -U sa -P "Kennwort" oder osql -E oder osql -U sa -S server\sqldata
mit der Option -S kann man die SQLServer Instanz wählen, auf einem Server können bis zu 16 Instanzen installiert werden (eine Standardinstanz und 15 weitere).
- Passwort Benutzer sa ändern (Kommando Prozedurname altes_Kennwort, neues_Kennwort, Loginname), das alte Kennwort ist leer, deshalb muss der Wert NULL übergeben werden.
sp_password @old = null, @new = 'newpasswd', @loginame ='sa' go oder sp_password null, 'newpasswd', 'sa' go
- Datenbank Test erstellen
create database test go
Datenbank wird im angegebenen Verzeichnis erstellt, mit Protokolldatei
CREATE DATABASE SATest ON (NAME = SATest_Daten, FILENAME = 'c:\SQLDATA\SATest_Daten.MDF') LOG ON (NAME = SATest_Protokoll, FILENAME = 'c:\SQLDATA\SATest_Protokoll.LDF') GO
- Datenbank auf Fehler prüfen (sollte regelmäßig vor der Datensicherung erfolgen)
dbcc checkdb ('test')
go
- Datenbank Test löschen
drop database test go
- eine zweite Instanz (SQLDATA) von MSDE auf einem Rechner installieren. Diese Instanz wird in der Systemsteuerung unter Software extra aufgeführt und kann auch einzeln wieder deinstalliert werden.
[Options] SAPWD="sa" SECURITYMODE=SQL INSTANCENAME="SQLDATA2"
auf dies neu angelegte Instanz kann man dann mittels osql -U sa -P sa -S msde-server\sqldata zugreifen. Option -U Username, -P Passwort,
-S Server\Instanz
- Netzwerkzugriff konfigurieren mittels SVRNETCN
C:\Programme\Microsoft SQL Server\80\Tools\Binn\SVRNETCN.exe
Hilfe für die Verwendung von osql
- einem System Anmelde oder Benutzerkonto eine Verbindung zur SQL Server-Instanz
EXEC sp_grantlogin 'server\user' go
- einem SQL-Benutzer den Zugriff auf eine MSDE-Instanz erlauben.
EXEC sp_addlogin 'user','passwd' go
- OSQL kann auch am PROMPT oder in einem Batch verwendet werden
osql -U SA -P "Kennwort" -d model -Q "dbcc checkdb"
hier wird die Datenbank "MODEL" auf Fehler überprüft oder interaktiv
dbcc checkdb ('model') -o "D:\ERGEBNIS.TXT"
go
Die Ausgabe kann auch zur späteren Kontrolle in eine Datei umgeleitet werden.
osql -U SA -P "Kennwort" -d model -Q "dbcc checkdb" -o "D:\ERGEBNIS.TXT"
- Offlinesicherung, vor der Datensicherung muß der Server angehalten werden, nun kann man das komplette MSDE Verzeichniss sichern
NET STOP MSSQLSERVER xcopy c:\MSSQL c:\Backup
- Onlinesicherung, der SQLServer läuft bei der Sicherung, es wird jede Datenbank einzeln gesichert.
osql -U SA -P "Kennwort" -Q "backup database samuster to disk = 'c:\backup\samuster.bak' with init" -o c:\backup\samuster.txt
- interaktive Datensicherung
backup database samuster to disk = 'c:\backup\samuster.bak' with init -o d:\backups\samuster.txt go
BACKUP LOG samuster TO DISK = 'C:\backup\samuster_log.bak'
man kann die Protokolldatei auch einzeln sichern.
EXECUTE master.dbo.xp_sqlmaint N'-PlanID xxx-xxx-xxx-xxx -WriteHistory -VrfyBackup -BkUpMedia DISK -BkUpDB "D:\Backup\SQL-Backup" -BkExt "BAK"'
EXECUTE master.dbo.xp_sqlmaint N'-PlanID xxx-xxx-xxx-xxx -WriteHistory -VrfyBackup -BkUpMedia DISK -BkUpLog "D:\Backup\SQL-Backup" -BkExt "TRN"'
DelBkUps - Zeitspanne wann die erstellte Sicherung gelöscht wird ( Beispiele 12weeks, 3months, 15days )
CrBkSubDir - Im Backup Verzeichnis wird ein Unterordner für jede Datenbank erstellt
Beispiel: FullBackup.sql
Aufbewahrung der Sicherung 14 Tage (RETAINDAYS = 14)
nach Sicherung überprüfen (RESTORE VERIFYONLY)
BACKUP DATABASE [David_Database] TO DISK = N'E:\Sicherung\MSSQL\David\David_Database.bak' WITH RETAINDAYS = 14, NOFORMAT, NOINIT, NAME = N'David_Database-VollDBSicherung', SKIP, NOREWIND, NOUNLOAD, STATS = 10 GO declare @backupSetId as int select @backupSetId = position from msdb..backupset where database_name=N'David_Database' and backup_set_id=(select max(backup_set_id) from msdb..backupset where database_name=N'David_Database' ) if @backupSetId is null begin raiserror(N'Fehler beim Überprüfen. Sicherungsinformationen für die David_Database-Datenbank wurden nicht gefunden.', 16, 1) end RESTORE VERIFYONLY FROM DISK = N'E:\Sicherung\MSSQL\David\David_Database.bak' WITH FILE = @backupSetId, NOUNLOAD, NOREWIND GO
Beispiel: Batch für den Taskplaner
@echo off
echo Ausführen eines Full Backup der David-Datenbank
echo.
"C:\Programme\Microsoft SQL Server\90\Tools\binn\SQLCMD.EXE" -S SRV\DAVID -E -i C:\StartStop\David_Database-Backup.sql -o C:\StartStop\BackupLog.txt
rem Zeitstempel erzeugen
for /f "delims=. tokens=1-3" %%a in ('echo %date%') do set date=%%c-%%b-%%a
for /f "tokens=1-4 delims=.:, " %%a in ('echo %time%') do set time=%%a-%%b
REM Log-Datei mit Zeitstempel umbenennen
ren C:\StartStop\BackupLog.txt FullBackup-%date%-%time%.txt
osql -U SA -P "Kennwort" -Q "restore database samuster from disk = 'c:\backup\samuster.bak' with replace" -o c:\backup\samuster.txt
- interaktive Wiederherstellung
restore database samuster from disk = 'c:\backup\samuster.bak' with replace -o d:\backups\samuster.txt go
Datenbank sichern, Transaktionslog verkleinern
im SQL Server Management Studio | Datenbanken | Datenbank wählen | Eigenschaften | Optionen | Wiederherstellungsmodell einstellen Einfach, Massenprotokolliert oder Vollständig
| Variante | Beschreibung |
|---|---|
| Einfach | Protokoll braucht nicht gesichert werden, Wiederherstellung bis zur Sicherung möglich |
| Massenprotokolliert | Protokollsicherung notwendig, Zeitpunktwiederherstellung wird unterstützt |
| Vollständig | Protokollsicherung notwendig, Zeitpunktwiederherstellung wird nicht unterstützt |
Übersicht Wiederherstellungsmethoden
RESTORE DATABASE [David_Database] FROM DISK = N'C:\Temp\David_Database.bak' WITH FILE = 1, MOVE N'David_Database' TO N'c:\MSSQL-DB\MSSQL10_50.DAVID\MSSQL\DATA\David_Database.mdf', MOVE N'David_Database_log' TO N'c:\MSSQL-DB\MSSQL10_50.DAVID\MSSQL\DATA\David_Database_1.LDF', NOUNLOAD, STATS = 10 GO
USE [master] GO CREATE DATABASE [SASystem] ON ( FILENAME = N'C:\Programme\Microsoft SQL Server\MSSQL\Data\SASystem_Daten.MDF' ), ( FILENAME = N'C:\Programme\Microsoft SQL Server\MSSQL\Data\SASystem_Protokoll.LDF' ) FOR ATTACH GO
- Datenbank vom Server trennen (Datenbank wird vom Server entfernt, wird aber nicht physikalisch gelöscht), nach dem trennen kann man die Datenbank auf den gleichen oder einen anderen Server wieder einfügen.
EXEC sp_detach_db 'SASystem'
- eine Datenbank auf einem Server einfügen
EXEC sp_attach_db @dbname = N'SASystem', @filename1 = N'C:\Programme\Microsoft SQL Server\MSSQL\Data\SASystem_Daten.mdf', @filename2 = N'C:\Programme\Microsoft SQL Server\MSSQL\Data\SASystem_Protokoll.ldf' go
im SQL Server Management Studio unter Datenbanken | Datenbank wählen | Eigenschaften | Optionen | Status: Zugriff beschränken von Multi-User auf Single_User stellen, hinter der Datenbank wird dann (Einzellbenutzermodus) angezeigt.
ALTER DATABASE old_dbName MODIFY NAME = new_dbName oder EXEC sp_renamedb 'old_dbName', 'new_dbName'
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\90\MSSQLLicenseInfo\MSSQL9.00 Name Type Value Mode REG_DWORD 2 ß LICENSE_MODE_PERPROC ConcurrentLimit REG_DWORD 4 ß Number of Processors Name Type Value Mode REG_DWORD 0 ß LICENSE_MODE_PERSEAT ConcurrentLimit REG_DWORD 100 ß No. of client licenses registered for SQL Server in Per Seat mode.
- Lizenz prüfen
SELECT ServerProperty('LicenseType') as LicenseType, ServerProperty('NumLicenses') as ProcessorCount
- SQL Version anzeigen
select @@VERSION
SQL mit Benutzer und Passwörter migrieren
Using the Copy Database Wizard
Datenbank markieren | Task | Copy Database
Prozedur
sp_updatestats
Hilfe: MySQL
- am MySQL Server interaktiv anmelden
mysql -u username -p datenbank
- Datenbank sichern
mysqldump datenbank > datenkank.sav
Datenbank als Textdatei exportieren
mysqldump -p -A -x --add-drop-database > backup.sql
Option -x sperrt die Datenbank bei der Sicherung
- Datenbanksicherung zurückspielen
mysql datenbank < datenkank.sav
Textdatei Sicherung wieder einspielen
mysql < backup.sql
- Datenbank löschen
mysqladmin drop datenbank
- Datenbank erstellen
mysqladmin create datenbank mysqladmin -u root -p create datenbank
- Datenbank anzeigen
mysqlshow datenbank
- Passwort entfernen
mysqladmin password "" -p
- Passwort setzen
mysqladmin password "geheim"
einen neuen MySQL Benutzer anlegen, mit Passwort
CREATE USER Benutzer IDENTIFIED BY 'PassWort';
User mit allen Rechten setzen
GRANT ALL ON *.* TO benutzer@localhost IDENTIFIED BY "" WITH GRANT OPTION;
User hat Rechte für die Datenbank sample_db
GRANT ALL ON sampel_db.* TO benutzer@localhost IDENTIFIED BY "";
User löschen
DROP USER 'Benutzer'@'localhost';
Benutzer umbenennen
RENAME USER 'Benutzer'@'localhost' TO 'user'@'localhost';
alle Datenbanken anzeigen
show databases;
alle Tabellen der Datenbank anzeigen
show tables from [DB-Name];
Inhalt aller Datenbank anzeigen
use [DB-Name]; select * from information_schema.tables;