특정 조건을 충족하는 SQL Server 테이블에 행을 삽입하면 CSV 형식의 Windows OS 플랫 파일에 기록되도록 트리거를 작성해야합니다.SQL Server 트리거에서 CSV에 행 작성하기
이렇게 할 수있는 xp_cmdshell을 실행하지 않은 명령이 있습니까?
특정 조건을 충족하는 SQL Server 테이블에 행을 삽입하면 CSV 형식의 Windows OS 플랫 파일에 기록되도록 트리거를 작성해야합니다.SQL Server 트리거에서 CSV에 행 작성하기
이렇게 할 수있는 xp_cmdshell을 실행하지 않은 명령이 있습니까?
BCP (Bulk Copy Program)를 사용하여 CSV 파일을 만듭니다. 예를 들어
다음BCP master..sysobjects out c:\sysobjects.txt -c -t, -T –S<servername>
CSV 파일을 생성하기위한 BCP 명령의 기본 형식은 다음과 같이
BCP 아웃
여기에 사용 된 스위치는 :
-c를 기본 필드 종결 자 (탭) 및 행 종결 자 (crlf)를 사용하여 ASCII로 출력 "
-t 필드 종결 자 w 무시 iith ","
-T 신뢰할 수있는 연결을 사용합니다. 여기
사용하는 방법에 대한 설명이다 : -U & -P가declare @sql varchar(8000) select @sql = 'bcp master..sysobjects out c:\bcp\sysobjects.txt -c -t, -T -S'+ @@servername exec master..xp_cmdshell @sql
-S 명령 여기
을 실행하기 위해 서버에 접속 아이디/패스워드를 이용 될 수있다 또 다른 예이다 BCP : http://msdn.microsoft.com/en-us/library/ms162802.aspx
대신 SSIS로 예약 된 프로세스를 수행하지 않을 이유가 있습니까?
거래율에 따라 입력 한 모든 레코드에 대한 평가 및 가능한 내보내기를 의미하기 때문에이 값을 트리거에 넣는 것을 주저합니다. 높은 주파수를 얻으면 발에서 몸을 쏠 수 있습니다 ...
비록 거래율이 상당히 낮더라도 실제 기록이 오래 걸리는 경우 블로킹/잠금과 같은 문제가 발생할 수 있습니다. 가능한 몇 가지 오류 클래스 (파일 입출력 오류, 쓰기 실패는 트리거 실패, 삽입 실패 등을 나타냄).
일정이 잡힌 프로세스에서는 트리거가 자주 발생하는 동안 테이블을 잠그지 않는 경우가 종종 있습니다.
SSIS는 한 가지 방법 일뿐입니다. 열쇠는 여기에 방아쇠에 넣지 않을 것입니다 ... – jeffa00
나는 방아쇠에 관해서 동의합니다. SSIS에 관해서는, 우리가하려는 것을 위해 항상 작동하지 않는 몇 가지 이유가있을 것입니다. 그것은 입안에 몇 번 나쁜 맛을 남겼습니다. – Sean
그래, 그래서 그 주석을 붙였다. SSIS는 일품에 좋고 다른 사람들에게는 좋지 않습니다. 그것은 여러 차례에 걸쳐 쓴 뒷맛을 남겼습니다. 일반적으로 꽤 좋은 수출. – jeffa00