2013-08-23 3 views
4

현재 .NET 4.0에 SSIS 2008R2 패키지를 사용하여 응용 프로그램을 구축하고 있습니다. 패키지는 별도의 SQL Server에 있습니다. SQL 서버에는 패키지를 실행 (보고 서비스, 액세스 디스크 등)하는 데 필요한 모든 권한이있는 계정 프록시가 있습니다.SSIS 패키지를 원격으로 실행 중 - 실행중인 계정은 무엇입니까?

제 질문은 : C#에서 패키지를 실행하는 가장 좋은 방법은 무엇입니까?

SQL Agent를 사용하여 작업을 통해 패키지를 실행하는 방법에 대해 읽었지만 문제점은 무엇입니까? 작업 및 패키지는 어떤 계정을 사용합니까? 응용 프로그램이 실행되고있는 계정입니까, 아니면 SQL Server에있는 프록시 계정을 사용할 수 있습니까? 어떻게 구성 할 수 있습니까? 사전에

감사합니다!

답변

1

SQL Server 에이전트에서 각 작업 단계가 실행되는 사용자를 구성 할 수 있습니다. 여기에서 프록시 사용자를 사용하는 것이 일반적입니다.

어쨌든 SQL Server 데이터베이스 액세스가 필요한 경우 작업을 시작하는 쉬운 방법은 SQL Server Agent system stored procedures을 호출하는 것입니다. 그러나 dbo.sp_start_job을 통해 작업을 시작하는 것은 비동기입니다. 단지 작업을 시작한 다음 반환됩니다. 작업 상태 또는 결과를 확인하기 위해 다른 방법을 폴링해야합니다.

데이터베이스에 연결하는 데 사용하는 데이터베이스 사용자 (또는 SQL Server에 통합 로그인을 사용할 경우 로컬 사용자)는 저장 프로 시저를 호출 할 수있는 권한이 있어야합니다.

+0

빠른 응답을 보내 주셔서 감사합니다. 필요한 프록시 사용자로 에이전트 작업을 만든 다음 C#에서 원격으로 실행하면이 사용자가이 사용자를 사용하여 C# 프로세스가 실행중인 패키지가 아닌 패키지를 실행합니다. 이 기사는 http://technet.microsoft.com/ko-kr/library/ms403355%28v=sql.105%29.aspx에서 처리 권한을 언급하고 있습니다. – braintechd

+0

제가 이해하는 바에 따르면 원격 컴퓨터의 다른 사용자가 실행하는 기능을 사용하기 위해 SQL Server 에이전트 작업을 사용하는 것이 좋습니다. – FrankPl

+0

아마 나는 정확한 의미를 이해하지 못했습니다. 도움을 주셔서 감사합니다, 어떤 차이가 나타나면 다시 게시됩니다. – braintechd

관련 문제