Exportera SQL-lagrad procedur till en fil och generera dess skript
i tidigare artiklar har vi granskat en allmän algoritm för att hitta och ta bort ofullständiga öppna transaktioner i SQL Server-databaser, skapat en tabell för att fixa ofullständiga transaktioner och en CRUD-lagrad procedur och implementerat många inställningar som gör vårt dokumentarbetsflöde produktivt och praktiskt.
låt oss nu exportera och testa en lagrad procedur, generera dess kod och förvandla den till ett skript – det kommer att köras på någon värd eller en grupp värdar genom att ange korrekta inmatningsparametrar.
exportera lagrad procedur i SQL Server
det kan också vara ganska användbart att generera ett skript för att skapa nödvändiga databasobjekt, till exempel generera ett skript för att exportera en lagrad procedur till en fil eller kopiera den lagrade proceduren till andra lösningar. För att göra detta, följ följande steg:
- i Object Explorer högerklickar du på din databas
- Välj uppgifter från snabbmenyn som visas
- välj kommandot generera skript
- markera objekten till script
- i fönstret Ange Skriptalternativ väljer du skript till fil
- kör det genererade skriptet mot måldatabasen.
när alla dessa steg utförs får vi ett genererat skript av den exporterade lagrade proceduren.
testa en lagrad procedur
låt oss återgå till en lagrad procedur som vi har skapat i del 2. Om vi drar markören till en lagrad procedur kommer en rullgardinsmeny att dyka upp:
för att fungera korrekt bör din lagrade procedur ha en beskrivning. Om det inte har lagts till ännu, kör följande skript:
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Identification of frozen transactions (forgotten ones that do not have active requests) with their subsequent removal' , @level0type=N'SCHEMA',@level0name=N'srv', @level1type=N'PROCEDURE',@level1name=N'AutoKillSessionTranBegin'
GO
eller gå till objektets utökade egenskaper:
du kan också lägga till en beskrivning med den här metoden.
lagrad procedurs kodgenerering
du kan ringa det med ett högerklick på en lagrad procedurs rullgardinsmeny och välj sedan ”Script Object as CREATE / ALTER”:
när du har gjort detta kommer ett skript för objektändringen att dyka upp – i vårt fall kommer det att vara den lagrade procedurändringen. Om det inte finns något objekt skulle det finnas ett skript för att skapa det. Detta skript kan enkelt flyttas till rätt MS SQL Server instanser.
vrida lagrad procedurkod till ett skript
du kan välja ”konvertera EXEC till skript” i en rullgardinsmeny:
istället för att anropa en lagrad procedur skapas ett skript, inmatningsparametrar blir variabler och innehållet i lagrad procedur blir ett skript. Det är en praktisk funktion när du testar din kod:
nu kan du köra det härledda skriptet på vilken värd eller en grupp värdar som helst genom att ställa in inmatningsparametrarnas korrekta värden.
Query creation history
Låt oss nu granska en annan viktig funktionalitet – SQL Complete: Execution History som visar tidigare frågor. För att göra detta, klicka på SQL Complete: Execution History-knappen:
du kommer att se följande fönster:
det övre vänstra hörnet av fönstret innehåller filter för ord och tidsintervall, medan det högra hörnet visar antalet frågor som hittades baserat på data som matats in i filtret. Den nedre sidan av fönstret visar frågan som valts från tabellen.
tabellen består av följande kolumner:
- Status – visar om en fråga har slutförts (vit bock i en grön cirkel) eller inte (vitt kors i en röd cirkel)
- QueryText – visar frågetext
- storlek (byte) – visar storlek mätt i byte
- utförande på – visar datum och tid när en fråga utfördes
- varaktighet – visar den tid det tog en fråga som ska köras
- fil – visar filens namn och en fullständig sökväg till den
- server – visar serverns namn
- användare – visar en användare som körde ett skript
- databas – visar en användare som körde ett skript databas där ett skript utfördes
sökningen efter kolumnerna ”QueryText” och ”Execution On” görs i filtren ”Sök” och ”från/till”.
du kan också sortera datakolumner i stigande eller fallande ordning genom att klicka på en rubrik i en riktig kolumn. Som standard är kolumnsorteringen ”Execution On” aktiverad i fallande ordning.
du kan sortera flera kolumner samtidigt genom att hålla ned en SHIFT-knapp. Du kan också ställa in mer komplexa filter genom att klicka på filtertecknet:
låt oss nu ange vårt lagrade procedurnamn ”AutoKillSessionTranBegin” i ” Sök ” – filtret:
som ett resultat får vi en fullständig skapningshistorik för srv.AutoKillSessionTranBegin procedur som beskrivits tidigare.
om du högerklickar på en riktig tabellrad kan du öppna ett skript i ett nytt fönster eller kopiera det till urklippet för att klistra in det där det behövs:
du kan öppna ett skript i ett nytt fönster genom att dubbelklicka på önskat skript i en tabellrad.
du kan också ange hur länge exekveringshistoriken lagras, max frågestorlek och historiklagringsvägen:
du kan läsa mer information om Exekveringshistorikfunktionen här.
det är allt, folk. Den nya funktionaliteten har utvecklats, testats och flyttats till lämpliga MS SQL Server-instanser.
- författare
- Senaste inlägg
Evgeniy Gribkov
Senaste inlägg av Evgeniy Gribkov (se alla)
- skapa lagrad procedur för att släppa lokala tillfälliga tabeller i SQL Server-16 juni 2021
- dedikerat Länkkällkontrollförvar-6 maj 2021
- Databasversionskontroll med källkontroll för SQL Server-Maj 5, 2021
sql complete, sql server, sql server transaktioner, sql lagrad procedur