Microsoft SQL Server 2022 is nu beschikbaar en biedt, naast de ingebouwde integratie met Azure, veel nieuwe functies en voordelen voor ontwikkelaars. In dit artikel zullen we de aandacht richten op de specifieke functies en voordelen die de nieuwe versie biedt voor ontwikkelaars.
Ontvang informatie en tips over alles wat met servers te maken heeft, schrijf je in voor de gratis nieuwsbrief:
Microsoft SQL Server & Azure Cloud
Microsoft blijft zich richten op het aanbieden van SQL Server voor de Azure Cloud en het stimuleren van integratie met on-premises installaties. SQL Server 2022 wordt geleverd met de koppelingsfunctie voor Azure SQL Managed Instance, zodat platform-as-a-service-functies ook kunnen worden gebruikt op zelfgehoste serverinstanties, zoals data recovery of het uitbesteden van aanvragen voor grote hoeveelheden data.
De nieuwe Microsoft SQL Server 2022 biedt een scala aan verbeteringen voor ontwikkelaars, ondanks de focus op cloudintegratie. De nieuwe versie bevat veel verbeteringen in het Transact-SQL (T-SQL) vocabulaire, in tegenstelling tot eerdere versies. Dit biedt ontwikkelaars meer mogelijkheden en innovaties.
Bepalen of twee waarden al dan niet te onderscheiden zijn
Een nieuwe mogelijkheid in deze release is om te bepalen of twee waarden al dan niet te onderscheiden zijn. Dit vermindert de noodzaak om rekening te houden met NULL-waarden bij filters in kolom- of functie-uitdrukkingen. Hierdoor zijn de query’s gemakkelijker te schrijven en te lezen, hoewel ze niet merkbaar sneller zijn. Dit is een welkome verbetering voor beginners die vaak worstelen met de behandeling van NULL-waarden in filters en de noodzaak om het sleutelwoord IS te gebruiken.
SELECT * FROM sys.Databases WHERE 0 IS DISTINCT FROM 1;
SELECT * FROM sys.Databases WHERE 0 IS DISTINCT FROM NULL;
SELECT * FROM sys.Databases WHERE 0 IS NOT DISTINCT FROM 1;
SELECT * FROM sys.Databases WHERE 0 IS NOT DISTINCT FROM NULL;
Het begin en einde van een regel trimmen in Microsoft SQL Server 2022
Nu kun je gewoon de TRIM-functie gebruiken om ongewenste tekens aan de begin- en eindkant van een regel te verwijderen. Geen gedoe meer met twee verschillende functies. Bovendien kan je nu elk karakter verwijderen, handig! Hieronder geven we een voorbeeld over hoe je TRIM() kunt gebruiken:
DECLARE @caption VARCHAR(100) = '-== SQL Server 2022 ==-';
SELECT LTRIM(@caption, '-= ') AS [LTRIM],
RTRIM(@caption, '-= ') AS [RTRIM];
SELECT TRIM(LEADING '-= ' FROM @caption) AS [LEADING],
TRIM(TRAILING '-= ' FROM @caption) AS [TRAILING],
TTRIM(BOTH '-= ' FROM @caption) AS [BOTH];
Er zijn twee nieuwe functies genaamd GREATEST() en LEAST(). Deze zijn handig omdat ze de grootste of kleinste waarde uit een lijst geven. Hiermee kun je makkelijk een maximum of minimum vinden van verschillende waarden. Bovendien is het eenvoudig om geneste IIF- of – constructies te vervangen door CASE WHEN-statements.
Microsoft SQL Server 2022: de GENERATE_SERIES() opdracht
De nieuwe opdracht GENERATE_SERIES() maakt het eenvoudig om rijen met getallen te maken. Je kunt een begin- en eindwaarde en een optionele stapgrootte opgeven. Dit is zeer nuttig en kan een veelzijdige oplossing zijn voor veel taken. Naast de nieuwe en verbeterde T-SQL-functies en taalkenmerken, moeten ook de volgende uitbreidingen worden vermeld: DATE_BUCKET() verdeelt tijdsperioden in gewenste eenheden (dag/maand/jaar). APPROX_PERCENTILE_DISC() geeft een benaderend resultaat voor grote hoeveelheden gegevens en is daarom performanter dan zijn exacte tegenhanger PERCENTILE_DISC().
JSON-innovaties in Microsoft SQL Server 2022
De ontwikkelaars hebben de met SQL Server 2016 geïntroduceerde ondersteuning voor JSON uitgebreid met een aantal nieuwe functies. Desgewenst maakt de functie JSON_ARRAY() nu arrays aan die in theorie ook de waarde van een eigenschap kunnen zijn. De veranderingen zorgen er niet voor dat JSON beter presteert, zeker niet bij grotere hoeveelheden data, maar maken ze in ieder geval makkelijker hanteerbaar.
Ledger-tabellen in Microsoft SQL Server 2022
Microsoft SQL Server 2022 introduceert bovendien Ledger Tables. Dit is een nieuwe functie die helpt bij het detecteren van corruptie op bestandsniveau in databasemedia en back-ups. Deze functie werkt met een blockchain-achtig cryptografisch proces om wijzigingen in de database te beveiligen. Hierdoor wordt het onmogelijk gemaakt om ongemerkt informatie in een database te wijzigen. Ledger tables zijn in twee verschillende varianten beschikbaar, een die kan worden bijgewerkt en een die alleen nieuwe rijen accepteert.
Zo kun je ledgers als tabellen gebruiken waarvan de inhoud via T-SQL kan worden gewijzigd en normaal via de SQL-server. Deze ledger tables werken op een vergelijkbare manier als systeemversiebeheer: er is een tabel met actuele gegevens en een onderliggende geschiedenistabel die wijzigingen vastlegt. Echter, de ledger tables maken gebruik van een cryptografische keten die digitaal forensisch bewijs levert van eventuele sabotage. De DDL (Data Definition Language) voor het maken van zo’n tabel is beschikbaar in een lijst.
Met de ledger tabellen in SQL Server 2022, is het mogelijk om gegevens op een goede & veilige manier op te slaan, zonder enige kans op fraude of wijziging van de gegevens. Het gebruik van deze tabellen is eenvoudig en vereist geen extra inspanning van de toepassing.
Conclusie
De release van Microsoft SQL Server 2022 is een interessante ontwikkeling, wellicht meer dan zijn voorgangers uit 2017 en 2019. Microsoft lijkt zich met deze nieuwe release sterk te richten op de cloud. Ook biedt het tegelijkertijd diverse nieuwe functies en verbeteringen die ontwikkelaars hoogstwaarschijnlijk wel zullen waarderen.