ÿþS E T   A N S I _ N U L L S   O N  
 G O  
 S E T   Q U O T E D _ I D E N T I F I E R   O N  
 G O  
 C R E A T E   P R O C E D U R E   [ d b o ] . [ D a t a b a s e I n t e g r i t y C h e c k ]  
  
 @ D a t a b a s e s   n v a r c h a r ( m a x ) ,  
 @ P h y s i c a l O n l y   n v a r c h a r ( m a x )   =   ' N ' ,  
 @ N o I n d e x   n v a r c h a r ( m a x )   =   ' N ' ,  
 @ E x t e n d e d L o g i c a l C h e c k s   n v a r c h a r ( m a x )   =   ' N ' ,  
 @ T a b L o c k   n v a r c h a r ( m a x )   =   ' N ' ,  
 @ L o g T o T a b l e   n v a r c h a r ( m a x )   =   ' N ' ,  
 @ E x e c u t e   n v a r c h a r ( m a x )   =   ' Y '  
  
 A S  
  
 B E G I N  
  
     - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
     - - / /   S o u r c e :   h t t p : / / o l a . h a l l e n g r e n . c o m                                                                                                                     / / - -  
     - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
  
     S E T   N O C O U N T   O N  
  
     D E C L A R E   @ S t a r t M e s s a g e   n v a r c h a r ( m a x )  
     D E C L A R E   @ E n d M e s s a g e   n v a r c h a r ( m a x )  
     D E C L A R E   @ D a t a b a s e M e s s a g e   n v a r c h a r ( m a x )  
     D E C L A R E   @ E r r o r M e s s a g e   n v a r c h a r ( m a x )  
  
     D E C L A R E   @ V e r s i o n   n u m e r i c ( 1 8 , 1 0 )  
  
     D E C L A R E   @ C u r r e n t I D   i n t  
     D E C L A R E   @ C u r r e n t D a t a b a s e I D   i n t  
     D E C L A R E   @ C u r r e n t D a t a b a s e N a m e   n v a r c h a r ( m a x )  
     D E C L A R E   @ C u r r e n t I s D a t a b a s e A c c e s s i b l e   b i t  
     D E C L A R E   @ C u r r e n t M i r r o r i n g R o l e   n v a r c h a r ( m a x )  
  
     D E C L A R E   @ C u r r e n t C o m m a n d 0 1   n v a r c h a r ( m a x )  
  
     D E C L A R E   @ C u r r e n t C o m m a n d O u t p u t 0 1   i n t  
  
     D E C L A R E   @ C u r r e n t C o m m a n d T y p e 0 1   n v a r c h a r ( m a x )  
  
     D E C L A R E   @ t m p D a t a b a s e s   T A B L E   ( I D   i n t   I D E N T I T Y   P R I M A R Y   K E Y ,  
                                                               D a t a b a s e N a m e   n v a r c h a r ( m a x ) ,  
                                                               C o m p l e t e d   b i t )  
  
     D E C L A R E   @ E r r o r   i n t  
     D E C L A R E   @ R e t u r n C o d e   i n t  
  
     S E T   @ E r r o r   =   0  
     S E T   @ R e t u r n C o d e   =   0  
  
     S E T   @ V e r s i o n   =   C A S T ( L E F T ( C A S T ( S E R V E R P R O P E R T Y ( ' P r o d u c t V e r s i o n ' )   A S   n v a r c h a r ( m a x ) ) , C H A R I N D E X ( ' . ' , C A S T ( S E R V E R P R O P E R T Y ( ' P r o d u c t V e r s i o n ' )   A S   n v a r c h a r ( m a x ) ) )   -   1 )   +   ' . '   +   R E P L A C E ( R I G H T ( C A S T ( S E R V E R P R O P E R T Y ( ' P r o d u c t V e r s i o n ' )   A S   n v a r c h a r ( m a x ) ) ,   L E N ( C A S T ( S E R V E R P R O P E R T Y ( ' P r o d u c t V e r s i o n ' )   A S   n v a r c h a r ( m a x ) ) )   -   C H A R I N D E X ( ' . ' , C A S T ( S E R V E R P R O P E R T Y ( ' P r o d u c t V e r s i o n ' )   A S   n v a r c h a r ( m a x ) ) ) ) , ' . ' , ' ' )   A S   n u m e r i c ( 1 8 , 1 0 ) )  
  
     - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
     - - / /   L o g   i n i t i a l   i n f o r m a t i o n                                                                                                                                         / / - -  
     - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
  
     S E T   @ S t a r t M e s s a g e   =   ' D a t e T i m e :   '   +   C O N V E R T ( n v a r c h a r , G E T D A T E ( ) , 1 2 0 )   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )  
     S E T   @ S t a r t M e s s a g e   =   @ S t a r t M e s s a g e   +   ' S e r v e r :   '   +   C A S T ( S E R V E R P R O P E R T Y ( ' S e r v e r N a m e ' )   A S   n v a r c h a r )   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )  
     S E T   @ S t a r t M e s s a g e   =   @ S t a r t M e s s a g e   +   ' V e r s i o n :   '   +   C A S T ( S E R V E R P R O P E R T Y ( ' P r o d u c t V e r s i o n ' )   A S   n v a r c h a r )   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )  
     S E T   @ S t a r t M e s s a g e   =   @ S t a r t M e s s a g e   +   ' E d i t i o n :   '   +   C A S T ( S E R V E R P R O P E R T Y ( ' E d i t i o n ' )   A S   n v a r c h a r )   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )  
     S E T   @ S t a r t M e s s a g e   =   @ S t a r t M e s s a g e   +   ' P r o c e d u r e :   '   +   Q U O T E N A M E ( D B _ N A M E ( D B _ I D ( ) ) )   +   ' . '   +   ( S E L E C T   Q U O T E N A M E ( s c h e m a s . n a m e )   F R O M   s y s . s c h e m a s   s c h e m a s   I N N E R   J O I N   s y s . o b j e c t s   o b j e c t s   O N   s c h e m a s . [ s c h e m a _ i d ]   =   o b j e c t s . [ s c h e m a _ i d ]   W H E R E   [ o b j e c t _ i d ]   =   @ @ P R O C I D )   +   ' . '   +   Q U O T E N A M E ( O B J E C T _ N A M E ( @ @ P R O C I D ) )   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )  
     S E T   @ S t a r t M e s s a g e   =   @ S t a r t M e s s a g e   +   ' P a r a m e t e r s :   @ D a t a b a s e s   =   '   +   I S N U L L ( ' ' ' '   +   R E P L A C E ( @ D a t a b a s e s , ' ' ' ' , ' ' ' ' ' ' )   +   ' ' ' ' , ' N U L L ' )  
     S E T   @ S t a r t M e s s a g e   =   @ S t a r t M e s s a g e   +   ' ,   @ P h y s i c a l O n l y   =   '   +   I S N U L L ( ' ' ' '   +   R E P L A C E ( @ P h y s i c a l O n l y , ' ' ' ' , ' ' ' ' ' ' )   +   ' ' ' ' , ' N U L L ' )  
     S E T   @ S t a r t M e s s a g e   =   @ S t a r t M e s s a g e   +   ' ,   @ N o I n d e x   =   '   +   I S N U L L ( ' ' ' '   +   R E P L A C E ( @ N o I n d e x , ' ' ' ' , ' ' ' ' ' ' )   +   ' ' ' ' , ' N U L L ' )  
     S E T   @ S t a r t M e s s a g e   =   @ S t a r t M e s s a g e   +   ' ,   @ E x t e n d e d L o g i c a l C h e c k s   =   '   +   I S N U L L ( ' ' ' '   +   R E P L A C E ( @ E x t e n d e d L o g i c a l C h e c k s , ' ' ' ' , ' ' ' ' ' ' )   +   ' ' ' ' , ' N U L L ' )  
     S E T   @ S t a r t M e s s a g e   =   @ S t a r t M e s s a g e   +   ' ,   @ T a b L o c k   =   '   +   I S N U L L ( ' ' ' '   +   R E P L A C E ( @ T a b L o c k , ' ' ' ' , ' ' ' ' ' ' )   +   ' ' ' ' , ' N U L L ' )  
     S E T   @ S t a r t M e s s a g e   =   @ S t a r t M e s s a g e   +   ' ,   @ L o g T o T a b l e   =   '   +   I S N U L L ( ' ' ' '   +   R E P L A C E ( @ L o g T o T a b l e , ' ' ' ' , ' ' ' ' ' ' )   +   ' ' ' ' , ' N U L L ' )  
     S E T   @ S t a r t M e s s a g e   =   @ S t a r t M e s s a g e   +   ' ,   @ E x e c u t e   =   '   +   I S N U L L ( ' ' ' '   +   R E P L A C E ( @ E x e c u t e , ' ' ' ' , ' ' ' ' ' ' )   +   ' ' ' ' , ' N U L L ' )   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )  
     S E T   @ S t a r t M e s s a g e   =   @ S t a r t M e s s a g e   +   ' S o u r c e :   h t t p : / / o l a . h a l l e n g r e n . c o m '   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )   +   '   '  
     S E T   @ S t a r t M e s s a g e   =   R E P L A C E ( @ S t a r t M e s s a g e , ' % ' , ' % % ' )  
     R A I S E R R O R ( @ S t a r t M e s s a g e , 1 0 , 1 )   W I T H   N O W A I T  
  
     - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
     - - / /   C h e c k   c o r e   r e q u i r e m e n t s                                                                                                                                         / / - -  
     - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
  
     I F   S E R V E R P R O P E R T Y ( ' E n g i n e E d i t i o n ' )   =   5  
     B E G I N  
         S E T   @ E r r o r M e s s a g e   =   ' S Q L   A z u r e   i s   n o t   s u p p o r t e d . '   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )   +   '   '  
         R A I S E R R O R ( @ E r r o r M e s s a g e , 1 6 , 1 )   W I T H   N O W A I T  
         S E T   @ E r r o r   =   @ @ E R R O R  
     E N D  
  
     I F   @ E r r o r   < >   0  
     B E G I N  
         S E T   @ R e t u r n C o d e   =   @ E r r o r  
         G O T O   L o g g i n g  
     E N D  
  
     I F   N O T   E X I S T S   ( S E L E C T   *   F R O M   s y s . o b j e c t s   o b j e c t s   I N N E R   J O I N   s y s . s c h e m a s   s c h e m a s   O N   o b j e c t s . [ s c h e m a _ i d ]   =   s c h e m a s . [ s c h e m a _ i d ]   W H E R E   o b j e c t s . [ t y p e ]   =   ' P '   A N D   s c h e m a s . [ n a m e ]   =   ' d b o '   A N D   o b j e c t s . [ n a m e ]   =   ' C o m m a n d E x e c u t e ' )  
     B E G I N  
         S E T   @ E r r o r M e s s a g e   =   ' T h e   s t o r e d   p r o c e d u r e   C o m m a n d E x e c u t e   i s   m i s s i n g .   D o w n l o a d   h t t p : / / o l a . h a l l e n g r e n . c o m / s c r i p t s / C o m m a n d E x e c u t e . s q l . '   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )   +   '   '  
         R A I S E R R O R ( @ E r r o r M e s s a g e , 1 6 , 1 )   W I T H   N O W A I T  
         S E T   @ E r r o r   =   @ @ E R R O R  
     E N D  
  
     I F   E X I S T S   ( S E L E C T   *   F R O M   s y s . o b j e c t s   o b j e c t s   I N N E R   J O I N   s y s . s c h e m a s   s c h e m a s   O N   o b j e c t s . [ s c h e m a _ i d ]   =   s c h e m a s . [ s c h e m a _ i d ]   W H E R E   o b j e c t s . [ t y p e ]   =   ' P '   A N D   s c h e m a s . [ n a m e ]   =   ' d b o '   A N D   o b j e c t s . [ n a m e ]   =   ' C o m m a n d E x e c u t e '   A N D   O B J E C T _ D E F I N I T I O N ( o b j e c t s . [ o b j e c t _ i d ] )   N O T   L I K E   ' % @ L o g T o T a b l e % ' )  
     B E G I N  
         S E T   @ E r r o r M e s s a g e   =   ' T h e   s t o r e d   p r o c e d u r e   C o m m a n d E x e c u t e   n e e d s   t o   b e   u p d a t e d .   D o w n l o a d   h t t p : / / o l a . h a l l e n g r e n . c o m / s c r i p t s / C o m m a n d E x e c u t e . s q l . '   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )   +   '   '  
         R A I S E R R O R ( @ E r r o r M e s s a g e , 1 6 , 1 )   W I T H   N O W A I T  
         S E T   @ E r r o r   =   @ @ E R R O R  
     E N D  
  
     I F   N O T   E X I S T S   ( S E L E C T   *   F R O M   s y s . o b j e c t s   o b j e c t s   I N N E R   J O I N   s y s . s c h e m a s   s c h e m a s   O N   o b j e c t s . [ s c h e m a _ i d ]   =   s c h e m a s . [ s c h e m a _ i d ]   W H E R E   o b j e c t s . [ t y p e ]   =   ' T F '   A N D   s c h e m a s . [ n a m e ]   =   ' d b o '   A N D   o b j e c t s . [ n a m e ]   =   ' D a t a b a s e S e l e c t ' )  
     B E G I N  
         S E T   @ E r r o r M e s s a g e   =   ' T h e   f u n c t i o n   D a t a b a s e S e l e c t   i s   m i s s i n g .   D o w n l o a d   h t t p : / / o l a . h a l l e n g r e n . c o m / s c r i p t s / D a t a b a s e S e l e c t . s q l . '   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )   +   '   '  
         R A I S E R R O R ( @ E r r o r M e s s a g e , 1 6 , 1 )   W I T H   N O W A I T  
         S E T   @ E r r o r   =   @ @ E R R O R  
     E N D  
  
     I F   @ L o g T o T a b l e   =   ' Y '   A N D   N O T   E X I S T S   ( S E L E C T   *   F R O M   s y s . o b j e c t s   o b j e c t s   I N N E R   J O I N   s y s . s c h e m a s   s c h e m a s   O N   o b j e c t s . [ s c h e m a _ i d ]   =   s c h e m a s . [ s c h e m a _ i d ]   W H E R E   o b j e c t s . [ t y p e ]   =   ' U '   A N D   s c h e m a s . [ n a m e ]   =   ' d b o '   A N D   o b j e c t s . [ n a m e ]   =   ' C o m m a n d L o g ' )  
     B E G I N  
         S E T   @ E r r o r M e s s a g e   =   ' T h e   t a b l e   C o m m a n d L o g   i s   m i s s i n g .   D o w n l o a d   h t t p : / / o l a . h a l l e n g r e n . c o m / s c r i p t s / C o m m a n d L o g . s q l . '   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )   +   '   '  
         R A I S E R R O R ( @ E r r o r M e s s a g e , 1 6 , 1 )   W I T H   N O W A I T  
         S E T   @ E r r o r   =   @ @ E R R O R  
     E N D  
  
     I F   @ E r r o r   < >   0  
     B E G I N  
         S E T   @ R e t u r n C o d e   =   @ E r r o r  
         G O T O   L o g g i n g  
     E N D  
  
     - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
     - - / /   S e l e c t   d a t a b a s e s                                                                                                                                                       / / - -  
     - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
  
     I F   @ D a t a b a s e s   I S   N U L L   O R   @ D a t a b a s e s   =   ' '  
     B E G I N  
         S E T   @ E r r o r M e s s a g e   =   ' T h e   v a l u e   f o r   p a r a m e t e r   @ D a t a b a s e s   i s   n o t   s u p p o r t e d . '   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )   +   '   '  
         R A I S E R R O R ( @ E r r o r M e s s a g e , 1 6 , 1 )   W I T H   N O W A I T  
         S E T   @ E r r o r   =   @ @ E R R O R  
     E N D  
  
     I N S E R T   I N T O   @ t m p D a t a b a s e s   ( D a t a b a s e N a m e ,   C o m p l e t e d )  
     S E L E C T   D a t a b a s e N a m e   A S   D a t a b a s e N a m e ,  
                   0   A S   C o m p l e t e d  
     F R O M   d b o . D a t a b a s e S e l e c t   ( @ D a t a b a s e s )  
     O R D E R   B Y   D a t a b a s e N a m e   A S C  
  
     I F   @ @ E R R O R   < >   0  
     B E G I N  
         S E T   @ E r r o r M e s s a g e   =   ' E r r o r   s e l e c t i n g   d a t a b a s e s . '   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )   +   '   '  
         R A I S E R R O R ( @ E r r o r M e s s a g e , 1 6 , 1 )   W I T H   N O W A I T  
         S E T   @ E r r o r   =   @ @ E R R O R  
     E N D  
  
     - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
     - - / /   C h e c k   i n p u t   p a r a m e t e r s                                                                                                                                           / / - -  
     - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
  
     I F   @ P h y s i c a l O n l y   N O T   I N   ( ' Y ' , ' N ' )   O R   @ P h y s i c a l O n l y   I S   N U L L  
     B E G I N  
         S E T   @ E r r o r M e s s a g e   =   ' T h e   v a l u e   f o r   p a r a m e t e r   @ P h y s i c a l O n l y   i s   n o t   s u p p o r t e d . '   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )   +   '   '  
         R A I S E R R O R ( @ E r r o r M e s s a g e , 1 6 , 1 )   W I T H   N O W A I T  
         S E T   @ E r r o r   =   @ @ E R R O R  
     E N D  
  
     I F   @ N o I n d e x   N O T   I N   ( ' Y ' , ' N ' )   O R   @ N o I n d e x   I S   N U L L  
     B E G I N  
         S E T   @ E r r o r M e s s a g e   =   ' T h e   v a l u e   f o r   p a r a m e t e r   @ N o I n d e x   i s   n o t   s u p p o r t e d . '   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )   +   '   '  
         R A I S E R R O R ( @ E r r o r M e s s a g e , 1 6 , 1 )   W I T H   N O W A I T  
         S E T   @ E r r o r   =   @ @ E R R O R  
     E N D  
  
     I F   @ E x t e n d e d L o g i c a l C h e c k s   N O T   I N   ( ' Y ' , ' N ' )   O R   @ E x t e n d e d L o g i c a l C h e c k s   I S   N U L L   O R   ( @ E x t e n d e d L o g i c a l C h e c k s   =   ' Y '   A N D   N O T   @ V e r s i o n   > =   1 0 )  
     B E G I N  
         S E T   @ E r r o r M e s s a g e   =   ' T h e   v a l u e   f o r   p a r a m e t e r   @ E x t e n d e d L o g i c a l C h e c k s   i s   n o t   s u p p o r t e d . '   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )   +   '   '  
         R A I S E R R O R ( @ E r r o r M e s s a g e , 1 6 , 1 )   W I T H   N O W A I T  
         S E T   @ E r r o r   =   @ @ E R R O R  
     E N D  
  
     I F   @ P h y s i c a l O n l y   =   ' Y '   A N D   @ E x t e n d e d L o g i c a l C h e c k s   =   ' Y '  
     B E G I N  
         S E T   @ E r r o r M e s s a g e   =   ' E x t e n d e d   L o g i c a l   C h e c k s   a n d   P h y s i c a l   O n l y   c a n n o t   b e   u s e d   t o g e t h e r . '   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )   +   '   '  
         R A I S E R R O R ( @ E r r o r M e s s a g e , 1 6 , 1 )   W I T H   N O W A I T  
         S E T   @ E r r o r   =   @ @ E R R O R  
     E N D  
  
     I F   ( @ E x t e n d e d L o g i c a l C h e c k s   =   ' Y '   A N D   N O T   ( @ V e r s i o n   > =   1 0 ) )  
     B E G I N  
         S E T   @ E r r o r M e s s a g e   =   ' E x t e n d e d   L o g i c a l   C h e c k s   a r e   o n l y   s u p p o r t e d   i n   S Q L   S e r v e r   2 0 0 8   a n d   S Q L   S e r v e r   2 0 0 8   R 2 . '   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )   +   '   '  
         R A I S E R R O R ( @ E r r o r M e s s a g e , 1 6 , 1 )   W I T H   N O W A I T  
         S E T   @ E r r o r   =   @ @ E R R O R  
     E N D  
  
     I F   @ T a b L o c k   N O T   I N   ( ' Y ' , ' N ' )   O R   @ T a b L o c k   I S   N U L L  
     B E G I N  
         S E T   @ E r r o r M e s s a g e   =   ' T h e   v a l u e   f o r   p a r a m e t e r   @ T a b L o c k   i s   n o t   s u p p o r t e d . '   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )   +   '   '  
         R A I S E R R O R ( @ E r r o r M e s s a g e , 1 6 , 1 )   W I T H   N O W A I T  
         S E T   @ E r r o r   =   @ @ E R R O R  
     E N D  
  
     I F   @ L o g T o T a b l e   N O T   I N ( ' Y ' , ' N ' )   O R   @ L o g T o T a b l e   I S   N U L L  
     B E G I N  
         S E T   @ E r r o r M e s s a g e   =   ' T h e   v a l u e   f o r   p a r a m e t e r   @ L o g T o T a b l e   i s   n o t   s u p p o r t e d . '   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )   +   '   '  
         R A I S E R R O R ( @ E r r o r M e s s a g e , 1 6 , 1 )   W I T H   N O W A I T  
         S E T   @ E r r o r   =   @ @ E R R O R  
     E N D  
  
     I F   @ E x e c u t e   N O T   I N ( ' Y ' , ' N ' )   O R   @ E x e c u t e   I S   N U L L  
     B E G I N  
         S E T   @ E r r o r M e s s a g e   =   ' T h e   v a l u e   f o r   p a r a m e t e r   @ E x e c u t e   i s   n o t   s u p p o r t e d . '   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )   +   '   '  
         R A I S E R R O R ( @ E r r o r M e s s a g e , 1 6 , 1 )   W I T H   N O W A I T  
         S E T   @ E r r o r   =   @ @ E R R O R  
     E N D  
  
     I F   @ E r r o r   < >   0  
     B E G I N  
         S E T   @ E r r o r M e s s a g e   =   ' T h e   d o c u m e n t a t i o n   i s   a v a i l a b l e   o n   h t t p : / / o l a . h a l l e n g r e n . c o m / D o c u m e n t a t i o n . h t m l . '   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )   +   '   '  
         R A I S E R R O R ( @ E r r o r M e s s a g e , 1 6 , 1 )   W I T H   N O W A I T  
         S E T   @ R e t u r n C o d e   =   @ E r r o r  
         G O T O   L o g g i n g  
     E N D  
  
     - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
     - - / /   E x e c u t e   c o m m a n d s                                                                                                                                                       / / - -  
     - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
  
     W H I L E   E X I S T S   ( S E L E C T   *   F R O M   @ t m p D a t a b a s e s   W H E R E   C o m p l e t e d   =   0 )  
     B E G I N  
  
         S E L E C T   T O P   1   @ C u r r e n t I D   =   I D ,  
                                   @ C u r r e n t D a t a b a s e N a m e   =   D a t a b a s e N a m e  
         F R O M   @ t m p D a t a b a s e s  
         W H E R E   C o m p l e t e d   =   0  
         O R D E R   B Y   I D   A S C  
  
         S E T   @ C u r r e n t D a t a b a s e I D   =   D B _ I D ( @ C u r r e n t D a t a b a s e N a m e )  
  
         I F   E X I S T S   ( S E L E C T   *   F R O M   s y s . d a t a b a s e _ r e c o v e r y _ s t a t u s   W H E R E   d a t a b a s e _ i d   =   @ C u r r e n t D a t a b a s e I D   A N D   d a t a b a s e _ g u i d   I S   N O T   N U L L )  
         B E G I N  
             S E T   @ C u r r e n t I s D a t a b a s e A c c e s s i b l e   =   1  
         E N D  
         E L S E  
         B E G I N  
             S E T   @ C u r r e n t I s D a t a b a s e A c c e s s i b l e   =   0  
         E N D  
  
         S E L E C T   @ C u r r e n t M i r r o r i n g R o l e   =   m i r r o r i n g _ r o l e _ d e s c  
         F R O M   s y s . d a t a b a s e _ m i r r o r i n g  
         W H E R E   d a t a b a s e _ i d   =   @ C u r r e n t D a t a b a s e I D  
  
         - -   S e t   d a t a b a s e   m e s s a g e  
         S E T   @ D a t a b a s e M e s s a g e   =   ' D a t e T i m e :   '   +   C O N V E R T ( n v a r c h a r , G E T D A T E ( ) , 1 2 0 )   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )  
         S E T   @ D a t a b a s e M e s s a g e   =   @ D a t a b a s e M e s s a g e   +   ' D a t a b a s e :   '   +   Q U O T E N A M E ( @ C u r r e n t D a t a b a s e N a m e )   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )  
         S E T   @ D a t a b a s e M e s s a g e   =   @ D a t a b a s e M e s s a g e   +   ' S t a t u s :   '   +   C A S T ( D A T A B A S E P R O P E R T Y E X ( @ C u r r e n t D a t a b a s e N a m e , ' S t a t u s ' )   A S   n v a r c h a r )   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )  
         S E T   @ D a t a b a s e M e s s a g e   =   @ D a t a b a s e M e s s a g e   +   ' M i r r o r i n g   r o l e :   '   +   I S N U L L ( @ C u r r e n t M i r r o r i n g R o l e , ' N / A ' )   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )  
         S E T   @ D a t a b a s e M e s s a g e   =   @ D a t a b a s e M e s s a g e   +   ' S t a n d b y :   '   +   C A S E   W H E N   D A T A B A S E P R O P E R T Y E X ( @ C u r r e n t D a t a b a s e N a m e , ' I s I n S t a n d B y ' )   =   1   T H E N   ' Y e s '   E L S E   ' N o '   E N D   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )  
         S E T   @ D a t a b a s e M e s s a g e   =   @ D a t a b a s e M e s s a g e   +   ' U p d a t e a b i l i t y :   '   +   C A S T ( D A T A B A S E P R O P E R T Y E X ( @ C u r r e n t D a t a b a s e N a m e , ' U p d a t e a b i l i t y ' )   A S   n v a r c h a r )   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )  
         S E T   @ D a t a b a s e M e s s a g e   =   @ D a t a b a s e M e s s a g e   +   ' U s e r   a c c e s s :   '   +   C A S T ( D A T A B A S E P R O P E R T Y E X ( @ C u r r e n t D a t a b a s e N a m e , ' U s e r A c c e s s ' )   A S   n v a r c h a r )   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )  
         S E T   @ D a t a b a s e M e s s a g e   =   @ D a t a b a s e M e s s a g e   +   ' I s   a c c e s s i b l e :   '   +   C A S E   W H E N   @ C u r r e n t I s D a t a b a s e A c c e s s i b l e   =   1   T H E N   ' Y e s '   E L S E   ' N o '   E N D   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )  
         S E T   @ D a t a b a s e M e s s a g e   =   @ D a t a b a s e M e s s a g e   +   ' R e c o v e r y   m o d e l :   '   +   C A S T ( D A T A B A S E P R O P E R T Y E X ( @ C u r r e n t D a t a b a s e N a m e , ' R e c o v e r y ' )   A S   n v a r c h a r )   +   C H A R ( 1 3 )   +   C H A R ( 1 0 )   +   '   '  
         S E T   @ D a t a b a s e M e s s a g e   =   R E P L A C E ( @ D a t a b a s e M e s s a g e , ' % ' , ' % % ' )  
         R A I S E R R O R ( @ D a t a b a s e M e s s a g e , 1 0 , 1 )   W I T H   N O W A I T  
  
         I F   D A T A B A S E P R O P E R T Y E X ( @ C u r r e n t D a t a b a s e N a m e , ' S t a t u s ' )   =   ' O N L I N E '  
         A N D   N O T   ( D A T A B A S E P R O P E R T Y E X ( @ C u r r e n t D a t a b a s e N a m e , ' U s e r A c c e s s ' )   =   ' S I N G L E _ U S E R '   A N D   @ C u r r e n t I s D a t a b a s e A c c e s s i b l e   =   0 )  
         B E G I N  
             S E T   @ C u r r e n t C o m m a n d T y p e 0 1   =   ' D B C C _ C H E C K D B '  
  
             S E T   @ C u r r e n t C o m m a n d 0 1   =   ' D B C C   C H E C K D B   ( '   +   Q U O T E N A M E ( @ C u r r e n t D a t a b a s e N a m e )  
             I F   @ N o I n d e x   =   ' Y '   S E T   @ C u r r e n t C o m m a n d 0 1   =   @ C u r r e n t C o m m a n d 0 1   +   ' ,   N O I N D E X '  
             S E T   @ C u r r e n t C o m m a n d 0 1   =   @ C u r r e n t C o m m a n d 0 1   +   ' )   W I T H   N O _ I N F O M S G S ,   A L L _ E R R O R M S G S '  
             I F   @ P h y s i c a l O n l y   =   ' N '   S E T   @ C u r r e n t C o m m a n d 0 1   =   @ C u r r e n t C o m m a n d 0 1   +   ' ,   D A T A _ P U R I T Y '  
             I F   @ P h y s i c a l O n l y   =   ' Y '   S E T   @ C u r r e n t C o m m a n d 0 1   =   @ C u r r e n t C o m m a n d 0 1   +   ' ,   P H Y S I C A L _ O N L Y '  
             I F   @ E x t e n d e d L o g i c a l C h e c k s   =   ' Y '   S E T   @ C u r r e n t C o m m a n d 0 1   =   @ C u r r e n t C o m m a n d 0 1   +   ' ,   E X T E N D E D _ L O G I C A L _ C H E C K S '  
             I F   @ T a b L o c k   =   ' Y '   S E T   @ C u r r e n t C o m m a n d 0 1   =   @ C u r r e n t C o m m a n d 0 1   +   ' ,   T A B L O C K '  
  
             E X E C U T E   @ C u r r e n t C o m m a n d O u t p u t 0 1   =   [ d b o ] . [ C o m m a n d E x e c u t e ]   @ C o m m a n d   =   @ C u r r e n t C o m m a n d 0 1 ,   @ C o m m a n d T y p e   =   @ C u r r e n t C o m m a n d T y p e 0 1 ,   @ M o d e   =   1 ,   @ D a t a b a s e N a m e   =   @ C u r r e n t D a t a b a s e N a m e ,   @ L o g T o T a b l e   =   @ L o g T o T a b l e ,   @ E x e c u t e   =   @ E x e c u t e  
             S E T   @ E r r o r   =   @ @ E R R O R  
             I F   @ E r r o r   < >   0   S E T   @ C u r r e n t C o m m a n d O u t p u t 0 1   =   @ E r r o r  
             I F   @ C u r r e n t C o m m a n d O u t p u t 0 1   < >   0   S E T   @ R e t u r n C o d e   =   @ C u r r e n t C o m m a n d O u t p u t 0 1  
         E N D  
  
         - -   U p d a t e   t h a t   t h e   d a t a b a s e   i s   c o m p l e t e d  
         U P D A T E   @ t m p D a t a b a s e s  
         S E T   C o m p l e t e d   =   1  
         W H E R E   I D   =   @ C u r r e n t I D  
  
         - -   C l e a r   v a r i a b l e s  
         S E T   @ C u r r e n t I D   =   N U L L  
         S E T   @ C u r r e n t D a t a b a s e I D   =   N U L L  
         S E T   @ C u r r e n t D a t a b a s e N a m e   =   N U L L  
         S E T   @ C u r r e n t I s D a t a b a s e A c c e s s i b l e   =   N U L L  
         S E T   @ C u r r e n t M i r r o r i n g R o l e   =   N U L L  
  
         S E T   @ C u r r e n t C o m m a n d 0 1   =   N U L L  
  
         S E T   @ C u r r e n t C o m m a n d O u t p u t 0 1   =   N U L L  
  
         S E T   @ C u r r e n t C o m m a n d T y p e 0 1   =   N U L L  
  
     E N D  
  
     - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
     - - / /   L o g   c o m p l e t i n g   i n f o r m a t i o n                                                                                                                                   / / - -  
     - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
  
     L o g g i n g :  
     S E T   @ E n d M e s s a g e   =   ' D a t e T i m e :   '   +   C O N V E R T ( n v a r c h a r , G E T D A T E ( ) , 1 2 0 )  
     S E T   @ E n d M e s s a g e   =   R E P L A C E ( @ E n d M e s s a g e , ' % ' , ' % % ' )  
     R A I S E R R O R ( @ E n d M e s s a g e , 1 0 , 1 )   W I T H   N O W A I T  
  
     I F   @ R e t u r n C o d e   < >   0  
     B E G I N  
         R E T U R N   @ R e t u r n C o d e  
     E N D  
  
     - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
  
 E N D  
 G O  
 
