sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan scripter man lagrede procedurer til filer?

Lagrede procedurer gemmes ikke som filer, de gemmes som metadata og eksponeres for os peoner (tak Michael for påmindelsen om sysschobjs ) i katalogvisningerne sys.objects , sys.procedures , sys.sql_modules , osv. For en individuel lagret procedure kan du forespørge definitionen direkte ved hjælp af disse visninger (vigtigst sys.sql_modules.definition ) eller ved at bruge OBJECT_DEFINITION() fungere som Nicholas påpegede (selvom hans beskrivelse af syscomments er ikke helt nøjagtig).

For at udtrække alle lagrede procedurer til en enkelt fil, ville en mulighed være at åbne Objekt Explorer, udvide din server> databaser> din database> programmerbarhed og marker de lagrede procedurer node. Tryk derefter på F7 (Se> Object Explorer-detaljer ). I højre side skal du vælge alle de procedurer, du ønsker, og derefter højreklikke, script lagret procedure som> oprette til> fil . Dette vil producere en enkelt fil med alle de procedurer, du har valgt. Hvis du vil have en enkelt fil for hver procedure, kan du bruge denne metode ved kun at vælge én procedure ad gangen, men det kan være kedeligt. Du kan også bruge denne metode til at skrive alle regnskabsrelaterede procedurer til én fil, alle finansrelaterede procedurer til en anden fil osv.

En nemmere måde at generere præcis én fil pr. lagret procedure på ville være at bruge Generere Scripts guiden - igen, startende fra Objekt Explorer - højreklik på din database og vælg Opgaver> Generer scripts . Vælg Vælg specifikke databaseobjekter og tjek lagrede procedurer på øverste niveau boks. Klik på Næste. For output skal du vælge Gem scripts til en bestemt placering , Gem i fil , og Enkelt fil pr. objekt.

Disse trin kan være lidt anderledes afhængigt af din version af SSMS.



  1. Databasehardware og infrastrukturtendenser

  2. Forstå pdo mysql transaktioner

  3. django karaktersæt med MySQL weirdness

  4. Mysql vil ikke starte - ibdata1 korrupt? - operativsystem fejl nummer 13 - tilladelsesproblem