sql server 2008 r2 - Can you use a Try Catch in a stored procedure to "do" something? -


i have linked servers need updates.

begin try  delete [sdny-pand\barcode].barcodes.dbo.barcodes plant_location <> 'jefferson,  ga123'  -- bla bla bla   end try begin catch  --print ' in error now'   set @strbody = 'it appears server holds barcode data         unavailable.  please validate plugged in         , turned on is'  set @mailto = 'thatgroup@work'   set @esubject = 'message barcode server update process'  exec msdb.dbo.sp_send_dbmail         @recipients =@mailto,         @body = @strbody,         @body_format ='text',         @subject = @esubject,         @profile_name ='colossusmain'  end catch 

will process or there better way?

you can better checking linked server status, way. there built-in procedure called sp_testlinkedserver. raise error if linked server unreachable, preventing trying deletes etc. , sending catch instead. if there further errors due delete, say, catch invoked, error_message() different...

begin try   exec sp_testlinkedserver n'sdny-pand\barcode';    delete [sdny-pand\barcode].barcodes.dbo.barcodes     plant_location <> 'jefferson,  ga123';    -- bla bla bla end try begin catch   set @strbody = n'it appears...'     + char(13) + char(10) + error_message();   -- ...   exec msdb.dbo.sp_send_dbmail ...; end catch 

if server unreachable, error message like:

ole db provider "sqlncli11" linked server "sdny-pand\barcode" returned message "login timeout expired".
ole db provider "sqlncli11" linked server "sdny-pand\barcode" returned message "a network-related or instance-specific error has occurred while establishing connection sql server. server not found or not accessible. check if instance name correct , if sql server configured allow remote connections. more information see sql server books online.".
sql server network interfaces: error locating server/instance specified [xffffffff].


Comments

Popular posts from this blog

c# - SVN Error : "svnadmin: E205000: Too many arguments" -

c# - Copy ObservableCollection to another ObservableCollection -

All overlapping substrings matching a java regex -