Database | Proc | Application | Created | Links |
sybsystemprocs | sp_volchanged ![]() | ![]() | 31 Aug 14 | Defects Dependencies |
1 2 /* Sccsid = "%Z% generic/sproc/%M% %I% %G%" */ 3 4 /* 5 ** Messages for "sp_volchanged" 6 ** 7 ** 19958, "Backup Server policy is set to '%1!'." 8 */ 9 10 create procedure sp_volchanged 11 @session_id int, /* session identifier */ 12 @devname varchar(255), /* device requesting vol chg */ 13 @action varchar(255) = NULL, /* BServer action string */ 14 @fname varchar(17) = NULL, /* file name on device */ 15 @vname varchar(6) = NULL, /* name to init new volume with */ 16 @bs_name varchar(255) = NULL /* name of backup server */ 17 as 18 19 declare @server varchar(30) /* server name, if network dump */ 20 declare @blank int /* index to " " when parsing @devname */ 21 declare @len int /* length of @devname, for parsing */ 22 declare @pname varchar(255) /* translated physical device name */ 23 declare @status int /* RPC status */ 24 25 declare @bs_policy varchar(255) /* Backup server policy */ 26 declare @msg varchar(1024) /* Display BS policy */ 27 declare @bs_rpc varchar(255) 28 declare @bs_net_name varchar(255) 29 30 if @@trancount = 0 31 begin 32 set chained off 33 end 34 set cis_rpc_handling off 35 set transaction isolation level 1 36 37 if (lower(@devname) like "% at %") 38 begin 39 /* 40 **AT 43 select @len = datalength(@devname) 44 select @blank = charindex(" ", @devname) 45 select @server = ltrim( 46 substring( 47 ltrim( 48 substring(@devname, @blank, @len)), 3, @len)) 49 select @devname = rtrim(substring(@devname, 1, @blank)) 50 end 51 else 52 begin 53 /* No host given -- select the local server */ 54 select @server = NULL 55 56 /* and do logical name translation */ 57 select @pname = phyname 58 from master..sysdevices 59 where name = @devname 60 and (status & 16) = 16 61 if (@pname is not NULL) 62 select @devname = @pname 63 end 64 65 /* 66 ** If the Multiple Backup server feature is enabled with Backup server policy 67 ** as $dedicated or $roundrobin and parameter bs_name is not provided, 68 ** raise error to specify particular Backup server name. 69 */ 70 if (@bs_name = NULL) 71 begin 72 select @bs_policy = srvnetname from master..sysservers where srvname = "SYB_BACKUP" 73 74 if ((lower(@bs_policy) = "$dedicated") or (lower(@bs_policy) = "$roundrobin")) 75 begin 76 /* 19958, "Backup Server policy is set to '%1!'." */ 77 exec sp_getmessage 19958, @msg output 78 print @msg, @bs_policy 79 return 80 end 81 else 82 select @bs_name = "SYB_BACKUP" 83 end 84 else 85 begin 86 select @bs_net_name = @bs_name 87 select @bs_name = NULL 88 select @bs_name = srvname from master..sysservers where srvnetname = @bs_net_name 89 90 if (@bs_name = NULL) 91 begin 92 select @bs_name = @bs_net_name 93 select @bs_net_name = NULL 94 select @bs_net_name = srvnetname from master..sysservers where srvname = @bs_name 95 96 if (@bs_net_name = NULL) 97 begin 98 /* 19960, "Backup Server '%1!' is not configured in sysservers." */ 99 exec sp_getmessage 19960, @msg output 100 print @msg, @bs_name 101 return 102 end 103 end 104 105 /* 19970, "Executing RPC as_volume_changed at Backup Server '%1!'('%2!')." */ 106 exec sp_getmessage 19970, @msg output 107 print @msg, @bs_name, @bs_net_name 108 end 109 110 select @bs_rpc = @bs_name + '...as_volume_changed' 111 exec @status = @bs_rpc @server, @session_id, @devname, @action, @fname, @vname 112 return (@status) 113-- parse the device and host 41 ** names into separate arguments for transmission 42 */
exec sp_procxmode 'sp_volchanged', 'AnyMode' go Grant Execute on sp_volchanged to public go
DEPENDENCIES |
PROCS AND TABLES USED reads table master..sysdevices (1) ![]() reads table master..sysservers (1) ![]() calls proc sybsystemprocs..sp_getmessage ![]() reads table sybsystemprocs..sysusermessages ![]() reads table master..sysmessages (1) ![]() reads table master..syslanguages (1) ![]() calls proc sybsystemprocs..sp_validlang ![]() reads table master..syslanguages (1) ![]() |