Ошибка при сохранении работы sql server sql agent - PullRequest
1 голос
/ 12 августа 2011

Теперь я создаю один курсор и хочу вызвать этот курсор в планировщике заданий сервера sql.Для ИП вам нужно позвонить EXEC <sp name>.Как вызвать Cursor?

Когда я пытаюсь сохранить сценарий 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 
------------------------------

Ответы [ 2 ]

8 голосов
/ 12 августа 2011

Шаги задания агента 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, в котором используется курсор, вы можете просто скопировать весь скрипт T-SQL в задание агента SQL.

Если это не работает, пожалуйста, предоставьте больше информации о том, что вы пробовали, с какой проблемой вы столкнулись, подробности всех полученных вами сообщений об ошибках и т. Д.


Обновление после предоставленной детализации ошибки SSMS:

Я обнаружил, что в SSMS 2008 R2 (по крайней мере на 64-разрядной машине) пользовательский интерфейс редактирования заданий агента SQL иногда начинает выдавать ошибки, подобные той, которую вы только что предоставили. Когда это происходит, вы иногда получаете ошибку, или иногда, когда вы дважды щелкаете по шагу задания, который нужно отредактировать, ничего не происходит.

По моему опыту, эти проблемы просто исчезнут, если вы завершите закрытие SSMS (закроете все открытые вами задания, закроете монитор активности, закроете ssms), запустите его снова и сразу перейдете к работе, которую вы хотели редактировать.

Попробуйте сделать это, и если у вас все еще есть проблема, опишите, пожалуйста, точные шаги, которые вы предпринимаете, размер вашего сценария T-SQL и любую дополнительную информацию, которую вы можете добавить.

Ссылка на эту ошибку, с подтверждением ошибки от Microsoft: http://connect.microsoft.com/SQLServer/feedback/details/557402/ssms-can-no-longer-create-or-edit-job-steps

Единственный известный обходной путь в настоящее время - полностью закрыть ssms, снова открыть его и отредактировать одно задание, которое вы хотите отредактировать (после этого вы можете снова начать получать ошибки и вам нужно будет снова закрыть)

0 голосов
/ 22 апреля 2018

это сработало для меня

http://www.mssqlforum.com/threads/error-creating-an-instance-of-the-com-component-with-clsid-from-the-iclassfactory-failed.49/

просто проблема с файлом реестра

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...