sys.sp_copysubscription (Transact-SQL)

Aplica-se a: SQL ServerAzure SQL Managed Instance

Copia uma base de dados de subscrições que puxa subscrições, mas não subscrições push. Apenas bases de dados de ficheiros individuais podem ser copiadas. Este procedimento armazenado é executado no Assinante na base de dados de subscrição.

Important

Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em novos trabalhos de desenvolvimento e planeje modificar aplicativos que atualmente usam esse recurso. Para publicações de fusão particionadas usando filtros parametrizados, recomendamos o uso das novas funcionalidades dos snapshots particionados, que simplificam a inicialização de um grande número de subscrições. Para mais informações, consulte Criar um Snapshot para uma Publicação de Fusão com Filtros Parametrizados. Para publicações que não são particionadas, podes inicializar uma subscrição com um backup. Para obter mais informações, consulte Inicializar uma assinatura transacional sem um instantâneo.

Transact-SQL convenções de sintaxe

Syntax

sys.sp_copysubscription
    [ @filename = ] N'filename'
    [ , [ @temp_dir = ] N'temp_dir' ]
    [ , [ @overwrite_existing_file = ] overwrite_existing_file ]
[ ; ]

Arguments

[ @filename = ] N'nome do ficheiro'

A cadeia que especifica o caminho completo, incluindo o nome do ficheiro, para o qual é guardada uma cópia do ficheiro de dados (.mdf). @filename é nvarchar(260), sem padrão.

[ @temp_dir = ] N'temp_dir'

O nome do diretório que contém os ficheiros temporários. @temp_dir é nvarchar(260), com o padrão de NULL. Se NULL, é utilizado o diretório de dados predefinido do SQL Server. O diretório deve ter espaço suficiente para armazenar um ficheiro do tamanho de todos os ficheiros da base de dados dos assinantes juntos.

[ @overwrite_existing_file = ] overwrite_existing_file

Uma flag booleana opcional que especifica se deve ou não sobrescrever um ficheiro existente com o mesmo nome especificado em @filename. @overwrite_existing_fileé bit, com um padrão de 0.

  • Se 1, sobreescreve o ficheiro especificado por @filename, se este existir.
  • Se 0, o procedimento armazenado falha se o ficheiro existir e o ficheiro não for sobrescrito.

Valores de código de retorno

0 (sucesso) ou 1 (fracasso).

Remarks

sp_copysubscription é usado em todos os tipos de replicação para copiar uma base de dados por subscrição para um ficheiro, como alternativa à aplicação de um snapshot no Assinante. A base de dados deve ser configurada para suportar apenas subscrições de pull. Os utilizadores com permissões adequadas podem fazer cópias da base de dados de subscrição e depois enviar por email, copiar ou transportar o ficheiro de subscrição (.msf) para outro Assinante, onde pode ser anexado como subscrição.

O tamanho da base de dados por subscrição a ser copiada deve ser inferior a 2 gigabytes (GB).

sp_copysubscription é suportado apenas para bases de dados com subscrições de cliente e não pode ser executado quando a base de dados tem subscrições de servidor.

Permissions

Somente membros da função de servidor fixa sysadmin podem executar sp_copysubscriptiono .