Tárolt eljárások használata dedikált SQL-készletekhez az Azure Synapse Analyticsben

Jótanács

Microsoft Fabric Data Warehouse egy nagyvállalati szintű relációs raktár egy Data Lake-alaprendszeren, jövőre kész architektúrával, beépített AI-vel és új funkciókkal. Ha még nem ismerkedik adattárházzal, kezdje a Fabric Data Warehouse. A meglévő dedikált SQL-készlet számítási feladatai frissíthetők Fabric az adatelemzés, a valós idejű elemzés és a jelentéskészítés új képességeinek eléréséhez.

Ez a cikk tippeket nyújt a dedikált SQL-készletmegoldások fejlesztéséhez tárolt eljárások implementálásával.

Mire számítsunk?

A dedikált SQL-készlet támogatja az SQL Serverben használt számos T-SQL-funkciót. Ennél is fontosabb, hogy vannak vertikális felskálázási funkciók, amelyekkel maximalizálhatja a megoldás teljesítményét.

Emellett a dedikált SQL-készlet skálájának és teljesítményének fenntartásához további funkciók és funkciók is rendelkezésre állnak, amelyek viselkedési eltérésekkel rendelkeznek.

Tárolt eljárások bevezetése

A tárolt eljárások kiválóan alkalmasak az SQL-kód beágyazására, amely a dedikált SQL-készlet adataihoz közel van tárolva. A tárolt eljárások segítenek a fejlesztőknek abban is, hogy a kód kezelhető egységekbe való beágyazásával modulárissá alakítsák megoldásaikat, ezáltal megkönnyítve a kód újrafelhasználhatóságát. Az egyes tárolt eljárások paramétereket is elfogadnak, hogy még rugalmasabbá tegyék őket.

A dedikált SQL-készlet egyszerűsíti és áttekinthetővé teszi a tárolt eljárások implementálását. Az SQL Serverhez képest a legnagyobb különbség az, hogy a tárolt eljárás nem előre lefordított kód.

Az adattárházak esetében általában a fordítási idő kicsi a nagy adatmennyiségeken végzett lekérdezések futtatásához szükséges időhöz képest. Sokkal fontosabb, hogy a tárolt eljáráskód megfelelően legyen optimalizálva nagy lekérdezésekhez.

Jótanács

A cél az, hogy órákat, perceket és másodperceket takarítson meg, ne ezredmásodperceket. Ezért hasznos, ha a tárolt eljárásokat SQL-logika tárolójaként tekintjük.

Amikor egy dedikált SQL-készlet végrehajtja a tárolt eljárást, a rendszer futtatáskor elemzi, lefordítja és optimalizálja az SQL-utasításokat. A folyamat során a rendszer minden utasítást elosztott lekérdezésekké konvertál. Az adatokon végrehajtott SQL-kód eltér az elküldött lekérdezésétől.

Tárolt eljárások beágyazása

Ha a tárolt eljárások meghívnak más tárolt eljárásokat, vagy dinamikus SQL-t hajtanak végre, akkor a rendszer azt mondja, hogy a belső tárolt eljárás vagy kódhívás beágyazott.

A dedikált SQL-készlet legfeljebb nyolc beágyazási szintet támogat. Ezzel szemben az SQL Server fészek szintje 32.

A legfelső szintű tárolt eljáráshívás a beágyazási szint 1-nek felel meg.

EXEC prc_nesting

Ha a tárolt eljárás egy másik EXEC-hívást is kezdeményez, a beágyazottsági szint kettőre emelkedik.

CREATE PROCEDURE prc_nesting
AS
EXEC prc_nesting_2  -- This call is nest level 2
GO
EXEC prc_nesting

Ha a második eljárás ezt követően dinamikus SQL-t hajt végre, a beágyazás szintje háromra nő.

CREATE PROCEDURE prc_nesting_2
AS
EXEC sp_executesql 'SELECT 'another nest level'  -- This call is nest level 2
GO
EXEC prc_nesting

A dedikált SQL-készlet jelenleg nem támogatja a @@NESTLEVEL. Ezért nyomon kell követnie a fészekszintet. Nem valószínű, hogy túllépi a nyolc fészekszintű korlátot. Azonban, ha mégis ezt teszi, át kell dolgoznia a kódot úgy, hogy megfeleljenek a beágyazási szintek ezen korlátainak.

BEILLESZT.. KIVÉGEZ

A dedikált SQL-készlet nem teszi lehetővé, hogy insert utasítással használja fel a tárolt eljárás eredményhalmazát. Van azonban egy alternatív megközelítés, amelyet használhat. Például tekintse meg az ideiglenes táblákról szóló cikket.

Korlátozások

A dedikált SQL-készletben nem implementált Transact-SQL tárolt eljárások bizonyos aspektusai a következők:

  • ideiglenes tárolt eljárások
  • számozott tárolt eljárások
  • kiterjesztett tárolt eljárások
  • CLR tárolt eljárások
  • titkosítási lehetőség
  • replikációs lehetőség
  • táblaértékkel megadott paraméterek
  • csak olvasható paraméterek
  • alapértelmezett paraméterek
  • végrehajtási környezetek
  • visszatérési utasítás

Következő lépések

További fejlesztési tippekért tekintse meg a fejlesztés áttekintését.