Skip to main content


 

Symptoms


We are struggling to create a SQL Server Service Object for a DB that has a lot of SQL Objects. ( -7000)

When creating a SQL Server service object using the tester tool, you might see the following error...
VALIDATION Could not allocate space for object 'dbo.Large Objects Storage System Object: Number] in database tempdb' because the primary file group is full. Create disk space be deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for the existing files in the filegroup.

Source : SourceCode.SmartObjects..Services.Management
 

Diagnoses


As the error message indicated, this was because the disk where the tempDB was located, ran out of space. In this case, the SQL DB was massive (With regards to the amount of SQL objects that it contained. Tables, SPROCS, Views etc.) While creating the service instance, the size of the temp DB grew quite large and caused the disk to become full.
 

Resolution

Normally, we would recommend that we deny rights to all objects at the SQL Server level. Then grant rights to all the objects one-by-one. When you then create the service object, we only create the schema for all the objects that the K2Service account has rights on. (And ignore the rest.)

Seeing as this was not an option in this scenario...
- We increased the disk-space on the partition where the SQL tempdb was hosted.
- We also increased the timeout value on service object creation to about 4 hours.

In the end, the temp DB grew to over 120GB in size and took about 3 hours. Tables and views get generated rather quickly. SPROCS on the other hand takes a lot of time to "describe", because we need to execute each of the SPORCs with "schema only" to get all the values we need.

Additional Information…
See "Moving the tempdb database" on "https://msdn.microsoft.com/en-us/library/ms345408.aspx"

I have linked this ticket to an existing TFS item. Once implemented, you will be able to select the objects that you want to create visually, instead of denying rights on all SQL objects, and then granting rights on all the objects you want to create in the service object. This should make things a little easier.




 
Be the first to reply!

Reply