|
Kaspersky Security Center Error Failed to establish connection with the remote device (location: http://localhost:13291) connection has failed |
Kaspersky Security Center 11 Error
SQL express is great if you have to run or install programs such as Kaspersky Security Center, however if you don't turn on your Database maintenance scripts you can have a problem with your database getting to large and it will run out of space. This will cause security center to stop working which is a problem. As you can see the SQL database only has .64 MB of space available, which is why Kaspersky Security Center crashes and won't launch
Below is how I came to fix my issue with Kaspersky Security Center when my SQL express database got to full. If your looking for the really quick fix, using SQL management Studio run
TRUNCATE TABLE dbo.wus_upd_metadata
on your Kaspersky Security Center Database mine is called KSC then shrink your database in sql management studio. This will get your Kaspersky management studio back up and working, however my process to getting to the fix is below so enjoy!
I started the troubleshooting process by making a copy of the av server, in this case since it is a VM, I did an export and set it up on a different host and setup the virtual switch to be an Internal switch so I can transfer files using the VM host.
With the database being SQL Express and it being completely full I had to upgrade the edition of SQL server to a trial or developer database. You will also need SQL Management Studio. Since this is a copy of the production system, I upgraded the database to sql 2016 dev edition from 2014 express edition to run a shrink database script. Since I am using SQL Server Express 2014 we will be upgrading to SQL Server 2016 developer edition to get Kaspersky Security Center to load so we can shrink the database. You will need a myvisualstudio account to download the iso, in my case for SQL Server 2016
Run the installer and select Installation -> Upgrade from a previous version of SQL Server
Select The edition, I am changing from express to developer edition
Accept the terms of use
If your offline, you will get an error about not being able to contact Windows Update Service. You can continue
Then you will get a list of checks for upgrade rules and warnings/errors if there are any
Select your sql server instance you want to upgrade
Select the features you want to upgrade
Select your instance configuration
Then upgrade your sql server
Now that the system is upgraded we need to reboot to enable the changes
After our reboot Kaspersky Security Center will now run because the dev version give you more space then express so I used this to do some checking on the database and to see if Kaspersky could shrink the database enough to go back to express.
Now we can run the script to shrink the database. Under Administration Server go to tasks and database maintenance. You can view this article on Kaspersky's support website
To enable shrinkage on the database right click on Database Maintenance -> go to properties -> Settings and make sure shrink database is checked.
Now we will run a maintenance script which was provided by Kaspersky, which can be downloaded from my server here. However if you do want to get a hold of this I recommend opening a ticket with Kaspersky at support.kaspersky.com
In an administrator cmd prompt
go to the extracted folder path in commnad line, I put the script in C:\Users\Administrator\Desktop
run start.cmd
After running the script our database is now down to 9925.44 Mb with 2.66 MB of available space not much but it should be able to run on our system now. However I do think that this problem will come up again so I needed to find a way to prune some of the data in the database.
select top 10 schema_name(tab.schema_id) + '.' + tab.name as [table],
cast(sum(spc.used_pages * 8)/1024.00 as numeric(36, 2)) as used_mb,
cast(sum(spc.total_pages * 8)/1024.00 as numeric(36, 2)) as allocated_mb
from sys.tables tab
join sys.indexes ind
on tab.object_id = ind.object_id
join sys.partitions part
on ind.object_id = part.object_id and ind.index_id = part.index_id
join sys.allocation_units spc
on part.partition_id = spc.container_id
group by schema_name(tab.schema_id) + '.' + tab.name
order by sum(spc.used_pages) desc;
We see that the table dbo.wus_upd_metadata is our largest table with 4 gig of data being stored there. Now I don't work for Kaspersky but I would guess that wus has probably something to do with Windows Update Services and I would bet it isn't critical to running Kaspersky Security Center
Table Name | used_mb | allocated_mb |
dbo.wus_upd_metadata | 4270.23 | 4271.41 |
dbo.wus_upd_prerequisite | 1907.66 | 1907.79 |
dbo.ev_event | 1399.92 | 1402.85 |
dbo.wus_upd_driver | 1178.42 | 1178.52 |
dbo.wus_upd_revision | 489.21 | 489.78 |
dbo.wus_upd_file | 123.76 | 124.68 |
dbo.wus_upd_product | 118.73 | 119.44 |
dbo.wus_upd_digest | 73.41 | 73.72 |
dbo.wusx_upd_revision | 41.91 | 43.09 |
dbo.wus_upd_superseded | 41.28 | 42.24 |
Then I ran a new query TRUNCATE TABLE dbo.wus_upd_metadata, then I shrank the database using sql management studio.
After that we can see our database is now about 6Gb in size and to reclaim the space by right clicking on the database (KSC) and selecting Tasks -> Shrink -> Database
Once the database was finished shrinking you can see the properties on the database.
Now I don't want to run into this problem again, so I am going to go into Files and change the Autogrowth/Max Size to 1% and 8192MB for storage.
Now this process will work for fixing you Kaspersky Security Center if you happen to run out of database space, however it has a great side effect of upgrading your version of SQL server. In this case going from 2014 to 2016.
Truncating the database table dbo.wus_upd_metadata and shrinking the database did not seem to have any major effect on our AV software, as now we can now go in and manage Kaspersky Security Center.