2012-01-13 5 views
1

우리는 SSMS가 아닌 응용 프로그램 GUI를 통해 MS SQL 2008 R2의 모든 데이터를 자동으로 저장하는 방법을 찾고 있습니다. 우리는 테이블 이름이 'Params'로 시작하는 'for XML Auto'를 사용하여 모든 테이블의 모든 데이터를 단일 XML으로 내보내려고합니다.MS SQL Server 2008 R2에서 단일 XML 파일로 데이터 덤프

EXEC sp_MSforeachtable 
@command1 = N'CAST(select * from ? for xml auto)', 
@whereand = N'and o.name like ''Params%''') AS XML) 

멋지게 선택을 수행하지만, 문제는 모든 테이블 데이터는 그러나, 나는 하나의 XML을 만들려면, 별도의 XML 스트림을 초래할 것입니다.

결과 세트를 하나로 결합하는 방법은 무엇입니까? sp_MSforeachtable을 복사 및 수정하거나 표준 SP를 사용할 방법이 있습니까? 가능한 한 빨리이 선택을하고 싶습니다. 따라서 XML을 임시 테이블로 선택하지 않고 단일 XML 스트림으로 연결하는 것을 피하고 싶습니다.

+0

응용 프로그램 설정은 GUI를 통해 XML로 저장되므로 필요에 따라 다른 시스템으로 복사 할 수 있으므로 대부분 개발, 테스트 및 프로덕션 환경간에 복사됩니다. 이것은 시스템 운영자가 수행해야하는 작업이며 안보 보안상의 이유로 데이터베이스에 직접 액세스 할 수 없으며 액세스 할 수 없습니다. – Daniel

답변

2

블로그 게시물 : Selecting the entire Database as XML String을 확인하십시오. 나는 그것이 당신의 질문에 대답하기를 바랍니다.

+0

임시 테이블이 사용되는 곳을 잘 모르겠습니다. 내 솔루션은 동적으로 단일 선택을 작성한 다음이를 실행합니다. 임시 테이블이 없습니다. 첫 번째 코드 스 니펫은 프로세스를 테스트 할 데이터가있는 테이블을 생성합니다. 두 번째 발췌 문장은 여러분의 질문에 대한 실제 해결책입니다. –

+0

네가 맞아, 내 의견을 삭제했다. 도와 주셔서 감사합니다. – Daniel

관련 문제