zettelkasten/OneNoteExport/Technik/SQL/00_Schulung SQL QSC 02.2017.md
2023-08-17 19:32:37 +02:00

214 lines
3.7 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

> 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\"