In SSMS of SQL Server 2012 Enterprise on Windows Server R2 Standard, each time I am trying to set sub-option "On demand" of option "Non-cached - Collect and upload data on the same schedule" of Data Collection Set, I am getting the error:
A collection set cannot start without a schedule. Specify a schedule for the collection set
enter image description here
TITLE: Microsoft SQL Server Management Studio
Operation 'Alter' on object 'Disk Usage' failed during execution. (Microsoft.SqlServer.Management.Sdk.Sfc)
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
Caught error#: 14684, Level: 16, State: 1, in Procedure:
sp_syscollector_start_collection_set, Line: 203, with Message: Caught error#: 14693, Level: 16, State: 1, in Procedure:
sp_syscollector_start_collection_set, Line: 108, with Message: A collection set cannot start without a schedule. Specify a schedule for the collection set. (Microsoft SQL Server, Error: 14684)
Now, I do not see how to re-setup or reconfigure the Data Collection in any way other than to enable and disable already existing malfunctioning one.
Any ideas how to make it working?
First of all, I'd like to understand whether it is me who screwed it (though I tried on different machines) or it is someone else ?
Update:
Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64)
Enterprise Edition: Core-based Licensing (64-bit) on Windows NT 6.1 (Build 7601: Service Pack 1) (Hypervisor)
2 Answers 2
It's a bug. This Connect ticket has a workaround for it from Kendra Little:
I was able to work around this issue by temporarily adding a scheduled to the Utility Information collection (@collection_set_id=4) with the SQL command below. After doing this I was able to complete the data collection configuration via the GUI successfully. Afterwards I went back and set the Utility Information collection to manual start, thereby removing the schedule.
declare @schedule_uid uniqueidentifier select @schedule_uid = schedule_uid from dbo.syscollector_collection_sets where collection_set_id=3 exec dbo.sp_syscollector_update_collection_set @collection_set_id=4 , @schedule_uid=@schedule_uid
Added a variable as Utility information not always has ID 4 and msdb
use msdb
go
declare @schedule_uid uniqueidentifier,@collection_set_id int;
select @schedule_uid =schedule_uid from dbo.syscollector_collection_sets
where collection_set_id=3;
select @collection_set_id = collection_set_id from dbo.syscollector_collection_sets
where name = 'Utility Information';
exec dbo.sp_syscollector_update_collection_set
@collection_set_id=@collection_set_id
, @schedule_uid=@schedule_uid;
-
Can you clarify? Is this an improvement on @NickKavadias' answer?ypercubeᵀᴹ– ypercubeᵀᴹ2014年06月06日 10:00:44 +00:00Commented Jun 6, 2014 at 10:00
Explore related questions
See similar questions with these tags.