프로덕션 데이터베이스의 데이터로 교육 데이터베이스를 어떻게 새로 고치나요?

StackOverflow https://stackoverflow.com/questions/80271

  •  09-06-2019
  •  | 
  •  

문제

교육 시설을 유지 관리해야 하는 외부 네트워크에 특정 시스템이 있습니다.시스템은 SQL Server 2000을 데이터베이스 엔진으로 사용하며 정기적으로 프로덕션 데이터베이스의 데이터로 교육 데이터베이스의 데이터를 새로 고치는 시스템을 설정해야 합니다.

프로세스를 실행할 수 있는 SQL 2005 서버가 있으므로 SSIS를 사용하고 싶습니다.저는 SQL 경험이 꽤 있지만 SSIS에 대해서는 많지 않습니다.저는 "데이터베이스 전송 작업"을 사용하여 이 작업을 수행하려고 했지만 항상 오류가 발생하기 때문에 별로 운이 좋지 않았습니다.

구성 항목 등의 사용을 무시하고 모든 데이터베이스 이름 등이 하드 코딩된 것으로 가정하면 다음과 같은 결과가 나타납니다.다음 속성을 가진 단일 SSIS "데이터베이스 전송 작업":

  • 대상 덮어쓰기:진실
  • 행동:복사
  • 방법:데이터베이스온라인

내가 받은 오류는 다음과 같습니다.

오류:작업의 Execute 메서드에서 오류 코드 0x80131500(ERROR:errorCode=-1073548784 Description=다음 오류로 인해 "EXEC dbo.sp_addrole @rolename = N'XXXXX'" 쿼리를 실행하지 못했습니다:"현재 데이터베이스에 'XXXXXX' 역할이 이미 존재합니다."가능한 실패 이유:쿼리 문제, "ResultSet" 속성이 올바르게 설정되지 않았거나, 매개변수가 올바르게 설정되지 않았거나, 연결이 올바르게 설정되지 않았습니다.helpFile= helpContext=0 idofInterfaceWithError={8BDFE893-E9D8-4D23-9739-DA807BCDC2AC}).Execute 메소드는 성공해야 하며 "out" 매개변수를 사용하여 결과를 표시해야 합니다.

여기에는 분명한 일이 벌어지고 있다고 확신하지만, 작업이 기존 역할을 덮어쓰도록 설정되어 있다면 문제가 되지 않습니까?이 작업을 수행하려면 어떻게 해야 하는지 아는 사람이 있나요?

도움이 되었습니까?

해결책

분명히 이것은 SQLServer 2005 SP2에서 수정되어야 합니다. 여기를 보아라.Visual Studio 내에서 SSIS 패키지를 실행하는 경우 클라이언트 컴퓨터에도 패치를 적용해야 할 것 같습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top