Katholieke Hogeschool Kempen Campus Geel Departement Handelswetenschappen en Bedrijfskunde 3de jaar Toegepaste Informatica Beheer van databanken Labo 2 Hoofdstuk 3 Beheer van database files Hoofdstuk 4 Beheer security Svenia CLAES – secretaris Britt Jacobs Lies Van der Goten Wesley VanVlerken Academiejaar 2010 -2011 Inhoudsopgave 1 Creëren/wijzigen van een database in de grafische omgeving ....................................................... 4 2 Creëren van een database in T-SQL ................................................................................................ 7 3 Informatie uit views......................................................................................................................... 9 4 Informatie m.b.v stored procedures ............................................................................................. 11 5 Alter Database ............................................................................................................................... 13 6 Koppelen en ontkoppelen (zelfde instantie) ................................................................................. 14 7 Koppelen en ontkoppelen (andere instantie) ............................................................................... 15 8 Creëren van een database met meerdere bestanden en filegroups ............................................ 15 9 Een database van naam wijzigen .................................................................................................. 16 10 Verwijderen van een database.................................................................................................. 16 11 Creëren van een SQL-script, gebruik van templates ................................................................. 16 12 Aanmaken gebruikers en groep in Windows 2008 ................................................................... 17 13 Logins van Windows toevoegen/testen .................................................................................... 17 14 Logins van SQL Server................................................................................................................ 19 15 Verweesde gebruikers ............................................................................................................... 20 16 Vragen ....................................................................................................................................... 20 17 Gebruikers toevoegen aan een database.................................................................................. 21 18 Tonen van gebruikers en database roles .................................................................................. 21 19 Database role ............................................................................................................................ 21 20 Systeem views ........................................................................................................................... 22 21 Functies ..................................................................................................................................... 22 22 Permissions – Database Scope .................................................................................................. 22 23 Permissions – Schema Scope..................................................................................................... 22 24 Application role ......................................................................................................................... 22 25 Toegangsrechten op een view en stored procedure ................................................................ 22 26 De owner van een object .......................................................................................................... 23 27 Stored procedures ..................................................................................................................... 23 28 Ontkoppelen .............................................................................................................................. 23 Labo 2 Hoofdstuk 3 Beheer van database files Hoofdstuk 4 Beheer security 1 Creëren/wijzigen van een database in de grafische omgeving Rechtsklikken op “Database” en “New Database” kiezen. Bij “Database name” vul je “Lokalenverhuur” in. De Database File Lokalenverhuur wordt een Initial Size van 4 MB gegeven en geen autogrowth. Om de autogrowth aan te passen klik je op de knop met de drie puntjes. Wij doen het vinkje bij “Enable Autogrowth” weg. Het Log bestand geven we een Initial Size van 2 MB en we zetten de autogrowth uit. Om de eigenschappen van een database te bekijken, klik je rechts op de database en kies je “Properties”. In het “Properties” venster kan je in de page “General” zien hoeveel beschikbare ruimte (Space Available) er is in de database. De benamingen van de database files vind je terug in de page “Files”. Als je met de scrollbark verder naar rechts gaat, vind je ook het pad op, waar deze bestanden zijn opgeslagen. De eigenschappen kunnen aangepast worden in het properties venster. Om Autogrowth 4 MB en maximum grootte 52 MB in te stellen voor het gegevensbestand: Om Autogrowth 2 MB en maximum grootte 24 MB in te stellen voor het logbestand: 2 Creëren van een database in T-SQL Eigenschappen van de nieuwe database: • Naam: Artikels • Gegevensbestand: o Logische naam: Artikels_Data o Fysische naam: Artikels_Data.mdf o Pad: D:\Data (Map aanmaken als die nog niet bestaat) o Initiele groote: 7 MB o Autogrowth: 3 MB • Logbestand: o Logische naam: Artikels_Log o Fysische naam: Artikels_Log.ldf o Pad: D:\Data (Map aanmaken als die nog niet bestaat) o Initiele grootte: 3 MB o Autogrowth: 1 MB o Maximale groote : 10 MB Eigenschappen van de database Artikels door rechts te klikken op “Artikels” en properties te kiezen. Aanpassen van de maximale grootte van Artikels_Data naar 20 MB. De optie Auto Close kan je inschakelen door in de page “Options” de optie “Auto Close” op True te zetten. 3 Informatie uit views Informatie uit views opvragen met SQL-statements: a) Informatie over de database in de instantie van SQL Server b) De mogelijke opties die ingesteld kunnen worden c) Informatie van de database Lokalenverhuur • Grootte van de database • Eigenaar van de database • Wanneer de database aangemaakt is • Het compability level • Ingestelde collation name • Read Only eigenschap • Auto Close eigenschap 4 Informatie m.b.v stored procedures a) USE AdventureWorks2008R2 EXEC sp_spaceused De grootte van de database en de vrije ruimte worden getoond samen met hoe de database grootte is opgedeeld. Voor de grootte van de database kan er EXEC sp_helpdb AdventureWorksLT2008R2 gebruikt worden. b) USE AdventureWorks2008R2 EXEC sp_spaceused ‘Production.Product’ Geeft weer hoe het gebruikte geheugen verdeeld is van de Tabel Product uit het schema Production c) Stored procedure sp_dboption • Mogelijke opties • Ingestelde opties van Lokalenverhuur • Optie Read Only inschakelen EXEC sp_dboption 'Lokalenverhuur', 'read only', 'true' Read only uitschakelen Je kan ook ALTER DATABASE gebruiken in plaats van sp_dboption. 5 Alter Database Wijzigingen aanbrengen in de database Lokalenverhuur met behulp van ALTER DATABASE. a) Logische naam van het gegevensbestand aanpassen b) Logische naam van het logbestand aanpassen c) Optie ANSI NULL als default ingeschakeld instellen d) Optie Auto Shrink niet geselecteerd instellen 6 Koppelen en ontkoppelen (zelfde instantie) Om de database Artikelen te ontkoppelen: • Rechtsklikken op Artikels – Tasks – Detach • Vervolgens in het venster dat verschijnt op OK klikken. De database files verplaatsen naar D:\Verplaatst. Om de database opnieuw koppelen: • Rechtsklikken om Databases – Attach • Op Add klikken • Op OK klikken • Op OK klikken Pad van de bestanden is aangepast. 7 Koppelen en ontkoppelen (andere instantie) Kunnen we niet doen, omdat we niet op de andere instantie kunnen werken. 8 Creëren van een database met meerdere bestanden en filegroups Database Administratie met volgende bestanden: • AdminData01, AdminData02 ,AdminData03 o Initiële grootte van 5 MB o Auto growth van 5 MB o Maximale grootte van 20 MB • AdminLog o Initiële grootte van 3 MB o Auto growth van 2 MB o Maximale grootte van 10 MB Filegroup FG01 aanmaken via de page Filegroup en dan op Add klikken. AdminData02 en AdminData03 in de Filegroup FG01 zetten Schema “Medewerker” aanmaken met T-SQL: Tabel Medewerker in het schema Medewerker aanmaken met T-SQL en in de filegroup FG01 zetten Filegroups tonen en het aantal bestanden (filecount) dat erin zitten. Meer informative van de filegroup FG01 opvragen. 9 Een database van naam wijzigen Naam van de database Administratie wijzigen naar AdministratieOud door rechtsklikken en rename te kiezen. Bij het wijzigen van de database naam worden er geen wijzigingen doorgevoerd bij de logische namen van de bestanden en ook niet bij hun fysische namen. De database terug Administratie noemen met T-SQL: 10 Verwijderen van een database Verwijderen van de database Artikels door rechtsklikken en delete te kiezen. De bestanden werden ook van de harde schijf gewist. 11 Creëren van een SQL-script, gebruik van templates SQL-code voor het creëren van een database genereren door rechtsklikken op de database, Script Database As, Create to en dan file te kiezen. 12 Aanmaken gebruikers en groep in Windows 2008 We maken volgende groepen en gebruikers lokaal aan op onze computer: • • Groep CustomerMgmt o Carl o David o Kathy o Lisa Group Users o Paul o Max 13 Logins van Windows toevoegen/testen Om in SQL Server de logins toe te voegen open je de Security node, rechtsklikken op Logins en kies New Login. We voegen volgende logins toe: Windows – gebruiker of – groep Carl Paul Kathy CustomerMgmt Default database Language Master Master Master Master Default Default Dutch Default 1. Aanmelden als David a. Krijgt toegang omdat hij in de CustomerMgmt group zit. 2. Aanmelden als Max a. Krijgt geen toegang omdat hij noch de groep toegevoegd werden als SQL Server logins. 3. Verwijderen van de group CustomerMgmt in SQL Server a. Carl en Kathy kunnen nog wel inloggen omdat die users individueel werden toegevoegd in SQL Server. b. David en Lisa kunnen niet meer inloggen omdat ze niet individueel werden toegevoegd. 4. Groep CustomerMgmt terug toevoegen, Carl Deny Access geven. a. Carl heeft geen toegang meer, omdat de individuele instellingen de groepsinstellingen overschrijven. 5. Carl terug toegang geven door een T-SQL statement te gebruiken a. ALTER LOGIN [CustomerMgmt\Carl] enable 6. Paul toegang weigeren door een T-SQL statement te gebruiken a. DENY CONNECT SQL TO [Users\Paul] 7. Login van Kathy deactiveren door een T-SQL statement te gebruiken a. ALTER LOGIN [CustomerMgmt\Kathy] DISABLE 8. Login van Kathy terug activeren door een T-SQL statement te gebruiken a. ALTER LOGIN [CustomerMgmt\Kathy] ENABLE 9. Carl toevoegen tot de serverrol Database creators door een T-SQL statement te gebruiken a. sp_addsrvrolemember ‘Carl’, ‘dbcreator’ 10. Carl de serverrol Database creators ontnemen a. sp_dropsrvrolemember ‘Carl’, ‘dbcreator’ 11. select * from sys.server_principles 14 Logins van SQL Server 1. Mixed authentication mode inschakelen: a. Rechtklikken om de servernaam, properties kiezen b. Naar de page security gaan en het keuzerondje bij “SQL Server and Windows Authentication mode” aanduiden 2. Grafische volgende SQL Server-logins aanmaken: Naam Wachtwoord Default database Language Piet piet Master Default Annabelle anne Master Default In de security node rechtsklikken op Logins en dan kiezen voor New Login. 3. Met T-SQL statements volgende SQL-Server –logins aanmaken Naam Wachtwoord Werner werner Ria ria CREATE LOGIN Werner with PASSWORD = 'werner', default_database = master, default_language = Default, check_policy = off CREATE LOGIN Ria with PASSWORD = 'ria', default_database = master, default_language = Dutch, check_policy = off Default database Master Master Language Default Dutch 4. Met T-SQL het wachtwoord van Annebelle wijzigen alter login Annebelle with password = 'annebelle' 5. Met T-SQL de default database van Werner wijzigen alter login Werner with default_database = AdventureWorks2008R2 6. Met T-SQL de standaardtaal van Ria wijzigen alter login Ria with default_language = English 7. Met T-SQL de login account van Ria verwijderen drop login Ria Ria kan zich niet meer aanmelden. Andere login accounts zoals die van Werner kunnen zich wel nog aanmelden. 8. Select * from sys.server_principals 15 Verweesde gebruikers Nieuwe gebruiker Willy toevoegen in Windows en vervolgens toegang geven tot SQL Server. Willy verwijderen als gebruiker in Windows. Met volgends SQL statement kan je de gebruikers weergeven die niet meer bestaan in Windows: • exec sp_validatelogins Willy verwijderen als login in SQL Server: • DROP user Willy 16 Vragen Wachtwoorden van Windows - gebruikers kunnen niet gewijzigd worden in SQL Server. De wachtwoorden van SQL Server – gebruikers kunnen wel gewijzigd worden SQL Server.: alter login Annebelle with password = 'annebelle' 17 Gebruikers toevoegen aan een database Database Planten in de map D:\Data zetten en koppelen in SQL Server door rechtsklikken en attach te kiezen. De gebruiker Annabelle toegang geven tot de database Planten, als default schema dbo instellen en aan de database role db_owner toevoegen. alter login Annebelle with default_database = Planten, default_schema = dbo, role db_owner De Group CustomerMgmt toegang geven tot de database Planten alter login CustomerMgmt with default_database = Planten Kathy, Carl, Piet en Werner gebruikers maken van de database AdventureWorksR2, en als default schema HumanResources. alter login Kathy, Carl, Piet, Werner with default_database = AdventureWorksR2, default_schema = HumanResources, 18 Tonen van gebruikers en database roles Met de view sys.databases_principles kan je onder andere de gebruikers, databaserollen, gegevens van gebruikers en ingebouwde database roles zien. Select * from sys.databases_principles 19 Database role Je kan een nieuwe database role toevoegen door: • De node Roles in Security te openen, rechtsklikken op Database Roles en New Database Role te kiezen. • De nieuwe database role noemen we CustomerMgmt en is van toepassing op de database AdventureWorks2008R2. • We voegen Carl en Kathy toe bij de Role Members. Via T- SQL-statement of stored procedures • • • • • Databaserol Marketing aanmaken create role Marketing Gebruikers Piet en Werner toevoegen aan de databaserol Marketing exec sp_addrolemember Marketing, Piet exec sp_addrolemember Marketing, Werner Piet verwijderen uit de databaserol Marketing exec sp_droprolemember Marketing, Piet Gebruikers van de datarol Marketing tonen exec sp_helprolemember Marketing Databaserol Marketing verwijderen exec sp_droprole Marketing 20 Systeem views De view sys.all_views toont alle door gebruikers gemaakte en systeem views. De view sys.dm_os_loaded_modules toont een rij voor elke module op de server. De view sys.configurations toont een rij per server-configuration optie in het systeem. 21 Functies De functie SUSER_SNQME() geeft de login naam terug van een gebruiker met een bepaalde SID. De functie USER_NAME() geeft de database user name terug van een bepaalde SID. 22 Permissions – Database Scope Kunnen we niet doen omdat we de database AdventureWorks2008R2 niet kunnen installeren. 23 Permissions – Schema Scope Kunnen we niet doen omdat we de database AdventureWorks2008R2 niet kunnen installeren. 24 Application role Kunnen we niet doen omdat we de database AdventureWorks2008R2 niet kunnen installeren. 25 Toegangsrechten op een view en stored procedure Kunnen we niet doen omdat we de database AdventureWorks2008R2 niet kunnen installeren. 26 De owner van een object Kunnen we niet doen omdat we de database AdventureWorks2008R2 niet kunnen installeren. 27 Stored procedures Met sys.fn_builtin_permissions kan je de toegangsrechten zien die op de database, schema en gebruiker gekoppeld zijn. SELECT * FROM sys.fn_builtin_permissions (DEFAULT) 28 Ontkoppelen Om de database Planten te ontkoppelen, klik je rechts en kies je detach.