DatabaseProcApplicationCreatedLinks
sybsystemprocssp_tempdb  14 déc. 14Defects Propagation Dependencies

1     
2     
3     /*
4     ** Messages for "sp_tempdb"
5     **
6     ** 17240, "'%1!' is not a valid name."
7     ** 17260, "Can't run %1! from within a transaction."
8     ** 18954, "Usage:"
9     ** 18955, "sp_tempdb 'help' "
10    ** 18956, "sp_tempdb 'create', "
11    ** 18957, "sp_tempdb 'drop', "
12    ** 18958, "sp_tempdb 'add', , "
13    ** 18959, "sp_tempdb 'remove', , "
14    ** 18960, "sp_tempdb 'bind', , , , [, [, ]]"
15    ** 18961, "sp_tempdb 'unbind', , [, ]"  [for SMP]
16    ** 19588, "sp_tempdb 'unbind', , [, [, ]]" [For SDC]
17    ** 18971, "sp_tempdb 'unbindall_db', "
18    ** 19583, "sp_tempdb 'unbindall_gr', "
19    ** 18962, "sp_tempdb 'show', , "
20    ** 18963, " = ['LG' ('login_name') | 'AP' ('application_name')];  = ['GR' ('group') | 'DB' ('database')] "
21    ** 18973, " = ['hard' | 'soft']"
22    ** 18964, " = ['all' | 'gr' ('groups') | 'db' ('databases') | 'login' ('logins') | 'app' ('applications') | 'who']"
23    ** 18965, "sp_tempdb : Unrecognized command %1!. execute 'sp_tempdb help' for usage."
24    ** 18970, "sp_tempdb 'who', "
25    ** 19875  "Parameter '%1!' is too long. Maximum length is '%2!'."
26    */
27    
28    /*
29    **      Procedure sp_tempdb
30    **
31    **      This procedure provides the administration interface for
32    **	managing temporary database groups, and user defined bindings.
33    **	
34    **	This procedure does its work by calling other stored procedures
35    **	based on the command passed in.
36    **      
37    */
38    
39    create or replace procedure sp_tempdb
40        @cmd varchar(30) = null, /* the operation to perform */
41        @arg1 varchar(255) = null, /* first argument */
42        @arg2 varchar(265) = null, /* second argument */
43        @arg3 varchar(255) = null, /* third argument */
44        @arg4 varchar(255) = null, /* fourth argument */
45        @arg5 varchar(255) = null, /* fifth argument   */
46        @arg6 varchar(255) = null /* sixth argument  */
47    as
48    
49    
50        declare @retstat int /* return status */
51        declare @msg varchar(250) /* buffer for message */
52        declare @arg1_temp varchar(255) /* temp. holder of arg1 */
53        declare @svrmode int /* Indicates the SMP or SDC mode */
54        declare @SMP int /* Indicates SMP Server */
55        declare @SDC int /* Indicates SDC Server */
56        declare @nullarg char
57        declare @dummy int
58        declare @gp_enabled int
59    
60    
61    
62        select @SMP = 0,
63            @SDC = 1
64    
65        if @@clustermode != "shared disk cluster"
66        begin
67            select @svrmode = @SMP
68        end
69        else
70        begin
71            select @svrmode = @SDC
72        end
73    
74        /*
75        **  If we're in a transaction, disallow this since it might make recovery
76        **  impossible.
77        */
78        if @@trancount > 0
79        begin
80            raiserror 17260, "sp_tempdb"
81            return (1)
82    
83        end
84        begin
85            set chained off
86        end
87        set transaction isolation level 1
88    
89        /*
90        ** Check if user has sa role. Procedure can only be executed 
91        ** if user has sa_role. proc_role will print any error message.
92        */
93    
94        select @nullarg = NULL
95        execute @retstat = sp_aux_checkroleperm "sa_role",
96            "manage server", @nullarg, @gp_enabled output
97    
98        /* For Auditing */
99        if (@gp_enabled = 0)
100       begin
101           if (proc_role("sa_role") = 0)
102               return 1
103       end
104       else
105       begin
106           select @dummy = proc_auditperm("manage server", @retstat)
107       end
108   
109       if (@retstat != 0)
110           return (1)
111   
112       /*
113       ** Print usage info or "help" or in absense of a command 
114       */
115       if (@cmd = "help") or (@cmd is NULL)
116       begin
117           exec sp_getmessage 18954, @msg output
118           print @msg
119           exec sp_getmessage 18955, @msg output
120           print @msg
121           exec sp_getmessage 18956, @msg output
122           print @msg
123           exec sp_getmessage 18957, @msg output
124           print @msg
125           exec sp_getmessage 18958, @msg output
126           print @msg
127           exec sp_getmessage 18959, @msg output
128           print @msg
129           exec sp_getmessage 18960, @msg output
130           print @msg
131           if (@svrmode = @SMP)
132           begin
133               exec sp_getmessage 18961, @msg output
134               print @msg
135           end
136           else if (@svrmode = @SDC)
137           begin
138               exec sp_getmessage 19588, @msg output
139               print @msg
140           end
141           exec sp_getmessage 18971, @msg output
142           print @msg
143           exec sp_getmessage 19583, @msg output
144           print @msg
145           exec sp_getmessage 18962, @msg output
146           print @msg
147           exec sp_getmessage 18970, @msg output
148           print @msg
149           print " "
150           exec sp_getmessage 18963, @msg output
151           print @msg
152           exec sp_getmessage 18973, @msg output
153           print @msg
154           exec sp_getmessage 18964, @msg output
155           print @msg
156           return (0)
157       end
158       /*
159       ** Command is to create a new group 
160       */
161       else if (@cmd = "create")
162       begin
163           /*
164           ** Check for incorrect number of arguments
165           */
166           if ((@arg1 is NULL) OR (@arg2 is not NULL) OR (@arg3 is not NULL)
167                   OR (@arg4 is not NULL) OR (@arg5 is not NULL) OR (@arg6 is not NULL))
168           begin
169   
170               exec sp_getmessage 18954, @msg output
171               print @msg
172               exec sp_getmessage 18956, @msg output
173               print @msg
174               return 1
175           end
176           else
177           /*
178           ** execute worker stored procedure 
179           */
180           begin
181               exec @retstat = sp_multdb_creategroup @arg1
182               return @retstat
183           end
184       end
185       /*
186       ** Command is to delete a group  
187       */
188       else if (@cmd = "drop")
189       begin
190           /*
191           ** Check for incorrect number of arguments
192           */
193           if ((@arg1 is NULL) OR (@arg2 is not NULL) OR (@arg3 is not NULL)
194                   OR (@arg4 is not NULL) OR (@arg5 is not NULL) OR (@arg6 is not NULL))
195           begin
196               exec sp_getmessage 18954, @msg output
197               print @msg
198               exec sp_getmessage 18957, @msg output
199               print @msg
200               return 1
201           end
202           else
203           /*
204           ** execute worker stored procedure 
205           */
206           begin
207               exec @retstat = sp_multdb_dropgroup @arg1
208               return @retstat
209           end
210       end
211       /*
212       ** Command is to add a temporary database to a group  
213       */
214       else if (@cmd = "add")
215       begin
216           /*
217           ** Check for incorrect number of arguments
218           */
219           if ((@arg1 is NULL) OR (@arg2 is NULL) OR (@arg3 is not NULL)
220                   OR (@arg4 is not NULL) OR (@arg5 is not NULL) OR (@arg6 is not NULL))
221           begin
222               exec sp_getmessage 18954, @msg output
223               print @msg
224               exec sp_getmessage 18958, @msg output
225               print @msg
226               return 1
227           end
228           else
229           /*
230           ** execute worker stored procedure. Invalid names
231           ** for @arg1 and @arg2 are caught in sp_multdb_addtogroup.
232           */
233           begin
234               exec @retstat = sp_multdb_addtogroup @arg1, @arg2
235               return @retstat
236           end
237       end
238       /*
239       ** Command is to remove a temporary database from a group  
240       */
241       else if (@cmd = "remove")
242       begin
243           /*
244           ** Check for incorrect number of arguments
245           */
246           if ((@arg1 is NULL) OR (@arg2 is NULL) OR (@arg3 is not NULL)
247                   OR (@arg4 is not NULL) OR (@arg5 is not NULL) OR (@arg6 is not NULL))
248           begin
249               exec sp_getmessage 18954, @msg output
250               print @msg
251               exec sp_getmessage 18959, @msg output
252               print @msg
253               return 1
254           end
255           else
256           /*
257           ** execute worker stored procedure. Invalid names
258           ** for @arg1 and @arg2 are caught in sp_multdb_removefromgroup.
259           */
260           begin
261               exec @retstat = sp_multdb_removefromgroup @arg1, @arg2
262               return @retstat
263           end
264       end
265       /*
266       ** Command is to create a new binding
267       */
268       else if (@cmd = "bind")
269       begin
270           /*
271           ** Check for incorrect number of arguments
272           */
273           if ((@arg1 is NULL) OR (@arg2 is NULL)
274                   OR (@arg3 is NULL) OR (@arg4 is NULL))
275           begin
276               exec sp_getmessage 18954, @msg output
277               print @msg
278               exec sp_getmessage 18960, @msg output
279               print @msg
280               return 1
281           end
282           else if (@arg2 = "")
283           /*
284           ** Not a valid name (login/application)
285           */
286           begin
287               /*
288               ** 17240, "'%1!' is not a valid name."
289               */
290               raiserror 17240, @arg2
291               return 1
292           end
293           else if (datalength(@arg2) > 255)
294           begin
295               raiserror 19875, @arg2, 255
296               return 1
297           end
298           /*
299           ** execute worker stored procedure 
300           */
301           begin
302               exec @retstat = sp_multdb_bind @arg2, @arg1, @arg5, @arg3, @arg4, @arg6
303               return @retstat
304           end
305       end
306       /*
307       ** Command is to remove a binding 
308       */
309       else if (@cmd = "unbind")
310       begin
311           /*
312           ** Check for incorrect number of arguments
313           ** SMP: sp_tempdb unbind   [,  ]
314           ** SDC: sp_tempdb unbind   [, , ]
315           */
316           if ((@arg1 is NULL) OR (@arg2 is NULL) OR
317                   ((@svrmode = @SMP) and (@arg4 is not NULL)) OR
318                   ((@svrmode = @SDC) and (@arg5 is not NULL)))
319           begin
320               exec sp_getmessage 18954, @msg output
321               print @msg
322               if (@svrmode = @SMP)
323               begin
324                   exec sp_getmessage 18961, @msg output
325                   print @msg
326               end
327               else if (@svrmode = @SDC)
328               begin
329                   exec sp_getmessage 19588, @msg output
330                   print @msg
331               end
332               return 1
333           end
334           else
335           /*
336           ** execute worker stored procedure 
337           */
338           begin
339               if (@svrmode = @SMP)
340               begin
341                   exec @retstat = sp_multdb_unbind @arg2, @arg1, @arg3
342               end
343               else if (@svrmode = @SDC)
344               begin
345                   exec @retstat = sp_multdb_unbind @arg2, @arg1, @arg3, @arg4
346               end
347               return @retstat
348           end
349       end
350       /*
351       ** Command is to display information stored in sysattributes for class 16
352       */
353       else if (@cmd = "show")
354       begin
355           select @arg1_temp = @arg1
356   
357           /*
358           ** Get our short form for the argument.
359           */
360           if (@arg1_temp = "groups")
361           begin
362               select @arg1 = "gr"
363           end
364           else if (@arg1_temp = "databases")
365           begin
366               select @arg1 = "db"
367           end
368           else if (@arg1_temp = "logins")
369           begin
370               select @arg1 = "login"
371           end
372           else if (@arg1_temp = "applications")
373           begin
374               select @arg1 = "app"
375           end
376   
377   
378           /* Check for invalid arguments */
379           if (@arg1 not in ("all", "gr", "db", "login", "app", "who", NULL))
380           begin
381               exec sp_getmessage 18954, @msg output
382               print @msg
383               exec sp_getmessage 18962, @msg output
384               print @msg
385               return 1
386           end
387   
388           /* Always need a dbname with "who" */
389           if (@arg1 = "who") and (@arg2 is NULL)
390           begin
391               exec sp_getmessage 18954, @msg output
392               print @msg
393               exec sp_getmessage 18966, @msg output
394               print @msg
395               return 1
396           end
397   
398           /*
399           ** execute worker stored procedure 
400           */
401           exec @retstat = sp_multdb_show @arg1, @arg2
402           return @retstat
403       end
404       /*
405       ** User wants to see active sessions bound to a temp. database 
406       */
407       else if (@cmd = "who")
408       begin
409           if (@arg1 is NULL)
410           begin
411               exec sp_getmessage 18954, @msg output
412               print @msg
413               exec sp_getmessage 18970, @msg output
414               print @msg
415               return 1
416           end
417   
418           /*
419           ** execute worker stored procedure
420           */
421           exec @retstat = sp_multdb_show @cmd, @arg1
422           return @retstat
423       end
424       /*
425       ** User wants to drop all login/app bindings for a temporary database.
426       */
427       else if (@cmd = "unbindall_db")
428       begin
429           if (@arg1 is NULL)
430           begin
431               exec sp_getmessage 18954, @msg output
432               print @msg
433               exec sp_getmessage 18971, @msg output
434               print @msg
435               return 1
436           end
437   
438           /*
439           ** execute worker stored procedure
440           */
441           exec @retstat = sp_multdb_unbindall_db @arg1
442           return @retstat
443       end
444       /*
445       ** User wants to drop all login/app bindings for a temporary database group.
446       */
447       else if (@cmd = "unbindall_gr")
448       begin
449           if (@arg1 is NULL)
450           begin
451               exec sp_getmessage 18954, @msg output
452               print @msg
453               exec sp_getmessage 19583, @msg output
454               print @msg
455               return 1
456           end
457   
458           /*
459           ** execute worker stored procedure
460           */
461           exec @retstat = sp_multdb_unbindall_gr @arg1
462           return @retstat
463       end
464       else
465       /*
466       ** Unrecognized command 
467       */
468       begin
469           exec sp_getmessage 18965, @msg output
470           print @msg, @cmd
471           return 1
472       end
473   
474       return (0)
475   


exec sp_procxmode 'sp_tempdb', 'AnyMode'
go

Grant Execute on sp_tempdb to public
go
DEFECTS
 MURC 6 Unreachable Code 474
 MEST 4 Empty String will be replaced by Single Space 282
 MTYP 4 Assignment type mismatch @tdbgroup: varchar(255) = varchar(265) 234
 MTYP 4 Assignment type mismatch @tdbgroup: varchar(255) = varchar(265) 261
 MTYP 4 Assignment type mismatch @hardness: varchar(30) = varchar(255) 302
 MTYP 4 Assignment type mismatch @obj_name: varchar(255) = varchar(265) 302
 MTYP 4 Assignment type mismatch @obj_type: varchar(30) = varchar(255) 302
 MTYP 4 Assignment type mismatch @tdb_type: varchar(30) = varchar(255) 302
 MTYP 4 Assignment type mismatch @obj_name: varchar(255) = varchar(265) 341
 MTYP 4 Assignment type mismatch @obj_type: varchar(30) = varchar(255) 341
 MTYP 4 Assignment type mismatch @obj_name: varchar(255) = varchar(265) 345
 MTYP 4 Assignment type mismatch @obj_type: varchar(30) = varchar(255) 345
 MTYP 4 Assignment type mismatch @name: varchar(255) = varchar(265) 401
 MTYP 4 Assignment type mismatch @option: varchar(10) = varchar(255) 401
 MTYP 4 Assignment type mismatch @option: varchar(10) = varchar(30) 421
 MGTP 3 Grant to public sybsystemprocs..sp_tempdb  
 MNER 3 No Error Check should check return value of exec 117
 MNER 3 No Error Check should check return value of exec 119
 MNER 3 No Error Check should check return value of exec 121
 MNER 3 No Error Check should check return value of exec 123
 MNER 3 No Error Check should check return value of exec 125
 MNER 3 No Error Check should check return value of exec 127
 MNER 3 No Error Check should check return value of exec 129
 MNER 3 No Error Check should check return value of exec 133
 MNER 3 No Error Check should check return value of exec 138
 MNER 3 No Error Check should check return value of exec 141
 MNER 3 No Error Check should check return value of exec 143
 MNER 3 No Error Check should check return value of exec 145
 MNER 3 No Error Check should check return value of exec 147
 MNER 3 No Error Check should check return value of exec 150
 MNER 3 No Error Check should check return value of exec 152
 MNER 3 No Error Check should check return value of exec 154
 MNER 3 No Error Check should check return value of exec 170
 MNER 3 No Error Check should check return value of exec 172
 MNER 3 No Error Check should check return value of exec 181
 MNER 3 No Error Check should check return value of exec 196
 MNER 3 No Error Check should check return value of exec 198
 MNER 3 No Error Check should check return value of exec 207
 MNER 3 No Error Check should check return value of exec 222
 MNER 3 No Error Check should check return value of exec 224
 MNER 3 No Error Check should check return value of exec 234
 MNER 3 No Error Check should check return value of exec 249
 MNER 3 No Error Check should check return value of exec 251
 MNER 3 No Error Check should check return value of exec 261
 MNER 3 No Error Check should check return value of exec 276
 MNER 3 No Error Check should check return value of exec 278
 MNER 3 No Error Check should check return value of exec 302
 MNER 3 No Error Check should check return value of exec 320
 MNER 3 No Error Check should check return value of exec 324
 MNER 3 No Error Check should check return value of exec 329
 MNER 3 No Error Check should check return value of exec 341
 MNER 3 No Error Check should check return value of exec 345
 MNER 3 No Error Check should check return value of exec 381
 MNER 3 No Error Check should check return value of exec 383
 MNER 3 No Error Check should check return value of exec 391
 MNER 3 No Error Check should check return value of exec 393
 MNER 3 No Error Check should check return value of exec 401
 MNER 3 No Error Check should check return value of exec 411
 MNER 3 No Error Check should check return value of exec 413
 MNER 3 No Error Check should check return value of exec 421
 MNER 3 No Error Check should check return value of exec 431
 MNER 3 No Error Check should check return value of exec 433
 MNER 3 No Error Check should check return value of exec 441
 MNER 3 No Error Check should check return value of exec 451
 MNER 3 No Error Check should check return value of exec 453
 MNER 3 No Error Check should check return value of exec 461
 MNER 3 No Error Check should check return value of exec 469
 MUCO 3 Useless Code Useless Brackets 81
 MUCO 3 Useless Code Useless Begin-End Pair 84
 MUCO 3 Useless Code Useless Brackets 99
 MUCO 3 Useless Code Useless Brackets 101
 MUCO 3 Useless Code Useless Brackets 109
 MUCO 3 Useless Code Useless Brackets 110
 MUCO 3 Useless Code Useless Brackets 131
 MUCO 3 Useless Code Useless Brackets 136
 MUCO 3 Useless Code Useless Brackets 156
 MUCO 3 Useless Code Useless Brackets 161
 MUCO 3 Useless Code Useless Brackets 166
 MUCO 3 Useless Code Useless Brackets 188
 MUCO 3 Useless Code Useless Brackets 193
 MUCO 3 Useless Code Useless Brackets 214
 MUCO 3 Useless Code Useless Brackets 219
 MUCO 3 Useless Code Useless Brackets 241
 MUCO 3 Useless Code Useless Brackets 246
 MUCO 3 Useless Code Useless Brackets 268
 MUCO 3 Useless Code Useless Brackets 273
 MUCO 3 Useless Code Useless Brackets 282
 MUCO 3 Useless Code Useless Brackets 293
 MUCO 3 Useless Code Useless Brackets 309
 MUCO 3 Useless Code Useless Brackets 316
 MUCO 3 Useless Code Useless Brackets 322
 MUCO 3 Useless Code Useless Brackets 327
 MUCO 3 Useless Code Useless Brackets 339
 MUCO 3 Useless Code Useless Brackets 343
 MUCO 3 Useless Code Useless Brackets 353
 MUCO 3 Useless Code Useless Brackets 360
 MUCO 3 Useless Code Useless Brackets 364
 MUCO 3 Useless Code Useless Brackets 368
 MUCO 3 Useless Code Useless Brackets 372
 MUCO 3 Useless Code Useless Brackets 379
 MUCO 3 Useless Code Useless Brackets 407
 MUCO 3 Useless Code Useless Brackets 409
 MUCO 3 Useless Code Useless Brackets 427
 MUCO 3 Useless Code Useless Brackets 429
 MUCO 3 Useless Code Useless Brackets 447
 MUCO 3 Useless Code Useless Brackets 449
 MUCO 3 Useless Code Useless Brackets 474
 QISO 3 Set isolation level 87
 VNRD 3 Variable is not read @dummy 106
 MTR1 2 Metrics: Comments Ratio Comments: 36% 39
 MTR2 2 Metrics: Cyclomatic Complexity Cyclo: 44 = 70dec - 28exi + 2 39
 MTR3 2 Metrics: Query Complexity Complexity: 255 39

DATA PROPAGATION detailed
ColumnWritten To
@arg1sysattributes.object_type   °.object_cinfo   sp_optgoal_rset_002.name sp_passwordpolicy_rset_001.value sp_rjs_retrieve_rset_001.js_server
@arg2sysattributes.object_cinfo   sp_optgoal_rset_002.name sp_passwordpolicy_rset_001.value sp_rjs_retrieve_rset_001.js_server
@arg4sysattributes.char_value   sysattributes.int_value   °.char_value   sp_dropdevice_rset_001.device sp_dropdevice_rset_001.device sp_forceonline_object_rset_001.status sp_forceonline_object_rset_002.status sp_forceonline_page_rset_001.status sp_forceonline_page_rset_002.status sp_listsuspect_object_rset_001.Access
sp_listsuspect_page_rset_001.Access sp_makesuspect_obj_rset_001.Indid °.LogType °.PageType °.ErrType °.Delay °.TotalNum sp_makesuspect_obj_rset_002.Indid °.LogType °.PageType
°.ErrType °.Delay °.TotalNum sp_makesuspect_obj_rset_003.Indid °.LogType °.PageType °.ErrType °.Delay °.TotalNum sp_passwordpolicy_rset_001.message
sp_passwordpolicy_rset_002.value sp_passwordpolicy_rset_003.value sp_passwordpolicy_rset_004.Policy_option sp_rjs_retrieve_rset_001.host_name sp_setsuspect_granularity_rset_001.Online mode sp_ssladmin_rset_001.certificate_path sp_ssladmin_rset_002.Cipher Suite Name °.Preference
@arg5sysattributes.object_cinfo   sp_optgoal_rset_002.name sp_passwordpolicy_rset_001.value sp_rjs_retrieve_rset_001.js_server

DEPENDENCIES
PROCS AND TABLES USED
calls proc sybsystemprocs..sp_multdb_show  
   writes table tempdb..#multdb_bindings1rs (1) 
   writes table tempdb..#multdb_dbs1rs (1) 
   calls proc sybsystemprocs..sp_autoformat  
      writes table sybsystemprocs..sp_autoformat_rset_003 
      reads table tempdb..syscolumns (1)  
      read_writes table tempdb..#colinfo_af (1) 
      writes table sybsystemprocs..sp_autoformat_rset_001 
      reads table tempdb..systypes (1)  
      reads table master..systypes (1)  
      writes table sybsystemprocs..sp_autoformat_rset_005 
      reads table master..syscolumns (1)  
      calls proc sybsystemprocs..sp_autoformat  
      calls proc sybsystemprocs..sp_namecrack  
      writes table sybsystemprocs..sp_autoformat_rset_004 
      writes table sybsystemprocs..sp_autoformat_rset_002 
   read_writes table tempdb..#multdb_bindings (1) 
   writes table tempdb..#multdb_bindings2rs (1) 
   reads table master..syslogins (1)  
   reads table master..sysdatabases (1)  
   reads table master..sysprocesses (1)  
   writes table tempdb..#multdb_show1rs (1) 
   writes table tempdb..#multdb_dbs2rs (1) 
   reads table master..sysattributes (1)  
   reads table master..spt_values (1)  
   read_writes table tempdb..#multdb_dbs (1) 
   writes table tempdb..#multdb_show2rs (1) 
   writes table tempdb..#multdb_groups (1) 
calls proc sybsystemprocs..sp_multdb_addtogroup  
   writes table sybsystemprocs..sp_multdb_addtogroup_rset_001 
   reads table master..spt_values (1)  
   read_writes table master..sysattributes (1)  
   reads table master..sysdatabases (1)  
calls proc sybsystemprocs..sp_multdb_removefromgroup  
   writes table sybsystemprocs..sp_multdb_removefromgroup_rset_001 
   read_writes table master..sysattributes (1)  
   reads table master..spt_values (1)  
   reads table master..sysdatabases (1)  
calls proc sybsystemprocs..sp_multdb_unbind  
   writes table master..sysattributes (1)  
   reads table master..syslogins (1)  
calls proc sybsystemprocs..sp_multdb_unbindall_db  
   writes table master..sysattributes (1)  
   reads table master..sysdatabases (1)  
   reads table master..spt_values (1)  
calls proc sybsystemprocs..sp_aux_checkroleperm  
   reads table master..sysconfigures (1)  
   reads table master..syscurconfigs (1)  
calls proc sybsystemprocs..sp_multdb_bind  
   reads table master..spt_values (1)  
   reads table master..sysdatabases (1)  
   read_writes table master..sysattributes (1)  
   reads table master..syslogins (1)  
calls proc sybsystemprocs..sp_multdb_dropgroup  
   writes table sybsystemprocs..sp_multdb_dropgroup_rset_001 
   read_writes table master..sysattributes (1)  
calls proc sybsystemprocs..sp_getmessage  
   reads table master..syslanguages (1)  
   calls proc sybsystemprocs..sp_validlang  
      reads table master..syslanguages (1)  
   reads table master..sysmessages (1)  
   reads table sybsystemprocs..sysusermessages  
calls proc sybsystemprocs..sp_multdb_creategroup  
   writes table sybsystemprocs..sp_multdb_creategroup_rset_001 
   read_writes table master..sysattributes (1)  
calls proc sybsystemprocs..sp_multdb_unbindall_gr  
   read_writes table master..sysattributes (1)