2011-08-12 5 views
1

하나의 커서를 만들었으니 이제 SQL Server 작업 스케줄러에서 해당 커서를 호출하고 싶습니다. SP의 경우 EXEC <sp name>으로 전화해야합니다. 커서를 호출하는 방법?SQL Server SQL 에이전트 작업을 저장할 때 오류가 발생했습니다.

나는 일에 T-SQL 스크립트를 저장하려고하면, 나는 다음과 같은 오류가 발생합니다 :

TITLE: Microsoft SQL Server Management Studio 
------------------------------ 
Creating an instance of the COM 
component with CLSID {AA40D1D6-CAEF-4A56-B9BB-D0D3DC976BA2} from the 
IClassFactory failed due to the following error: c001f011. 
(Microsoft.SqlServer.ManagedDTS) 
------------------------------ 
ADDITIONAL INFORMATION: Creating an 
instance of the COM component with CLSID 
{AA40D1D6-CAEF-4A56-B9BB-D0D3DC976BA2} from the IClassFactory failed 
due to the following error: c001f011. 
(Microsoft.SqlServer.ManagedDTS) 
------------------------------ 
BUTTONS: OK 
------------------------------ 
+0

저는 오랫동안 커서를 사용한 적이 없습니다. SQL 2000 이후로 나는 추측한다. 커서는 무엇을 사용하고 있습니까? 그들은 대부분의 경우 테이블을 사용하여 교체 할 수 있기 때문에 ... –

답변

8

SQL 에이전트 작업 단계는 여러 종류의 수 있습니다 : 당신은 T-SQL 단계 유형을 선택한 경우 , T-SQL 스크립트 내용을 작업 단계 세부/내용에 직접 넣을 수 있어야합니다. 이것은 커서 또는 다른 T-SQL을 포함하는 스크립트에서 다를 수 없습니다.

커서는 저장 프로 시저처럼 영구 데이터베이스 개체가 아닙니다. ?서는 단일 SQL 연결 컨텍스트에서 작성, 사용 및 소멸되는 임시 오브젝트입니다. 이 같은 일반적으로 뭔가 :

DECLARE XXX CURSOR 
FOR 
SELECT Something 
FROM Somewhere 

OPEN XXX 

FETCH NEXT FROM XXX 
INTO @A 

WHILE @@FETCH_STATUS = 0 
BEGIN 

    --Do something here 

    FETCH NEXT FROM XXX 
    INTO @A 
END 

CLOSE XXX 
DEALLOCATE XXX 

당신이 커서를 사용하는 T-SQL 스크립트를 가지고 있다면, 당신은 단순히 SQL 에이전트 작업에 전체 T-SQL 스크립트를 복사 할 수 있습니다. 이 경우

, 당신은 시도했습니다 무엇인지에 대한 정보를 제공하시기 바랍니다 작동하지 않는 문제의 어떤 종류, 등등받은 오류 메시지의 세부 사항을, 발생


업데이트 SSMS 후 오류 세부 정보 제공 :

SSMS 2008 R2 (적어도 64 비트 컴퓨터)에서 SQL Agent 작업 편집 UI가 방금 제공 한 것과 같은 오류가 발생하기 시작하는 경우가 있습니다. 이런 경우 가끔 오류가 발생하거나 편집 할 작업 단계를 두 번 클릭해도 아무런 반응이 없을 때가 있습니다.

SSMS를 닫고 (열려있는 모든 작업을 닫고, 활동 모니터를 닫고, SSMS를 닫고), 다시 시작하고 편집하려는 작업으로 곧바로 이동하면 이러한 문제는 사라집니다.

그래도 문제가 해결되지 않으면 취할 정확한 단계, T-SQL 스크립트의 크기 및 추가 할 수있는 정보를 자세히 설명하십시오. Microsoft에서 버그 확인이 오류

참조 : http://connect.microsoft.com/SQLServer/feedback/details/557402/ssms-can-no-longer-create-or-edit-job-steps

이 시간에

알려진 유일한 해결 방법은 완전히 SSMS를 닫고 다시 연 후 (편집 할 하나의 작업을 편집하는 것입니다 다시 오류가 발생하여 다시 닫아야 할 수도 있습니다.)

+0

덕분에 내가 당신이 EXEC 를 작성하기 위해 t-SQL U이 필요로하는 통해 UR SP를 호출 할 수 있습니다 답장하지만 난 어떻게 호출 할 수 있습니다 커서... 심지어 SQL 서버 쿼리 페이지에서 커서를 호출 할 생각이 들지 않는다 SP 실행 –

+0

문제 없음 - 여전히 문제가있는 경우 의견을 보내거나 질문을 수정하십시오. 문제를 해결하고이 답변을 통해 자신이 시도한 것을 성취 할 수 있다면 왼쪽의 체크 박스를 사용하여 "수락"하는 것도 고려할 수 있습니다 (향후 검색에서 댓글에 잘못이 무엇인지 설명하는 것이 좋습니다). – Tao

+0

@ user166694 : 필자는 한 번 작성한 후 'EXEC '으로 호출하는 저장 프로 시저와 생성 할 커서가 필요할 때마다 사용 및 할당 취소 사이의 차이점을 더 잘 강조하기 위해 대답을 편집했습니다. 이게 도움이 되나요? – Tao

관련 문제