Domanda

mi è stato dato accesso a un database di SQL Server che viene attualmente utilizzato da terze parti App. In quanto tale, non ho alcuna documentazione su come quel applicazione memorizza i dati o come si recupera.

riesco a capire alcune cose sulla base dei nomi dei vari tavoli ed i parametri che le funzioni definite dall'utente prende e restituisce, ma sto ancora ricevendo errori in ogni altro turno.

Io pensavo che sarebbe davvero utile se ho potuto vedere che cosa le funzioni memorizzate stavano facendo con i parametri indicati per restituire l'output. In questo momento tutto quello che ho potuto capire è come query per i parametri di input e le colonne di output.

C'è un built-in tabella information_schema che esporrà quello che la funzione sta facendo tra ingresso e uscita?

È stato utile?

Soluzione

Se è possibile eseguire una query sul database in qualche modo, e se si dispone delle autorizzazioni necessarie per leggere le viste del catalogo di sistema, allora si potrebbe eseguire la query per ottenere il nome, la definizione (codice SQL) e alcuni pezzi più delle informazioni sulle vostre funzioni:

SELECT 
    obj.name ,
    obj.type ,
    obj.type_desc ,
    obj.create_date ,
    obj.modify_date ,
    m.definition ,
    m.is_schema_bound 
FROM 
    sys.objects obj
INNER JOIN 
    sys.sql_modules m ON obj.object_id = m.object_id
WHERE 
    obj.type IN ('AF', 'FN', 'FS', 'FT', 'IF', 'TF')

Altri suggerimenti

Se si dispone delle autorizzazioni appropriate, si può semplicemente script di tutte le procedure e funzioni memorizzati:

pulsante destro del mouse sul database in SSMS (SQL Server Management Studio), selezionare Operazioni -> generare script, assicurarsi che il database viene evidenziato e fare clic su Avanti. Assicurarsi che le opzioni per lo script fuori stored procedure e funzioni vengono selezionate.

È possibile installare SQL Server Management Studio (Strumenti client) senza richiedere una licenza di SQL Server.

Un altro modo è sp_helptext che vi mostrerà la fonte della SP superato o UDF;

sp_helptext fnBlaDeBla

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top