\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{jakobegem (DrJones)} \pdfinfo{ /Title (database-server-jakob-wensien-and-jakob-egemar.pdf) /Creator (Cheatography) /Author (jakobegem (DrJones)) /Subject (Database Server - Jakob Wensien \& Jakob Egemar 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}{2E88A3} \definecolor{LightBackground}{HTML}{F1F7F9} \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{Database Server - Jakob Wensien \& Jakob Egemar Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{jakobegem (DrJones)} via \textcolor{DarkBackground}{\uline{cheatography.com/62338/cs/16140/}}} \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}jakobegem (DrJones) \\ \uline{cheatography.com/drjones} \\ \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 21st 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*}{3} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Hvad er en database?}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{En database er en samling af data. Se det lidt som en telefonbog, dog her snakker vi om noget teknologisk. Databaser er data som er delt op i tabeller og skemaer, så det er nemmere at organisere. Formålet med databaser er at dataen skal være nem at tilgå, nem at styre og nem at opdatere.} \tn % Row Count 6 (+ 6) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{2.43873 cm} x{2.53827 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Database Design}} \tn % Row 0 \SetRowColor{LightBackground} {\bf{SQL}} (Structured Query Language) & Et af de mest udbredte programmeringssprog til relationelle databaser. \tn % Row Count 4 (+ 4) % Row 1 \SetRowColor{white} {\bf{DDL}} (Data definition language) & Et computersprog der bruges til at oprette \& modificere database objekter i en database. \tn % Row Count 9 (+ 5) % Row 2 \SetRowColor{LightBackground} {\bf{DML}} (Data manipulation language) & Et computersprog som bruges til at tilføje, slette \& modificere indhold i en database. \tn % Row Count 14 (+ 5) % Row 3 \SetRowColor{white} {\bf{DCL}} (Data control language) & Bruges til at kontrollere adgang til data på en datbase. Det er en form for authentication. \tn % Row Count 19 (+ 5) % Row 4 \SetRowColor{LightBackground} {\bf{DBMS}} (Database Management System) & Et system software til brug for at oprette og håndtere databaser. DBMS er mellemledet mellem database og API'et hos slutbrugeren. \tn % Row Count 26 (+ 7) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{2.23965 cm} x{2.73735 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{MS SQL Kravspecifikationer 2012/2016}} \tn % Row 0 \SetRowColor{LightBackground} Processor & x86 processor 1.0 GHz eller x64 processor 1.4 GHz. Dog anbefales der en processor på mindst 2.0 GHz. \tn % Row Count 5 (+ 5) % Row 1 \SetRowColor{white} Processor Type & x64 Processor (AMD Opteron, AMD Athlon 64, Intel Xeon with Intel EM64T support, Intel Pentium IV with EM64T support). x86 Processor (Pentium III compatible processor). \tn % Row Count 13 (+ 8) % Row 2 \SetRowColor{LightBackground} RAM & Mindst 512 MB for Express Edition. 1 GB for andre versioner. Der anbefale mindst 1 GB for Express \& 4 GB for andre versioner. \tn % Row Count 19 (+ 6) % Row 3 \SetRowColor{white} .Net 3.5 SP1 & Krav. \tn % Row Count 20 (+ 1) % Row 4 \SetRowColor{LightBackground} .Net 4.0 & Krav. \tn % Row Count 21 (+ 1) % Row 5 \SetRowColor{white} Powershell 2.0 & Krav. \tn % Row Count 22 (+ 1) % Row 6 \SetRowColor{LightBackground} Internet Explorer 7.0 eller nyere & Krav. \tn % Row Count 24 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{1.64241 cm} x{3.33459 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Database role membership og oprettelse af bruger}} \tn % Row 0 \SetRowColor{LightBackground} db\_owner & Hvis en bruger er tildelt disse rettigheder, kan brugeren udføre alle konfigurationer og vedligeholdelse på database. Nogen rettigheder til vedligeholdelsen af databasen kræver dog at brugeren har server-level som rettighed. \tn % Row Count 9 (+ 9) % Row 1 \SetRowColor{white} \seqsplit{db\_securityadmin} & Hvis en bruger er tildelt disse rettigheder, kan brugeren med disse rettigheder ændre på rollerne som brugere er tildelt og hvilke tilladelser der kan gives til brugerne. \tn % Row Count 16 (+ 7) % Row 2 \SetRowColor{LightBackground} \seqsplit{db\_accessadmin} & Hvis en bruger er tildelt disse rettigheder, kan tilføje og fjerne adgang til databasen for Windows logins, Windows Groups og SQL Server logins \tn % Row Count 22 (+ 6) % Row 3 \SetRowColor{white} \seqsplit{db\_backupoperator} & Hvis en bruger er tildelt disse rettigheder, kan lave backups af databasen. \tn % Row Count 25 (+ 3) % Row 4 \SetRowColor{LightBackground} db\_ddladmin & Hvis en bruger er tildelt disse rettigheder,kan køre hvilken som helst DDL command i databasen \tn % Row Count 29 (+ 4) % Row 5 \SetRowColor{white} \seqsplit{db\_datawriter} & Hvis en bruger er tildelt disse rettigheder,kan tilføje slette og ændre data i alle brugertabeller. \tn % Row Count 33 (+ 4) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{5.377cm}{x{1.64241 cm} x{3.33459 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Database role membership og oprettelse af bruger (cont)}} \tn % Row 6 \SetRowColor{LightBackground} \seqsplit{db\_datareader} & Hvis en bruger er tildelt disse rettigheder, kan læse data i alle brugertabeller. \tn % Row Count 4 (+ 4) % Row 7 \SetRowColor{white} \seqsplit{db\_denydatawriter} & Hvis en bruger er tildelt disse rettigheder, kan ikke tilføje slette og ændre data i alle brugertabeller. \tn % Row Count 9 (+ 5) % Row 8 \SetRowColor{LightBackground} \seqsplit{db\_denydatareader} & Hvis en bruger er tildelt disse rettigheder, kan ikke læse data i alle brugertabeller. \tn % Row Count 13 (+ 4) % Row 9 \SetRowColor{white} Oprettelse af bruger & Åben MS SQL Server nanagement studio, udvid Security, udvid Logins, Højreklik på Logins, vælg "New Login" \tn % Row Count 18 (+ 5) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{2.09034 cm} x{2.88666 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Relations Database}} \tn % Row 0 \SetRowColor{LightBackground} Hvad er en Relations Database & En relationsdatabase er en database, hvor data er organiseret i tabeller over systemets "ting" eller enheder, og hvor der imellem disse tabeller er relationer. Det kan være alt hvad virksomheder kan sælge, lige fra sokker til biler. Princippet i relationsdatabaser er, at de enkelte data i databasen så vidt muligt kun optræder en gang, og det opnår man ved at oprette særskilte tabeller til alle systemets entiteter, så man ikke opnår redundant data, og så databasen ikke bliver enorm med disse data. \tn % Row Count 23 (+ 23) % Row 1 \SetRowColor{white} Master & Står for logging af alle informationen på niveauet "System-level" for SQL serveren \tn % Row Count 27 (+ 4) % Row 2 \SetRowColor{LightBackground} Model & Bruges som skabelon database, alle ændringer af denne database, vil være at finde i de databaser man laver efterfølgende. \tn % Row Count 33 (+ 6) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{5.377cm}{x{2.09034 cm} x{2.88666 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Relations Database (cont)}} \tn % Row 3 \SetRowColor{LightBackground} Msdb & Bruges til planlagte alarmer og andre jobs af SQL Server agenten \tn % Row Count 3 (+ 3) % Row 4 \SetRowColor{white} Tempdb & bruges til at opbevare midlertidige objekter og resultater \tn % Row Count 6 (+ 3) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{2.4885 cm} x{2.4885 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Arkitektur i MS SQL}} \tn % Row 0 \SetRowColor{LightBackground} Client & Hvor anmodningen bliver indledt. \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} Query (forespørgsel) & SQL Query \tn % Row Count 4 (+ 2) % Row 2 \SetRowColor{LightBackground} Logical Units & Søgeord, udtryk og operatører osv. \tn % Row Count 6 (+ 2) % Row 3 \SetRowColor{white} N/W Packets & Netværksrelateret kode. \tn % Row Count 8 (+ 2) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{{\bf{Protocols}} 4 stk herunder} \tn % Row Count 9 (+ 1) % Row 5 \SetRowColor{white} {\bf{Shared Memory}} & Lokale forbindelser \& Fejlfindings formål \tn % Row Count 12 (+ 3) % Row 6 \SetRowColor{LightBackground} {\bf{Named Pipes}} & For forbindelser som er i LAN forbindelse. \tn % Row Count 15 (+ 3) % Row 7 \SetRowColor{white} {\bf{TCP/IP}} & For forbindelser som er i WAN forbindelse. \tn % Row Count 18 (+ 3) % Row 8 \SetRowColor{LightBackground} {\bf{VIA-Virtual Interface Adapter}} & Understøtter VIA enheder. \tn % Row Count 20 (+ 2) % Row 9 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{} \tn % Row Count 20 (+ 0) % Row 10 \SetRowColor{LightBackground} Server & Hvor man installererer sine SQL services og hvor man har sin databaser. \tn % Row Count 24 (+ 4) % Row 11 \SetRowColor{white} Relational Engine & Der er her det primære arbejde bliver gjort. Relational Engine inderholder Query parser/Compiler, Query optimizer \& Query executor. \tn % Row Count 31 (+ 7) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{5.377cm}{x{2.4885 cm} x{2.4885 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Arkitektur i MS SQL (cont)}} \tn % Row 12 \SetRowColor{LightBackground} Query Parser (Command Parser) \& Compiler (Translator) & Tjekker syntaxen for din Query og konvertere din Query til maskinsprog. \tn % Row Count 4 (+ 4) % Row 13 \SetRowColor{white} Query Optimizer & Den forbereder din udførselsplanen ved at tage Query, statistikker \& Algebrizer træet som input. \tn % Row Count 9 (+ 5) % Row 14 \SetRowColor{LightBackground} Execution Plan & En liste der indeholder alle de steps der skal til for at udføre en Query, i rigtig rækkefølge. \tn % Row Count 14 (+ 5) % Row 15 \SetRowColor{white} Query Executor & Det er her at ens Query vil blive udført/gennemført, trin for trin. Den får hjælp af Execution Plan og den får også hjælp fra Storage Engine. \tn % Row Count 22 (+ 8) % Row 16 \SetRowColor{LightBackground} Storage Engine & Ansvarlig for opbevaring og modtagelse af data på dit system, hertil er den også ansvarlig for data manipulation. \tn % Row Count 28 (+ 6) % Row 17 \SetRowColor{white} SQL OS & SQL OS er et lag mellem host og SQL server. Alle aktiviteter som udføres på databasemotoren er SQL OS ansvarlig for. \tn % Row Count 34 (+ 6) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{2.18988 cm} x{2.78712 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Backup af SQL Database}} \tn % Row 0 \SetRowColor{LightBackground} Backup & Backup er en kopi af data / database mv. Sikkerhedskopiering af MS SQL Server-database er afgørende for at beskytte data. MS SQL \seqsplit{Server-sikkerhedskopier} er hovedsageligt tre typer - Fuld Database, Differential eller Incremental og Transaction Log. \tn % Row Count 12 (+ 12) % Row 1 \SetRowColor{white} Backup via T-SQL (FULL) & Backup database \textless{}dit database navn\textgreater{} to disk = '\textless{}Backup fil lokation + fil navn\textgreater{}' \tn % Row Count 16 (+ 4) % Row 2 \SetRowColor{LightBackground} {\bf{Eksempel}} & Backup database DB2 to disk = 'D:\textbackslash{}DB2\_Full.bak' \tn % Row Count 19 (+ 3) % Row 3 \SetRowColor{white} Backup via T-SQL (Differential) & Backup database \textless{}dit database navn\textgreater{} to disk = '\textless{}Backup fil lokation + fil navn\textgreater{}' with differential \tn % Row Count 24 (+ 5) % Row 4 \SetRowColor{LightBackground} {\bf{Eksempel}} & Backup database DB2 to disk = 'D:\textbackslash{}DB2\_diff.bak' with differential \tn % Row Count 27 (+ 3) % Row 5 \SetRowColor{white} Backup via T-SQL (LOG) & Backup log \textless{}dit database navn\textgreater{} to disk = '\textless{}Backup fil lokation + fil navn\textgreater{}' \tn % Row Count 31 (+ 4) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{5.377cm}{x{2.18988 cm} x{2.78712 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Backup af SQL Database (cont)}} \tn % Row 6 \SetRowColor{LightBackground} {\bf{Eksempel}} & Backup log DB2 to disk = 'D:\textbackslash{}DB2\_log.trn' \tn % Row Count 2 (+ 2) % Row 7 \SetRowColor{white} \mymulticolumn{2}{x{5.377cm}}{} \tn % Row Count 2 (+ 0) % Row 8 \SetRowColor{LightBackground} Backup via SQL Server Management & For at foretage backup via Server management, skal man blotte connecte til sin server og højreklikke på den og vælge backup. Herefter vil man have mulighed for at vælge hvilken type backup samt sti, hvor den skal gemmes. \tn % Row Count 13 (+ 11) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{2.33919 cm} x{2.63781 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{• Importere og eksportere en database}} \tn % Row 0 \SetRowColor{LightBackground} SQL Server Import and Export Wizard & Den nemmeste måde at importere og eksportere dataser i MS SQL er ved at bruge den wizard Microsoft har lavet. \tn % Row Count 6 (+ 6) % Row 1 \SetRowColor{white} {\bf{Steps}} & Vælg en datakilde. \tn % Row Count 7 (+ 1) % Row 2 \SetRowColor{LightBackground} & Vælg en destination for dataen. \tn % Row Count 9 (+ 2) % Row 3 \SetRowColor{white} & Konfigurer destinationen (valgfri) \tn % Row Count 11 (+ 2) % Row 4 \SetRowColor{LightBackground} & Specificer hvad du vli kopiere, en Query, Table osv. \tn % Row Count 14 (+ 3) % Row 5 \SetRowColor{white} & Konfigurer kopi operationen (valgfri) \tn % Row Count 16 (+ 2) % Row 6 \SetRowColor{LightBackground} & Kopier dataen. \tn % Row Count 17 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Kildeliste}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Praxis Online / Fremlæggelser af Kim} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{\seqsplit{https://www.tutorialspoint.com/ms\_sql\_server/index.htm}} \tn % Row Count 3 (+ 2) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{\seqsplit{https://docs.microsoft.com/en-us/sql/sql-server/sql-server-technical-documentation?view=sql-server-2016}} \tn % Row Count 6 (+ 3) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{\seqsplit{https://www.techopedia.com/}} \tn % Row Count 7 (+ 1) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{\seqsplit{https://docs.microsoft.com/en-us/sql/sql-server/install/hardware-and-software-requirements-for-installing-sql-server?view=sql-server-2017}} \tn % Row Count 10 (+ 3) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}