Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
Azure SQL Database
Instancia
administrada de Azure SQLBase de datos SQL en Microsoft Fabric
Actualiza el valor de una propiedad extendida existente.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sys.sp_updateextendedproperty
[ @name = ] N'name'
[ , [ @value = ] value ]
[ , [ @level0type = ] 'level0type' ]
[ , [ @level0name = ] N'level0name' ]
[ , [ @level1type = ] 'level1type' ]
[ , [ @level1name = ] N'level1name' ]
[ , [ @level2type = ] 'level2type' ]
[ , [ @level2name = ] N'level2name' ]
[ ; ]
Argumentos
[ @name = ] N'nombre'
Nombre de la propiedad que se va a actualizar. @name es sysname, sin ningún valor predeterminado.
[ @value = ] valor
Valor asociado a la propiedad .
@value es sql_variant, con un valor predeterminado de NULL. El tamaño de @value no puede tener más de 7500 bytes.
[ @level0type = ] 'nivel0tipo'
Tipo definido por el usuario o el usuario.
@level0type es varchar(128), con un valor predeterminado de NULL. Las entradas válidas son:
ASSEMBLYCONTRACTEVENT NOTIFICATIONFILEGROUPMESSAGE TYPEPARTITION FUNCTIONPARTITION SCHEMEPLAN GUIDEREMOTE SERVICE BINDINGROUTESCHEMASERVICEUSERTRIGGERTYPENULL
Importante
USER y TYPE como tipos de nivel 0 se quitarán en una versión futura de SQL Server. Evite utilizar estas características en los nuevos trabajos de programación y planee modificar las aplicaciones que actualmente las utilizan. Use SCHEMA como tipo de nivel 0 en lugar de USER. Para TYPE, use SCHEMA como tipo de nivel 0 y TYPE como tipo de nivel 1 .
[ @level0name = ] N'level0name'
Nombre del tipo de objeto de nivel 0 especificado.
@level0name es sysname, con un valor predeterminado de NULL.
[ @level1type = ] 'nivel1tipo'
Tipo de objeto de nivel 1.
@level1type es varchar(128), con un valor predeterminado de NULL. Las entradas válidas son:
ASSEMBLYCONTRACTEVENT NOTIFICATIONFILEGROUPMESSAGE TYPEPARTITION FUNCTIONPARTITION SCHEMEPLAN GUIDEREMOTE SERVICE BINDINGROUTESCHEMASERVICEUSERTRIGGERTYPENULL
[ @level1name = ] N'level1name'
Nombre del tipo de objeto de nivel 1 especificado.
@level1name es sysname, con un valor predeterminado de NULL.
[ @level2type = ] 'nivel2tipo'
Tipo de objeto de nivel 2.
@level2type es varchar(128), con un valor predeterminado de NULL. Las entradas válidas son:
COLUMNCONSTRAINTEVENT NOTIFICATIONINDEXPARAMETERTRIGGERNULL
[ @level2name = ] N'level2name'
Nombre del tipo de objeto de nivel 2 especificado.
@level2name es sysname, con un valor predeterminado de NULL.
Valores de código de retorno
0 (correcto) o 1 (erróneo).
Comentarios
Al especificar propiedades extendidas, los objetos de una base de datos de SQL Server se clasifican en tres niveles (0, 1 y 2). El nivel 0 es el nivel más elevado y se define como los objetos incluidos en el ámbito de la base de datos. Los objetos de nivel 1 se incluyen en un ámbito de esquema o de usuario, y los objetos de nivel 2 están incluidos en los objetos de nivel 1. Se pueden definir propiedades extendidas para los objetos de cualquiera de estos niveles. Las referencias a un objeto de un nivel deben estar calificadas con los nombres de los objetos del nivel superior que son sus propietarios o que los contienen.
Dada una @name y @value válidas
Permisos
Los miembros del db_owner y db_ddladmin roles fijos de base de datos pueden actualizar las propiedades extendidas de cualquier objeto con la siguiente excepción: db_ddladmin no pueden agregar propiedades a la propia base de datos ni a usuarios o roles.
Los usuarios pueden actualizar las propiedades extendidas a los objetos que poseen o en los que tienen permisos ALTER o CONTROL.
Ejemplos
A Actualización de una propiedad extendida en una columna
En el siguiente ejemplo se actualiza el valor de la propiedad Caption en la columna ID de la tabla T1.
Note
En Azure SQL Database y SQL Database en Microsoft Fabric, la USE declaración no está disponible. En su lugar, conéctate directamente a la base de datos prevista y ejecuta el resto de la muestra de código.
USE AdventureWorks2022;
GO
CREATE TABLE T1 (id INT, name CHAR (20));
GO
EXECUTE sp_addextendedproperty
@name = N'Caption',
@value = N'Employee ID',
@level0type = 'SCHEMA',
@level0name = N'dbo',
@level1type = 'TABLE',
@level1name = N'T1',
@level2type = 'COLUMN',
@level2name = N'id';
GO
--Update the extended property.
EXECUTE sp_updateextendedproperty
@name = N'Caption',
@value = 'Employee ID must be unique.',
@level0type = 'SCHEMA',
@level0name = N'dbo',
@level1type = 'TABLE',
@level1name = N'T1',
@level2type = 'COLUMN',
@level2name = N'id';
GO
B. Actualización de una propiedad extendida en una base de datos
El siguiente ejemplo crea primero una propiedad extendida en la base de datos de muestra AdventureWorks2025 y después actualiza el valor de esa propiedad.
USE AdventureWorks2022;
GO
EXECUTE sp_addextendedproperty
@name = N'NewCaption',
@value = 'AdventureWorks Sample OLTP Database';
GO
USE AdventureWorks2022;
GO
EXECUTE sp_updateextendedproperty
@name = N'NewCaption',
@value = 'AdventureWorks Sample Database';
GO