Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
SQL Server 2012 Top 10 new features Agenda 1. AlwaysOn Availability Groups 2. ColumnStore Index 3. Contained database 4. Windowing functions 5. FileTable 6. Semantic Search 7. T-SQL enhancements 8. Server roles en default schema voor groups 9. SSIS project deployment 10. BISM met PowerView 1. Availability Groups • Mirroring 2.0 (?) • Highlights: – Zelf groep van databases definiëren – Tot 4 secondaries – Read-only secondaries – Backup from secondary • (not differential) • Zie sessie van Robert Hartskeerl over AlwaysOn om 11.00u 2. Column store index • Normale heap/index slaat records rij voor rij op • Veel IO overhead als niet alle kolommen nodig zijn • Column store index slaat gegevens per kolom op – Betere compressie – Minder IO – Veel betere performance • Zie sessie van Hugo Kornelis: SQL Server 2012 ColumnStore index om 14.45u 3. Contained Database • Moving a database to a different SQL Server instance is easy – Detach / attach – Backup / restore • Right? • How about – – – – – – Logins ? Linked Servers ? Database mail ? Jobs ? #temp tables / cross database joins and collation ? …? Contained Database geeft: 1. Database authentication • • Users met wachtwoord / windows users Geen mapping met login -> geen orphaned users 2. TempDB collation issues • Objecten in tempdb worden gemaakt met de collation van de database 3. DB is meer een black box. Verplaatsen is makkelijker (Azure?, OTAP?, ..) • Nog te wensen: – – Volledige onafhankelijkheid van instance Alleen partially contained is nu geïmplementeerd Contained database DEMO Tot slot • EXEC sp_configure ‘contained database authentication’, 1 • SELECT * FROM sys.dm_db_uncontained_entities • ALTER DATABASE <name> SET CONTAINMENT PARTIAL • Niet alle features zijn te combineren met contained databases • Er zijn enkele security implicties, oa: – Databases met guest account enabled zijn benaderbaar – Users met control database permission kunnen containment aanzetten en mensen toegang geven – … (zie BOL) 4. Windowing functions • over clause van aggregate functies uitgebreid met: – Rows x preceding – Rows between x preceding and y following – Rows unbounded preceding –… • Geeft toepassingen als moving average, meelopend totaal, vergelijk met vorige maand, … Windowing functions DEMO Extra grouping functions • PERCENTILE_CONT, PERCENTILE_DISC – In statistics, a percentile (or centile) is the value of a variable below which a certain percent of observations fall. • PERCENT_RANK, CUME_DIST – Calculates the relative rank of a row within a group of rows • FIRST_VALUE, LAST_VALUE – Returns the first, last value in an ordered set of values – +- Comparable to sibling functions in SSAS hierarchy • LEAD, LAG – Accesses data from a subsequent, earlier row in the same result set without the use of a self-join with a given offset 5. FileTable • Klassiek database ontwerp issue: BLOB’s in database of extern op fileshare? – Beide oplossingen hebben nadelen • SQL Server 2008: FileStream – Best of both worlds: wij doen ze in de database maar SQL Server zet ze op een fileshare – Nadeel: applicatiecode moet aangepast om feature te gebruiken • SQL Server 2012: FileTable – Geen onderscheid meer tussen fileshare en tabel – Intergreert goed met full text en semantic search 6. Semantic Search • Uit BOL: – provides deep insight into unstructured documents stored in SQL Server databases by extracting statistically relevant key phrases, and then - based on these phrases – identifying similar documents. These results are made available as structured data through three Transact-SQL rowset functions – full-text search: query for words in a document – semantic search: query the meaning of the document – E.g. query the document similarity index to identify resumes that match a job description Voorbereiding • Installeer en enable full text search • Run SemanticLanguageDatabase.msi – Unpacks mdf • Attach semanticdb database • Register semanticdb: – sp_fulltext_semantic_register_language_statistics_db @dbname = N'semanticsdb; • Installeer iFilters om te zoeken inbijvoorbeeld docx, pptx, … FileTable + semantic search DEMO 7. T-SQL enhancements • • • • Throw (ter vervanging van raiserror) Sequence (ter vervanging van identity) Paging (offset x rows fetch next y rows) Functions: – Parse (convert met regional settings) – Try_parse (parse maar zonder errors) – Format (omdat we code 105 van convert niet kunnen onthouden) – Concat (omdat we niet van NULL houden) – IIF (omdat CASE soms omslachtig is) T-SQL DEMO 8. Security • Server roles • default schema voor groups User defined server roles • Eigen rollen maken op instance level – Vergelijkbaar met database roles – Minder noodzaak voor sysadmin – Minder rechten voor administrators (better separation of duties) – Triggers voor add/remove logins to user-defined server roles • T-SQL – CREATE/DROP SERVER ROLE – ALTER SERVER ROLE • E.g. ALTER SERVER ROLE Production ADD MEMBER [TrainSQL\Peter] ; default schema voor groups • Probleem met SQL Server 2008 en eerder: – Schema en user worden automatisch aangemaakt als object gemaakt in default schema en er is geen default schema – Logins gebaseerd op groepen kennen geen default schema • Login gebaseerd op windows groep kan nu default schema krijgen (no. 1 customer request) • Schema management makkelijker Security DEMO 9. SSIS project deployment • Probleem met SQL Server 2008 en eerder: – Deployen naar filesystem of SQL Server (msdb)? • Project deployment: – SSISDB catalog (vergelijkbaar met ReportServer database) – Meer versies van project mogelijk – Environments vervangen configurations – Parameters vervangen parent package configurations • T-SQL procedures om packages uit te voeren SSIS DEMO 10. BISM met PowerView • BISM = BI Semantic Model – Nieuw model naast SSAS UDM – Gebaseerd op PowerPivot • PowerView: – Rapportage tool voor niet techneuten • Zie sessie van Marcel Westra om 13.30u GetReady 2012 • • • • Utrecht 19 juni Hele dag nieuwe features Peter ter Braake BEDANKT! Peter ter Braake [email protected] @pbraake