Visualizzare le funzioni definite dall'utenteView User-defined Functions

È possibile acquisire informazioni sulla definizione o le proprietà di una funzione definita dall'utente in SQL Server 2017SQL Server 2017 tramite SQL Server Management StudioSQL Server Management Studio o Transact-SQLTransact-SQL.You can gain information about the definition or properties of a user-defined function in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. Potrebbe essere necessario visualizzare la definizione della funzione per determinare come vengono derivati i dati dalle tabelle di origine o per visualizzare i dati definiti dalla funzione.You may need to see the definition of the function to understand how its data is derived from the source tables or to see the data defined by the function.

Importante

Se si cambia il nome di un oggetto a cui viene fatto riferimento da una funzione, è necessario modificare la funzione in modo che per il relativo testo venga fatto riferimento al nuovo nome.If you change the name of an object referenced by a function, you must modify that function so that its text reflects the new name. Pertanto, prima di rinominare un oggetto, visualizzare le dipendenze dell'oggetto per determinare se la modifica proposta interessa eventuali funzioni.Therefore, before renaming an object, display the dependencies of the object first to determine if any functions are affected by the proposed change.

Contenuto dell'argomentoIn This Topic

Prima di iniziare Before You Begin

Sicurezza Security

Autorizzazioni Permissions

L'uso di sys.sql_expression_dependencies per trovare tutte le dipendenze da una funzione richiede l'autorizzazione VIEW DEFINITION per il database e l'autorizzazione SELECT per sys.sql_expression_dependencies per il database.Using sys.sql_expression_dependencies to find all the dependencies on a function requires VIEW DEFINITION permission on the database and SELECT permission on sys.sql_expression_dependencies for the database. Le definizioni dell'oggetto di sistema, come quelle restituite in OBJECT_DEFINITION sono visibili pubblicamente.System object definitions, like the ones returned in OBJECT_DEFINITION, are publicly visible.

Utilizzo di SQL Server Management Studio Using SQL Server Management Studio

Per mostrare le proprietà di una funzione definita dall'utenteTo show a user-defined function’s properties

  1. In Esplora oggettifare clic sul segno più accanto al database contenente la funzione in cui si desidera visualizzare le proprietà, quindi fare di nuovo clic sul segno più per espandere la cartella Programmabilità .In Object Explorer, click the plus sign next to the database that contains the function to which you want to view the properties, and then click the plus sign to expand the Programmability folder.

  2. Fare clic sul segno più per espandere la cartella Funzioni .Click the plus sign to expand the Functions folder.

  3. Fare clic sul segno più per espandere la cartella che contiene la funzione di cui si desidera visualizzare le proprietà:Click the plus sign to expand the folder that contains the function to which you want to view the properties:

    • Table-valued FunctionTable-valued Function

    • Funzione a valori scalariScalar-valued Function

    • Funzione di aggregazioneAggregate Function

  4. Fare clic con il pulsante destro del mouse sulla funzione di cui si vogliono visualizzare le proprietà e scegliere Proprietà.Right-click the function of which you want to view the properties and select Properties.

    Le proprietà seguenti vengono visualizzate nella finestra di dialogo Proprietà funzione - nome_funzione .The following properties appear in the Function Properties – function_name dialog box.

    DatabaseDatabase
    Nome del database che contiene la funzione.The name of the database containing this function.

    ServerServer
    Nome dell'istanza del server corrente.The name of the current server instance.

    UtenteUser
    Nome dell'utente della connessione.The name of the user of this connection.

    Data creazioneCreated date
    Visualizza la data di creazione della funzione.Displays the date the function was created.

    Esegui comeExecute As
    Contesto di esecuzione per la funzione.Execution context for the function.

    NomeName
    Nome della funzione corrente.The name of the current function.

    SchemaSchema
    Visualizza lo schema proprietario della funzione.Displays the schema that owns the function.

    Oggetto di sistemaSystem object
    Indica se la funzione è un oggetto di sistema.Indicates whether the function is a system object. I valori sono True e False.Values are True and False.

    ANSI NULLsANSI NULLs
    Indica se l'oggetto è stato creato con l'opzione ANSI NULLs.Indicates if the object was created with the ANSI NULLs option.

    CrittografataEncrypted
    Indica se la funzione è crittografata.Indicates whether the function is encrypted. I valori sono True e False.Values are True and False.

    Tipo di funzioneFunction Type
    Tipo della funzione definita dall'utente.The type of user defined function.

    Identificatore delimitatoQuoted identifier
    Indica se l'oggetto è stato creato con l'opzione quoted identifier.Indicates if the object was created with the quoted identifier option.

    Associata a schemaSchema bound
    Indica se la funzione è associata allo schema.Indicates whether the function is schema-bound. I valori sono True e False.Values are True and False. Per informazioni sulle funzioni associate a schema, vedere la sezione relativa a SCHEMABINDING in CREATE FUNCTION (Transact-SQL).For information about schema-bound functions, see the SCHEMABINDING section of CREATE FUNCTION (Transact-SQL).

Utilizzo di Transact-SQL Using Transact-SQL

Per acquisire la definizione e le proprietà di una funzioneTo get the definition and properties of a function

  1. In Esplora oggetticonnettersi a un'istanza del Motore di databaseDatabase Engine.In Object Explorer, connect to an instance of Motore di databaseDatabase Engine.

  2. Sulla barra Standard fare clic su Nuova query.On the Standard bar, click New Query.

  3. Copiare e incollare uno degli esempi seguenti nella finestra della query, quindi fare clic su Esegui.Copy and paste one of the following examples into the query window and click Execute.

    USE AdventureWorks2012;  
    GO  
    -- Get the function name, definition, and relevant properties  
    SELECT sm.object_id,   
       OBJECT_NAME(sm.object_id) AS object_name,   
       o.type,   
       o.type_desc,   
       sm.definition,  
       sm.uses_ansi_nulls,  
       sm.uses_quoted_identifier,  
       sm.is_schema_bound,  
       sm.execute_as_principal_id  
    -- using the two system tables sys.sql_modules and sys.objects  
    FROM sys.sql_modules AS sm  
    JOIN sys.objects AS o ON sm.object_id = o.object_id  
    -- from the function 'dbo.ufnGetProductDealerPrice'  
    WHERE sm.object_id = OBJECT_ID('dbo.ufnGetProductDealerPrice')  
    ORDER BY o.type;  
    GO  
    
    USE AdventureWorks2012;  
    GO  
    -- Get the definition of the function dbo.ufnGetProductDealerPrice  
    SELECT OBJECT_DEFINITION (OBJECT_ID('dbo.ufnGetProductDealerPrice')) AS ObjectDefinition;  
    GO  
    

    Per altre informazioni, vedere sys.sql_modules (Transact-SQL) e OBJECT_DEFINITION (Transact-SQL).For more information, see sys.sql_modules (Transact-SQL) and OBJECT_DEFINITION (Transact-SQL).

Per acquisire le dipendenze di una funzioneTo get the dependencies of a function

  1. In Esplora oggetticonnettersi a un'istanza del Motore di databaseDatabase Engine.In Object Explorer, connect to an instance of Motore di databaseDatabase Engine.

  2. Sulla barra Standard fare clic su Nuova query.On the Standard bar, click New Query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.Copy and paste the following example into the query window and click Execute.

    USE AdventureWorks2012;  
    GO  
    -- Get all of the dependency information  
    SELECT OBJECT_NAME(sed.referencing_id) AS referencing_entity_name,   
        o.type_desc AS referencing_desciption,   
        COALESCE(COL_NAME(sed.referencing_id, sed.referencing_minor_id), '(n/a)') AS referencing_minor_id,   
        sed.referencing_class_desc, sed.referenced_class_desc,  
        sed.referenced_server_name, sed.referenced_database_name, sed.referenced_schema_name,  
        sed.referenced_entity_name,   
        COALESCE(COL_NAME(sed.referenced_id, sed.referenced_minor_id), '(n/a)') AS referenced_column_name,  
        sed.is_caller_dependent, sed.is_ambiguous  
    -- from the two system tables sys.sql_expression_dependencies and sys.object  
    FROM sys.sql_expression_dependencies AS sed  
    INNER JOIN sys.objects AS o ON sed.referencing_id = o.object_id  
    -- on the function dbo.ufnGetProductDealerPrice  
    WHERE sed.referencing_id = OBJECT_ID('dbo.ufnGetProductDealerPrice');  
    GO  
    

    Per altre informazioni, vedere sys.sql_expression_dependencies (Transact-SQL) e sys.objects (Transact-SQL).For more information, see sys.sql_expression_dependencies (Transact-SQL) and sys.objects (Transact-SQL).