SQL Server 2012 - sqlzaterdag.nl

Download Report

Transcript SQL Server 2012 - sqlzaterdag.nl

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