매월 4 백 5 십만 개의 레코드가있는 테이블을 가져 와서 각각 240,000 개의 레코드가있는 .txt 파일로 나눠야하는 월간 프로세스를 실행합니다. SQL Server 2012에서이 코드를 사용하여 파일의 페이징을 만든 다음 SSIS 패키지를 사용하여이 저장 프로 시저를 실행하고 .txt 파일을 만듭니다. @PageNumber를 2로 변경하고 저장 프로 시저를 다시 컴파일하고 SSIS 패키지를 실행합니다. @PageNumber를 3으로 늘리십시오. 레코드가 다 떨어질 때까지 4 백만 건의 레코드가 20x 정도 걸립니다.SSIS를 사용하여 SQL Server에서 여러 텍스트 파일 내보내기
누구든지 코드를 반복하고 @PageNumber 값을 20x 변경하지 않고 한 번에 여러 .txt 파일을 만드는 방법을 알고 있다면 궁금합니다.
CREATE PROCEDURE [dbo].[p_ExportAllDMCSBorrowersPaging]
AS
BEGIN
DECLARE @PageNumber AS INT, @RowspPage AS INT
SET @PageNumber = 1
SET @RowspPage = 240000
SELECT [SSN]
,[DOB]
,[LastName]
,[FirstName]
,[CustomerRecordID]
,[ADDate]
,[MiddleName] FROM (
SELECT ROW_NUMBER() OVER(ORDER BY ID) AS NUMBER,
[SSN]
,[DOB]
,[LastName]
,[FirstName]
,[CustomerRecordID]
,[ADDate]
,[MiddleName]
FROM [dbo].[All Borrowers 20160919]
) AS TBL
WHERE
NUMBER BETWEEN ((@PageNumber - 1) * @RowspPage + 1) AND (@PageNumber * @RowspPage)
ORDER BY
NUMBER