Hi Experts,I have a stored proc below that i am trying to execute via sql server agent job.The job is failing and when i check the log it returns " Error converting data type nvarchar to numeric".Please helpcreate procedure [dbo].[sp_HostDriveStatusProcess]( @SiteName nvarchar(100), @HostIP nvarchar(15), @SystemDrive nvarchar(1), @DataDrive nvarchar(1), @BackupDrive nvarchar(1))asbeginset nocount onselect a.systemname as HostName, left(a.deviceid,1) as DriveName, cast(cast(a.drivesize as numeric(20,2))/1024/1024/1024 as numeric(13,2)) as TotalSpace, cast(cast(a.freespace as numeric(20,2))/1024/1024/1024 as numeric(13,2)) as FreeSpaceinto #Tablefrom [dbo].[DriveStatus] as awhere Active = 1order by a.DeviceID truncate table [dbo].[DriveStatus]update [172.27.8.186].[SednaDBA].[dbo].[HostDriveStatus]set Active = 0where SiteName = @SiteName and HostIP = @HostIP and Active = 1insert into [172.27.8.186].[SednaDBA].[dbo].[HostDriveStatus](SiteName, HostName, HostIP, SystemDriveName, SystemTotalSpace, SystemFreeSpace, SystemFreeSpacePercentage,DataDriveName, DataTotalSpace, DataFreeSpace, DataFreeSpacePercentage,BackupDriveName, BackupTotalSpace, BackupFreeSpace, BackupFreeSpacePercentage)select @SiteName as SiteName, a.SystemHostName as HostName, @HostIP as HostIP, a.SystemDriveName, a.SystemTotalSpace, a.SystemFreeSpace, cast(a.SystemFreeSpace/a.SystemTotalSpace as numeric(13,2)) as SystemFreeSpacePercentage, b.DataDriveName, b.DataTotalSpace, b.DataFreeSpace, cast(b.DataFreeSpace/b.DataTotalSpace as numeric(13,2)) as DataFreeSpacePercentage, c.BackupDriveName, c.BackupTotalSpace, c.BackupFreeSpace, cast(c.BackupFreeSpace/c.BackupTotalSpace as numeric(13,2)) as BackupFreeSpacePercentagefrom(select a.HostName as SystemHostName, a.DriveName as SystemDriveName, a.TotalSpace as SystemTotalSpace, a.FreeSpace as SystemFreeSpace from #Table as awhere a.DriveName = @SystemDrive) as ajoin(select a.HostName as DataHostName, a.DriveName as DataDriveName, a.TotalSpace as DataTotalSpace, a.FreeSpace as DataFreeSpace from #Table as awhere a.DriveName = @DataDrive) as b on a.SystemHostName = b.DataHostNamejoin(select a.HostName as BackupHostName, a.DriveName as BackupDriveName, a.TotalSpace as BackupTotalSpace, a.FreeSpace as BackupFreeSpace from #Table as awhere a.DriveName = @BackupDrive) as c on c.BackupHostName = a.SystemHostName drop table #TableendGO
↧