\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{Kim Pedersen (Kim Pedersen)} \pdfinfo{ /Title (sql-database-server.pdf) /Creator (Cheatography) /Author (Kim Pedersen (Kim Pedersen)) /Subject (SQL Database Server Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{000000} \definecolor{LightBackground}{HTML}{F7F7F7} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{SQL Database Server Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{Kim Pedersen (Kim Pedersen)} via \textcolor{DarkBackground}{\uline{cheatography.com/62339/cs/16167/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}Kim Pedersen (Kim Pedersen) \\ \uline{cheatography.com/kim-pedersen} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Not Yet Published.\\ Updated 22nd June, 2018.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{2} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{1 | Relations Database Platform {[}Kim{]}}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{En relations database er en digital database baseret på relations data modellen, foreslået af E. F. Codd i 1970. \newline % Row Count 3 (+ 3) Stortset alle relations database systemer bruger Structured Query Language (SQL) til at forespørge og håndtere databasen. \newline % Row Count 6 (+ 3) Databasen er opbygget med en eller flere tables der består af kolonner og rækker som en tabel. \newline % Row Count 8 (+ 2) Fordelen med en relations database er at data kun burde optræde ét sted men kan knyttes sammen med flere for at undgå duplikeringer.% Row Count 11 (+ 3) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{Hvad er en relations database platform.}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{2 | MS SQL Server 2012 Arkitektur {[}Kim{]}}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Arkitekturen i MS SQL Server 2012 kan opdeles i fire stykker. Her er en kort beskrivelse af hvad der foregår inde i hver af dem; \newline % Row Count 3 (+ 3) 1) Generel arkitektur \newline % Row Count 4 (+ 1) Her bliver klient anmodninger behandlet samt forespørgsler til SQL, logiske enheder som ordsætninger, betydninger og operatører m.m, netværks relaterede koder, 4 protokoller (delt hukommelse, navngivet pipes, TCP/IP og VIA.), serveren som består af services og database, relational engine som indeholder en Query parser, Query optimizer og en Query executor. \newline % Row Count 12 (+ 8) 2) Hukommelses arkitektur \newline % Row Count 13 (+ 1) At minimere disk I/O fordi at disk operationer er nogle af de mest intensive operationer når der skal læses og skrives. Hukommelsen i vinduer kan kaldes Virtual Address Space og er delt på Kernel mode (OS) og User Mode (Applikation). SQL servers "User Address Space" er brækket op i 2 regioner: MemToLeave og Buffer Pool. Derudover findes en Buffer Management som er en nøgle komponent til at opnå høj I/O effekt, den består af to mekanismer; En buffer manager til at få adgang og opdatere database sider og buffer pool til at reducere database fil I/O. \newline % Row Count 25 (+ 12) 3) Datafil arkitektur \newline % Row Count 26 (+ 1) I Datafils arkitekturen finder man følgende komponenter; Fil Grupper som inheholder database filer der er grupperet sammen i fil grupper for allokering og administrations formål. En fil kan ikke være medlem af mere end én gruppe. Log filer er ikke en del af fil grupper. Der findes to typer fil grupper i SQL Server, disse er Primær og Bruger-defineret. \newline % Row Count 34 (+ 8) } \tn \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{2 | MS SQL Server 2012 Arkitektur {[}Kim{]} (cont)}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{4) Logfil arkitektur \newline % Row Count 1 (+ 1) Transaktions log som operere logisk, denne er en streng af log beretninger. Hver beretning er identificeret med en Log Sequence Number (LSN). Hver log beretning indeholder et ID af transaktionen som den tilhørte til. Beretninger for data modifikationer bliver enten tilført efter den logiske operation er udført eller ved at differentiere på et før og efter billede af den modificerede data.% Row Count 9 (+ 8) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{Gennemgå arkitekturen i MS SQL Server 2012.}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{3 | Overvejelser \& Design {[}Steffen{]}}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Nedenstående er til x64 bit \newline % Row Count 1 (+ 1) Min 1,4ghz processor (recommended er 2ghz) \newline % Row Count 2 (+ 1) 1gb minimum (512mb express) (anbefalet 4gb, men 8 er bedre) \newline % Row Count 4 (+ 2) Storage er helt afhængigt af hvilken størrelse database miljø der skal opsættes \newline % Row Count 6 (+ 2) Vælg "new sql server stand-alone installation" \newline % Row Count 8 (+ 2) Under features, vælges "Database engine Services" og "SQL Server Replication", så databaser kan repliceres på flere servere \newline % Row Count 11 (+ 3) Under "Database Engine Configuration" vælges "mixed mode", og et password. Der skal ligeledes vælges en SQL server admin. Denne kan være den bruger du er logget ind som, eller der kan bruges en bruger fra AD'et. \newline % Row Count 16 (+ 5) Efter endt installation skal firewall'en konfigureres så remote klienter kan få adgang. Åben firewall manageren og vælg ny indbound rule \newline % Row Count 19 (+ 3) Vælg enten hvilke porte der skal åbnes for (1433 og 1434) ellers vælg application sqlservr.exe kan findes i program files\textbackslash{}Microsoft SQL server\textbackslash{}MSSQL13.MSSQLSERVER\textbackslash{}MSSQL\textbackslash{}Binn\textbackslash{}sqlservr.exe \newline % Row Count 23 (+ 4) Sidst installeres Microsoft SQL Server Management Studio% Row Count 25 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{Overvejelser og design af en installation af en MS SQL 2012 database på MS 2012 R2 server, herunder hensyntagen til anvendelse af ressourcer, RAM, CPU, Storage m.m.}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{4 | Installation {[}Steffen{]}}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{...% Row Count 1 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{Installere MS SQL 2012 database på MS 2012 R2 server.}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{5 | Relations Database Management System {[}Steffen{]}}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{...% Row Count 1 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{Gennemgå hvilke tabeller der indgår i Relations Database Management System (RDMS) i MS SQL 2012 samt kunne forklare anvendelse af disse.}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{6 | Bruger Oprettelse \& Test {[}Steffen{]}}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Ad bruger \newline % Row Count 1 (+ 1) server db -\textgreater{} security folder -\textgreater{} højreklik nyt login \newline % Row Count 3 (+ 2) Vælg windows authentication \newline % Row Count 4 (+ 1) Tryk search, vælg locations, vælg domænet tryk ok \newline % Row Count 6 (+ 2) Skriv navnet på ad bruger, tryk ok \newline % Row Count 7 (+ 1) Vælg evt. rettigheder under "server roles"% Row Count 8 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{Oprette bruger/ tildele rettigheder til brugere via RDMS samt oprette forbindelse til databasen fra en klient.}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{7 | Database Backup {[}Steffen{]}}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Højreklik på den database du vil lave backup af tryk tasks og tryk backup. \newline % Row Count 2 (+ 2) Under fanen general i det nye vindue, vær sikker på at den database du vil tage backup af, er valgt. \newline % Row Count 5 (+ 3) Vælg evt. en ny destinationsmappe under "add". \newline % Row Count 7 (+ 2) Naviger til fanen "media options". \newline % Row Count 8 (+ 1) Under "reliability" sæt flueben i "verify backup when finished" og "perform checksum before writing to media".% Row Count 11 (+ 3) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{Designe og opsætte backup af databaser på MS SQL 2012 efter best practice samt kunne gennemføre restore/recovery af en database.}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{8 | MS SQL Optimering {[}Kim{]}}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Her forklares kort hvilke muligheder der findes under disse punkter og hvad de gør. \newline % Row Count 2 (+ 2) 1) Logfiler \newline % Row Count 3 (+ 1) Kan sættes op på flere måder, eksempelvis ved at bruge SQL Server Audit værktøjet til at lave filtre der skriver til en log fil eller Windows Application event log. Dette kan fremvise kritiske fejl der forekommer over tid på serveren. \newline % Row Count 8 (+ 5) 2) Indeksering \newline % Row Count 9 (+ 1) Indeksering forøger hastigheden for data læsnings operationer på en database table på bekostning af yderligere skrivninger og plads for at vedligeholde indekserings data strukturen. Indekseringer bliver brugt til hurtigt at lokalisere data uden at skulle søge i hver række i en database table hver gang den bliver brugt. \newline % Row Count 16 (+ 7) 3) Monitorering \newline % Row Count 17 (+ 1) Monitorering på SQL Server kan gøres på flere måder, man kan sætte det op via Performance Monitor eller i SQL Server Management Studio ved at benytte Activity Monitor funktionen. Her kan eksempelvis monitorere på aktiviteten i real-time gennem batches ved at hente den tid det tager at ekserkvere på serveren.% Row Count 24 (+ 7) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{Anvende indbyggede metoder i MS SQL 2012 til at optimere driften af en Database, her under anvendelse af diverse logfiler, indexering, monitor samt ved anvendelse af baseline MS SQL 2012.}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{9 | SQL Database Importering/Eksportering {[}Kim{]}}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Ved at bruge værktøjet "SQL Server Import and Export Wizard" kan man nemt flytte data ud og ind af en database. \newline % Row Count 3 (+ 3) Det er muligt at eksportere det som .csv fil format eller som .sql der kan manipuleres bagefter og indskydes i Query for at importere den. \newline % Row Count 6 (+ 3) Standard fil format er .bak hvis intet andet vælges i "SQL Server Import and Export Wizard".% Row Count 8 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{Importere og eksportere en database med MS SQL 2012 indbyggede værktøjer.}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{10 | Database Replikering {[}Kim{]}}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Der findes fire typer af replikeringer man kan udføre i MS SQL Server 2012, en del kræver noget tid at sætte op med brugere og tilladelser. \newline % Row Count 3 (+ 3) 1) Snapshot replikering \newline % Row Count 4 (+ 1) Tillader komplette opfriskninger af data istedet for at opdatere databasen på en inkremental basis. \newline % Row Count 7 (+ 3) 2) Transactional replikering \newline % Row Count 8 (+ 1) Velegnet til server-til-server situationer som kræver abonnent databaser til at holde sig opdateret med ændringer på den udgivende database. \newline % Row Count 11 (+ 3) 3) Peer-to-Peer replikering \newline % Row Count 12 (+ 1) Tillader peer noder at læse og skrive ændringer og have disse ændringer propagerede til andre noder i replikations topologien. \newline % Row Count 15 (+ 3) 4) Merge replikering \newline % Row Count 16 (+ 1) Velegnet til mobile og distribureret server applikationer når data konflikt er aktuelt og hvilken som helst node kan forvolde data ændringer som eventuelt vil blive konsistent mellem alle noder.% Row Count 20 (+ 4) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{Opsætte replikering af data mellem de 2 database server, ved anvendelse af indbyggede værktøjer i MS SQL Server 2012.}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}