다음을 통해 공유


sp_copysubscription(Transact-SQL)

적용 대상: SQL Server Azure SQL Managed Instance

끌어오기 구독이지만 밀어넣기 구독이 없는 구독 데이터베이스를 복사합니다. 단일 파일 데이터베이스만 복사할 수 있습니다. 이 저장 프로시저는 구독 데이터베이스의 구독자에서 실행됩니다.

Important

SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 애플리케이션은 수정하세요. 매개 변수가 있는 필터를 사용하여 분할된 병합 게시의 경우 구독을 대량으로 초기화하는 작업을 간단하게 만들어 주는 분할된 스냅샷의 새 기능을 사용하는 것이 좋습니다. 자세한 내용은 매개 변수가 있는 필터로 병합 게시에 대한 스냅샷 만들기를 참조하세요. 분할되지 않은 게시의 경우 백업을 사용하여 구독을 초기화할 수 있습니다. 자세한 내용은 스냅샷 없이 트랜잭션 구독 초기화를 참조하세요.

Transact-SQL 구문 표기 규칙

구문

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

인수

[ @filename = ] N'filename'

데이터 파일(.mdf)의 복사본이 저장되는 파일 이름을 포함하여 전체 경로를 지정하는 문자열입니다. @filename nvarchar(260)이며 기본값은 없습니다.

[ @temp_dir = ] N'temp_dir'

임시 파일이 포함된 디렉터리의 이름입니다. @temp_dir 기본값NULL인 nvarchar(260)입니다. 이 경우 NULLSQL Server 기본 데이터 디렉터리가 사용됩니다. 디렉터리에는 결합된 모든 구독자 데이터베이스 파일의 크기를 저장할 수 있는 충분한 공간이 있어야 합니다.

[ @overwrite_existing_file = ] overwrite_existing_file

@filename 지정된 동일한 이름의 기존 파일을 덮어쓸지 여부를 지정하는 선택적 부울 플래그입니다. @overwrite_existing_file 비트이며 기본값은 .입니다0.

  • 있는 경우 1@filename 지정한 파일을 덮어씁니다.
  • 파일이 0있으면 저장 프로시저가 실패하고 파일을 덮어쓰지 않습니다.

반환 코드 값

0(성공) 또는 1(실패).

설명

sp_copysubscription 는 구독자에서 스냅샷을 적용하는 대신 구독 데이터베이스를 파일에 복사하기 위해 모든 유형의 복제에 사용됩니다. 끌어오기 구독만 지원하도록 데이터베이스를 구성해야 합니다. 적절한 권한이 있는 사용자는 구독 데이터베이스의 복사본을 만들고 구독 파일(.msf)을 다른 구독자로 전자 메일, 복사 또는 전송하여 구독으로 연결할 수 있습니다.

복사되는 구독 데이터베이스의 크기는 2GB 미만이어야 합니다.

sp_copysubscription 는 클라이언트 구독이 있는 데이터베이스에 대해서만 지원되며 데이터베이스에 서버 구독이 있는 경우 실행할 수 없습니다.

사용 권한

sysadmin 고정 서버 역할의 멤버만 실행할 sp_copysubscription수 있습니다.