Comments
Sort by recent activity
Hi all, SQL Monitor version 13.0.40 is now available with a fix for this issue. You can download it here: https://download.red-gate.com/checkforupdates/SQLMonitorWeb/SQLMonitorWeb_13.0.40.27471.exe Kind regards, Alex / comments
Hi all,SQL Monitor version 13.0.40 is now available with a fix for this issue. You can download it here: https://download.red-gate.com/checkforupdates/SQLMonitorWeb/SQLMonitorWeb_13.0.40.27471.exe...
Hi all, Apologies for the continued failure on the subquery - too much haste! We've identified the problem and it is due to there being more than one log shipped database on the same instance. The fix is in progress and should be available in the next release, likely tomorrow UK time. I will update here further when that is available. Kind regards, Alex / comments
Hi all,Apologies for the continued failure on the subquery - too much haste!We've identified the problem and it is due to there being more than one log shipped database on the same instance. The f...
Hi @Signe, I forgot to take out the "ls." when I took that subquery out of the main one above it, apologies for that. I've edited it above but it is here again corrected now: SELECT 1 FROM [msdb].[dbo].[log_shipping_secondary_databases] WHERE [secondary_database] = db.name Are any of the databases in restoring mode that are a part of log shipping the secondary for multiple different primaries? We're trying to understand how the subquery could return more than one entry unless the seoncdary_database was in there multiple times, but that should only occur if it is the secondary for multiple primaries which, though seems possible to set, doesn't make sense. Kind regards, Alex / comments
Hi @Signe,I forgot to take out the "ls." when I took that subquery out of the main one above it, apologies for that. I've edited it above but it is here again corrected now:SELECT 1 FROM [msdb].[d...
Hi all, What version of SQL Server are these instances you are seeing the problem with? Kind regards, Alex / comments
Hi all,What version of SQL Server are these instances you are seeing the problem with?Kind regards,Alex
Hi all, Do you get the error if you run this query against the target SQL instance that you see the error for in SQL Monitor? SELECT db.name ,
db.state_desc ,
db.is_auto_create_stats_on ,
db.is_auto_shrink_on ,
db.collation_name ,
db.compatibility_level ,
db.create_date ,
db.page_verify_option_desc ,
db.recovery_model_desc ,
db.database_id ,
db.source_database_id ,
db.is_in_standby ,
db.is_read_only,
ISNULL((SELECT 1 FROM [msdb].[dbo].[log_shipping_secondary_databases] WHERE ls.[secondary_database] = db.name),0) AS is_log_shipping_secondary,
SUSER_SNAME(owner_sid) [owner]
FROM sys.databases db
LEFT OUTER JOIN [msdb].[dbo].[log_shipping_secondary_databases] AS ls
ON ls.[secondary_database] = db.name
ORDER BY db.name
And if so, what is returned by the subquery here: SELECT 1 FROM [msdb].[dbo].[log_shipping_secondary_databases] WHERE [secondary_database] = db.name And how have you configured things to get this result? Kind regards, Alex / comments
Hi all,Do you get the error if you run this query against the target SQL instance that you see the error for in SQL Monitor?SELECT db.name ,
db.state_desc ,
db.is_auto_create_stats...
Hi @TiborKaraszi, The default behaviour as you have seen is to connect to machine_name\instance_name (i.e. only connecting to the instance based on the IP of the host server. There is the ability to specify a connection string directly into the repository which I'll provide directions for below. We always suggest taking a backup of the repository before modifying it directly. If you run into any issues please revert this by setting the ConnectionString column back to NULL. To update the ConnectionString column, performing the following:
Get the Id of the specific SQL instance to update by looking for it in the settings.SqlServers page. The instance on a cluster node will be machineName\instanceName (or just machineName\ if the default instance). You may also want to confirm the ParentId matches the top level entity which you can find in the settings.Clusters table ON settings.SqlServer.ParentId = settings.Clusters.Id SELECT Id FROM settings.SqlServer
WHERE Name = 'myMachine\myInstance';
Update the ConnectionString column for the given instance by Id UPDATE settings.SqlServers
SET ConnectionString = 'Data Source=111.222.333.444;'
WHERE Id = '<Id for specific Sql Instance>' ;
Kind regards,
Alex / comments
Hi @TiborKaraszi,The default behaviour as you have seen is to connect to machine_name\instance_name (i.e. only connecting to the instance based on the IP of the host server.There is the ability to ...
Hi @brian.webb, You would need to have access to the database in which the data for them is stored and then you could either point SmartAssembly at that database to be able to view them, or potentially go through a process to try and get the data from where it is into the current database you have SmartAssembly pointing to. Kind regards, Alex / comments
Hi @brian.webb,You would need to have access to the database in which the data for them is stored and then you could either point SmartAssembly at that database to be able to view them, or potentia...
Hi alexP014, The text you need to use is "SqlBlockingProcessAlerter" and the lowest level it can be customised at is the instance level $Global:InstanceAlertTypes - as in: $alertType = $Global:InstanceAlertTypes["SqlBlockingProcessAlerter"]; You can find all the strings needed in these cases (and the $global variables they are a part of) by editing the RedGateSQM.psm1 file contained in the zip file when you download the PowerShell cmdlets. Near the top is a list of each $global variable and what alerts are contained in them. Kind regards, Alex / comments
Hi alexP014,The text you need to use is "SqlBlockingProcessAlerter" and the lowest level it can be customised at is the instance level $Global:InstanceAlertTypes - as in:$alertType = $Global:Instan...
Hi @h_shali, Please do let me know if what @andrewboggs said works for you as well. But if the MSCluster namespace doesn't exist then the only other thing it should be trying to do in that discover phase is query the root\cimv2 namespace with SELECT Name FROM Win32_Service WHERE Name = 'MSSQLSERVER' OR Name LIKE 'MSSQL$%'And if that is failing then you may need to repair WMI in some way to get tthe Win32_Service class back. Kind regards, Alex / comments
Hi @h_shali,Please do let me know if what @andrewboggs said works for you as well. But if the MSCluster namespace doesn't exist then the only other thing it should be trying to do in that discover...
Hi @andrewboggs Righto, that will be it! To remove it you will need to download and unzip the attached file - it is a .mof file extension for modifying WMI. You can open it as a text file to check its contents - it just sets the namespace to "root" and deletes the "MSCluster" namespace. Copy this to the C:\Windows\System32\wbem folder on the target server and open an elevated command prompt to the C:\Windows\System32\wbem directory on that server as well, then run the ClusWMIUninstall.mof at the prompt, the namespace will be deleted. After that, remove the entity and re-add it to SQL Monitor and it should be able to discover everything correctly. Kind regards, Alex / comments
Hi @andrewboggsRighto, that will be it! To remove it you will need to download and unzip the attached file - it is a .mof file extension for modifying WMI. You can open it as a text file to check ...