Compartir a través de


sp_changesubscription (Transact-SQL)

Se aplica a: SQL Server Azure SQL Managed Instance

Cambia las propiedades de una suscripción de inserción transaccional o de instantáneas o de una suscripción de extracción relacionada con la replicación transaccional de actualización en cola. Para cambiar las propiedades de todos los demás tipos de suscripciones de extracción, use sp_change_subscription_properties. sp_changesubscription se ejecuta en el publicador de la base de datos de publicación.

Importante

Al configurar un publicador con un distribuidor remoto, los valores proporcionados para todos los parámetros, incluidos @job_login y @job_password, se envían al distribuidor como texto sin formato. Antes de ejecutar este procedimiento almacenado, se recomienda cifrar la conexión entre el publicador y su distribuidor remoto. Para más información, consulte Configuración del Motor de base de datos de SQL Server para el cifrado de las conexiones.

Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_changesubscription
    [ @publication = ] N'publication'
    , [ @article = ] N'article'
    , [ @subscriber = ] N'subscriber'
    , [ @destination_db = ] N'destination_db'
    , [ @property = ] N'property'
    , [ @value = ] N'value'
    [ , [ @publisher = ] N'publisher' ]
[ ; ]

Argumentos

[ @publication = ] N'publication'

Nombre de la publicación que se va a cambiar. @publication es sysname, sin ningún valor predeterminado.

[ @article = ] N'article'

Nombre del artículo que se va a cambiar. @article es sysname, sin ningún valor predeterminado.

[ @subscriber = ] N'subscriber'

Nombre del suscriptor. @subscriber es sysname, sin ningún valor predeterminado.

[ @destination_db = ] N'destination_db'

Nombre de la base de datos de suscripciones. @destination_db es sysname, sin ningún valor predeterminado.

[ @property = ] N'property'

Propiedad que se va a cambiar para la suscripción especificada. @property es nvarchar(30) y puede ser uno de los valores de la tabla.

[ @value = ] N'value'

Nuevo valor para la propiedad especificada. @value es nvarchar(4000) y puede ser uno de los valores de la tabla.

Propiedad Valor Descripción
distrib_job_login Inicio de sesión de la cuenta de Windows con la que se ejecuta el agente.
distrib_job_password Contraseña de la cuenta de Windows con la que se ejecuta el agente.
subscriber_catalog 1 Catálogo que debe utilizarse al establecer una conexión con el proveedor OLE DB.
subscriber_datasource 1 Nombre del origen de datos tal y como lo entiende el proveedor OLE DB.
subscriber_location 1 Ubicación de la base de datos tal y como la interpreta el proveedor OLE DB.
subscriber_login Nombre de inicio de sesión del suscriptor.
subscriber_password Contraseña segura para el inicio de sesión que se ha proporcionado.
subscriber_security_mode 1 Se utiliza la autenticación de Windows para la conexión con el suscriptor.
0 Use la autenticación de SQL Server al conectarse al suscriptor.
subscriber_provider 1 Identificador de programación único (PROGID) mediante el cual se registra el proveedor OLE DB para los orígenes de datos que no son de SQL Server.
subscriber_providerstring 1 Cadena de conexión específica del proveedor OLE DB que identifica el origen de datos.
subscriptionstreams Número de conexiones permitidas por Agente de distribución aplicar lotes de cambios en paralelo a un suscriptor. Se admite un intervalo de valores de 1 a 64 para publicadores de SQL Server. Esta propiedad debe ser para suscriptores que no sean 0 de SQL Server, publicadores de Oracle o suscripciones punto a punto.
subscriber_type 1 Servidor del origen de datos ODBC
3 Proveedor OLE DB
memory_optimized bit Indica que la suscripción admite tablas optimizadas para memoria. memory_optimized es bit, donde 1 es true (la suscripción admite tablas optimizadas para memoria).

1 Esta propiedad solo es válida para suscriptores que no son de SQL Server.

[ @publisher = ] N'publisher'

Especifica un publicador que no es de SQL Server. @publisher es sysname, con un valor predeterminado de NULL.

@publisher no se debe especificar para un publicador de SQL Server.

Valores de código de retorno

0 (correcto) o 1 (erróneo).

Comentarios

sp_changesubscription se usa en la replicación transaccional y de instantáneas.

sp_changesubscription solo se puede usar para modificar las propiedades de las suscripciones de inserción o las suscripciones de extracción implicadas en la replicación transaccional de actualización en cola. Para cambiar las propiedades de todos los demás tipos de suscripciones de extracción, use sp_change_subscription_properties.

Después de cambiar un inicio de sesión o una contraseña de agente, debe detener y reiniciar el agente para que el cambio surta efecto.

Permisos

Solo los miembros del rol fijo de servidor sysadmin o db_owner rol fijo de base de datos pueden ejecutar sp_changesubscription.