2023-08-17 19:32:37 +02:00
|
|
|
|
> Schulung SQL QSC 02.2017
|
|
|
|
|
|
|
|
|
|
Freitag, 26. Februar 2016
|
|
|
|
|
|
|
|
|
|
21:02
|
|
|
|
|
|
|
|
|
|
Inntaus null Fabian Bader:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<http://msdn.microsoft.com/en-us/library/bb510741.aspx>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
System Datenbanken :
|
|
|
|
|
|
|
|
|
|
Model
|
|
|
|
|
|
|
|
|
|
MSDN
|
|
|
|
|
|
|
|
|
|
Tempdb
|
|
|
|
|
|
|
|
|
|
Master DB
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Resource -\> ist nicht sichtbar
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SQL Sprache ist TSQL
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bei anlage einer neuen Datenbank owner ändern :
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
USE \[RKOtestdb\]
|
|
|
|
|
|
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
EXEC dbo.sp_changedbowner \@loginame = N\'sa_vbz\', \@map = false
|
|
|
|
|
|
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**x64 SQL Alias erstellen**
|
|
|
|
|
|
|
|
|
|
C:\\Windows\\System32\\cliconfg.exe aufrufen
|
|
|
|
|
|
|
|
|
|
Im "Alias" Tab "Selcet" ausählen
|
|
|
|
|
|
|
|
|
|
Unter "Server alias" wird nun der gewünschte SQL Alias Name eingetragen (z.B. MeinSQLAlias)
|
|
|
|
|
|
|
|
|
|
"TCP/IP" unter "Network libraries" auswählen
|
|
|
|
|
|
|
|
|
|
Im Feld "Server name" den NetBIOS Namen (z.B. SERVERNAME\\INSTANCE) des SQL-Servers eingetragen.
|
|
|
|
|
|
|
|
|
|
"Dynamically determine port" ausgewählt lassen.
|
|
|
|
|
|
|
|
|
|
**Es wird folgender Registry Key erstellt**
|
|
|
|
|
|
|
|
|
|
\[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MSSQLServer\\Client\\ConnectTo\]
|
|
|
|
|
|
|
|
|
|
"MeinSQLAlias"="DBMSSOCN,SERVERNAME\\\\INSTANCE"
|
|
|
|
|
|
|
|
|
|
**x86 SQL Alias erstellen (Kompatibilität mit 32-Bit Applikationen)**
|
|
|
|
|
|
|
|
|
|
C:\\Windows\\SysWOW64\\cliconfg.exe aufrufen
|
|
|
|
|
|
|
|
|
|
Im "Alias" Tab "Selcet" ausählen
|
|
|
|
|
|
|
|
|
|
Unter "Server alias" wird nun der gewünschte SQL Alias Name eingetragen (z.B. MeinSQLAlias)
|
|
|
|
|
|
|
|
|
|
"TCP/IP" unter "Network libraries" auswählen
|
|
|
|
|
|
|
|
|
|
Im Feld "Server name" den NetBIOS Namen (z.B. SERVERNAME\\INSTANCE) des SQL-Servers eingetragen.
|
|
|
|
|
|
|
|
|
|
"Dynamically determine port" ausgewählt lassen.
|
|
|
|
|
|
|
|
|
|
**Es wird folgender Registry Key erstellt**
|
|
|
|
|
|
|
|
|
|
\[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\MSSQLServer\\Client\\ConnectTo\]
|
|
|
|
|
|
|
|
|
|
"MeinSQLAlias"="DBMSSOCN,SERVERNAME\\\\INSTANCE"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Aus \<<https://www.techtask.com/sql-alias-fur-sharepoint-web-applikationen-erstellen/>\>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Xp_cmdshell (Security issue)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
exec sp_configure \'show advanced option\',1
|
|
|
|
|
|
|
|
|
|
go
|
|
|
|
|
|
|
|
|
|
exec sp_configure \'xp_cmdshell\', 0 deaktiviert die Shell
|
|
|
|
|
|
|
|
|
|
go
|
|
|
|
|
|
|
|
|
|
Reconfigure;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\-- Daten eines Linked Servers abrufen : (Lokaler Server QSCDBT020 Linked ( Remote ) Server QSCDBT010)
|
|
|
|
|
|
|
|
|
|
select \* from \[QSCDBT010\\QSCDBT010J\].\[datenaustausch_rko\].sys.database_files
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\-- Noch ein Beispiel :
|
|
|
|
|
|
|
|
|
|
select \*
|
|
|
|
|
|
|
|
|
|
from \[QSCDBT070\\QSCDBT070J\].\[TrainerDB_LinkedServer\].\[dbo\].\[Teilnehmer\]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\--(Hierfür muss RPC und RPC OUT in den Properties des Linked Servers Aktiviert werden.)
|
|
|
|
|
|
|
|
|
|
execute \[QSCDBT070\\QSCDBT070J\].\[TrainerDB_LinkedServer\].\[dbo\].\[coole_sp\]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Create Service Account
|
|
|
|
|
|
|
|
|
|
<https://www.mssqltips.com/sqlservertip/2503/how-to-create-secure-sql-server-service-accounts/>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Troubleshooting :
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Backup Datei ist immer eine .BAK datei.
|
|
|
|
|
|
|
|
|
|
In einer BAK Datei können mehrere Backup stände vorhanden sein.
|
|
|
|
|
|
|
|
|
|
Mit dem SQL Statement:
|
|
|
|
|
|
|
|
|
|
restore headeronly from Disk=N\'j:\\sql\\backups\\master.bak\';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
kann man sich den Inhalt der BAK Datei anzeigen, bzw ermitteln wie viele Backups es in der Datei gibt.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Für die Master DB restore muss der Server im Single User Mode sein. Hierzu den Sql Service stoppen und die CMD verwenden :
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sqlservr.exe\" -m -s qscdbt020j Startet den Single User Mode
|
|
|
|
|
|
|
|
|
|
In einer 2.ten CMD dann :
|
|
|
|
|
|
|
|
|
|
osql -S qscdbt020\\qscdbt020j -E Startet die SQL CMD Line
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Aktives Monitoring mit
|
|
|
|
|
|
|
|
|
|
Aktive Monitor (Rechte Maus auf Server dann kommt der punkt.)
|
|
|
|
|
|
|
|
|
|
Oder SQL Abfrage mit
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
exec sp_WhoIsActive; NEU mehr INfos
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Oder exec sp_WhoIs2 \-\-- ALT
|
|
|
|
|
|
|
|
|
|
Oder exec sp_WhoIs \-\-- SEHR ALT
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Geht auch über Perfmon und Ressourcemonitor aus Windows.
|
|
|
|
|
|
|
|
|
|
Perfmon ist besser, Ressourcemonitor benötigt selber viele Ressourcen
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ermitteln wieviel \"Speicher\" der SL Server wirklich nutzt :
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
select \* from sys.dm_os_process_memory
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Im Taskmanager werden aber nur zb 2GB angezeigt, trotzdem nutzt der SQL Server wesentlich mehr.
|
|
|
|
|
|
|
|
|
|
Hierzu wird die Funktion AWE genutzt. Im Error Log schuen nach in \"Use Lock Pages in Memory\"
|
2023-11-12 11:19:55 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#nochzubearbeiten
|