0% encontró este documento útil (0 votos)
123 vistas456 páginas

Enterprise Manager o o

1. SQL Server Enterprise Manager (EM) allows administrators to manage SQL Server instances and databases. It provides a graphical user interface for common administrative tasks. 2. EM provides tools for registering new SQL Server instances, managing server groups and security, monitoring server activity, backing up and restoring databases, and configuring server properties and network settings. 3. Administrators can use EM to register new SQL Server instances, manage server groups, view server properties and activity monitors, back up databases, and configure network settings like client protocols and server configuration.

Cargado por

farah403
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
123 vistas456 páginas

Enterprise Manager o o

1. SQL Server Enterprise Manager (EM) allows administrators to manage SQL Server instances and databases. It provides a graphical user interface for common administrative tasks. 2. EM provides tools for registering new SQL Server instances, managing server groups and security, monitoring server activity, backing up and restoring databases, and configuring server properties and network settings. 3. Administrators can use EM to register new SQL Server instances, manage server groups, view server properties and activity monitors, back up databases, and configure network settings like client protocols and server configuration.

Cargado por

farah403
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 456

!

 
!   
  & 
&   
  
 !"#
!"# $%
$%

 

‫م إدارة ا
ات‬

: 
   
(1)   SQL Server  

.SQL Server Enterprise Manager

:   
     SQL Server  SQL Server        Enterprise Manager
.         ! "    " 

:
 0  , SQL Server ,-+ )* +./ Enterprise Manager  # $ %  $ &'( )* ++
.12  )*   " 1%2- 1"

:  


:)$  3$ % '( )* 4 5

:
9 Enterprise Manager  7   % 8
1 : 12    5  o

" : "2    ! ;+ o

Universal Knowledge Solutions s.a.l 1


SQL Server Enterprise Manager

1,"  0  / SQL Server < +./ Enterprise Manager  # $ %  $ &'( )* ++
12  )*   " 1%2-

 9 SQL Server  : "" *8  ! 9 +./ = 


SQL Server Enterprise Manager (EM) 
 , 98 C'   $ 4$> "+?+  + @. 8A  7 &'( (
B .      / "
SQL Server  0   ! ;  ! 9 3.  *

SQL Server  ,   0 SQL Server Enterprise Manager  7  , , % 8 3,$ $ &'( )* B8+
.  

SQL Server Enterprise Manager


‫ ا
ﻡت و‬

   D > •


    •
  <  D > •
  5? :  EA •
:   D > •
?+  9. " -+ "+ 8    F  G  G   H ? 9
Enterprise Manager  # 98
I    " $ J$
I"% - 4 
)*E "B 4   <  98 F  = ?+    -+     K
9
98 8 SQL Server Group  " $ J$ .*  ;A+:  37 $ EM  7 4 +   +
I  L

*.: 
Microsoft SQL 3,$ 
   
3$ >%$ )+   B E. )E+     ;A+0
INew SQL Server Group    M Servers
9, , 2B , 
$?   +8 ':  *     98 5 8 ) 8A @.
.L
  

Universal Knowledge Solutions s.a.l 2


:    •
),%* 37 $ Enterprise Manager  7  EA + (' %+ )E+ ) 37       $ 
 7 ,+8 ': ,
 .*    )* = 2?$   N'      D%+ 3$   7 +8 
1, 4  $  )8  N$ 1  C'     )E+ *  +    3$  O 98 )* 
I    < M New SQL Server Registration 3$ >%$ )+   B E.  9 N'  
:    P2 9  ) " ) 8A M

Universal Knowledge Solutions s.a.l 3


:  <  D > •
    98 F      9 ;"+     $ 9    < &;E: 
 D > $ 
)  3: A0 +( 98 8 IEnterprise Manager  7 )*   " 2! 9 " *" 
""
.  < 5G  @%  $8     4$

:  5? :  EA •


 EA 5? : 
 EA Enterprise Manager  7  9   98   <  N*  4$
D%+
I9   
:()+   B 1 $ E. )     EA 5? : 98 5 8 ) 8A @.

Universal Knowledge Solutions s.a.l 4


SQL Server Enterprise Manager
‫إ
اد ا
م‬

  P2 •
97 P2 •
  0  E •

P2  R   : )*  E 9


:   P2 -  E  9
Enterprise Manager  7   98
ISP_CONFIGURE -+ 2H +  ? L 7

), ,  ,! *8 3$ MS 5   P2 9 
 E 9
N : . 3: +( A0  
.  ! "+ <$ (;:  )  E *8 9   @++ )   N' " 
:  P2 •
I  N' P2 R ?+ 9
9      " 2! 9 Properties 
"P2 "    98

Universal Knowledge Solutions s.a.l 5


97   8'   : P2  8 +8: " * -+  8' P2  " ) 8A )* "-
T,!0 P2,  8A,   : 3: *.0 .*   ! P2    P2  
I( U

:97 P2 •
9 ,    98 F     97   8  9
  P2 9. 97 %  9 98
.?* Windows   Windows < SQL Server  

Universal Knowledge Solutions s.a.l 6


:  0  E •
, $ Radio Buttons    B
   E !  )8 SQL Server  EA :   0 R 4$
:) 8A )* 8  &'( 9

Universal Knowledge Solutions s.a.l 7


SQL Server Enterprise Manager
$   

  !   ;A+: •


I  T )  9 B  •
.  !   <  •

SQL Server  ُ‫ اداة ا‬Enterprise Manager ‫   ﺕ‬،,  ! ‫ أدا ًة  ام‬SQL Server 
.  ! ‫ م "دارة‬#‫وا ُﺕ‬

:  !   ;A+: •

Universal Knowledge Solutions s.a.l 8


 ,? *8    < =  =    Enterprise Manager  7     ! ;A+: $ 
<, "+? + $ &'(  - 98  "2A+: +   !   9  $  2?$
),%  ,! , E  N$ 2?$  ! +: 9
$ < '( L
  !  : -+
)* $ D%+

 SQL Server ,-+ =B  
=  3?  ? ;A+:  3  ? N$   " 9
: 9 7 R )* RE
.Enterprise Manager 1    0
;A+: + C'   A 9. Databases $ 3$ )+   B E.  9    ! ;A+: $ 
  " 9 98 ) ) 8A . " "- New Database    (   .1 *   !
 ,? , E +8: 3: *.0 (     5 B  C
)   B  T+     !
.( U ... ( B " "+ B  98> !+    %$ ?$ L 7 2?$

. " "- " $ >%$ )+   B E.  Properties "P2 "    98   ! ;A+: 
 , ,+8 ;   ! P2 3$    ;H ?+ 9
" 9 ++8 ) ) 8A
. ?     3$ 
 3$ 
  %$ 3$ ?

Universal Knowledge Solutions s.a.l 9


:  T )  9 B  •
4,U+ ),   ! 3$ )+   B E. N'   T )  9 B  B    98
) 8A . " "- backup Database    M All Tasks    M "  )  9 B  ;H
:+ )  9B  5$ 9 B  98 3: *.0 )  V+ $ T+  " 9 < + )

Universal Knowledge Solutions s.a.l 10


. 98 )* "+ B   9
J   T ?+ 9
Restore Database     9 < + N'8

:  !   <  •


 9 N'  "2+ ?+   ? X+ 8   WA++ 9
Enterprise Manager  7   ++8
,?+ N'  "Database Diagram"    M "   ;+ 4U+ )   ! " 2! 9 New   
:) 8A @. 8   )* "+ . 4U+ )   *.H

Universal Knowledge Solutions s.a.l 11


,   , 7 
= % 1 * + C' ) 8A @. 8 4$
9 M8>   R ++8 1+
3: *.0
:&   +! C' X+ 8

Universal Knowledge Solutions s.a.l 12


SQL Server Enterprise Manager
$  '( $

 7 9   •


   )      •

 ,-+  0  , RU7 Enterprise Manager  7 )*   A 9.  Security $ 9.
:9 
9 %+ 9. RU7 &'( 5+K .  3: Y  $

: 7 9   •


,++8 F  Logins RE " 2! 9 "New Login"    + ".  ) " ) 8A )* "-
Y, 1 @ / )   ! 3: *.0 1 + !M T+      ?+ 9
" 9
I" :

Universal Knowledge Solutions s.a.l 13


,?+ 9
++8 8  7   98  ."%   9 ' 9  $ -+ <     @+  7  K
 >, ,2! ) 8A M .  N' "$M ) -+ < ' %+ 1 @+ F   7 N$ 
3:   *.H
:  ? $ )* )$ % 8A T. '( ++ ++
$ <    

Universal Knowledge Solutions s.a.l 14


:    )      •
3: Y$ 1 + C'    H 8+ 9
Remote Servers  Linked Servers 9 .E  9 ++8
.)    L
  3$   

SQL Server Enterprise Manager


$  !"#

SQL Server   •
)  9B  •
) A+ •
  ! +   •
SQL Server  •

=( = 4$ ) RU7 Enterprise Manager  7 )*   A 9.  Management $ 9.
)*

:3: ? )    :

:SQL Server   •
.M   3$ 1*? : 
   EA8 SQL Server  H J$ ) " R   SQL Server     /
: " N$ R )$  * .  M C' $ P2 R  9 " N$ 8 98

Universal Knowledge Solutions s.a.l 15


98  $ 
 

+   '  8 L
" 8+ 9
SQL Server    9 = .
++8
." N$ R J

= %  ? $ )* R+   !
)* (' %+

:)  9B  •
 $  : ' %+ ?+ 9
  A )* Management $ 9.  )  9B  $  9 98
."2A+H ?+   + 8 9 B  98
     ! 3$ )  9B 

:) A+ •
. Z ". 5? : 
". %? " :   ;:  ! R $ '(  9 98

:  ! +   •


9 98 F    ! +  $  0        ! +   $  9 98
'( 1 *   !  3$   )* "     9
X  " B  )X  " 
.  N$   +8:=?/ +   R +8 3: *.0

Universal Knowledge Solutions s.a.l 16


:SQL Server  •
 9   &'( 9   $    )E+  &;
   $ J$ )  *8 $ '( M
 !
5'  $  EA 8 +   @*  F    3$ )2?$ 8A $ '( C ': .!+
.JU0 + 
: N$ 
 % . ) 8A M

F  SQL Server  $   " 2! 9 "Configure"    N' +B /    E 98
4 5$  T
[   " -% 4U+ )   " 9 + ) ) 8A . " "-
:  !    

Universal Knowledge Solutions s.a.l 17


SQL Server Enterprise Manager
    

R,U7 Enterprise Manager  7 )*   A 9.  Data Transformation Services $ 9.
I  2 3$ "-%  )8 (  4$
)*
  8A )*   ;: 9 S

E. N' Export 


Import M All Tasks     9     
  98 1+
3: A0  
Enterprise  7 3: A0   8 . +    !     
3$ 
Database $ 3$ )+   B
:) 8A @. 8      $  9 " N$ = ? M8
  ;+ +8:   Manager

Universal Knowledge Solutions s.a.l 18


SQL Server Enterprise Manager
$  

GB !+ 5A •


P+ )* F •
SQL  •

‫  ِ م‬2‫ ُﺕ‬6-ُ .‫ت ﺕ‬0‫ﻥ‬+2‫ث أ‬4‫ ﺙ‬Enterprise Manager ‫د ﺽ )&(ة ا م  اداة‬+‫ﺝ‬+‫ ا‬Support Services %&‫ ﻡ‬
:0‫ت ا‬0‫ا ﻡ‬
:Distributed Transaction Coordinator – GB !+ 5A •
,8    2  )* N'  GB !+ ' %+ 3$ 5A0  5? : 
 EA $ '(  9 98
:) 8A @.

:P+ )* F •
;,: ,
9  D"* 3$ "$ )*  ) P+ )* F  5? : 
 EA $ '(  9 98
.P+ 9  8  3$   F  $

:SQL  •
.  3$ *G    9.  2 H  ? $ '(  9 98

Universal Knowledge Solutions s.a.l 19


SQL Server Enterprise Manager
$%  

Query Analyzer •
SQL Profiler •
SQL Server ;
2  : •

"$  E " ? L


?   EA Enterprise Manager )*  "Tools" 
2!  9 98
:)( ?  &'( Enterprise Manager  7 " ? )

:Query Analyzer •
&',( ," R  @2A )*   "2
 $ "-% (' %+  ;+   
9  (
. %  7

:SQL Profiler •
M   3$   ! 5$  3$ 8   3$ <? ) F 7     
9  (
),*    +  $ ;0    )* 
9  5$ 3$ $ $ N$ -% ?+ 9
" 9 < + 8
. %  7 &'( " R  @2A

:SQL Server ;


2  : 

. " R Enterprise Manager  7 )* 
2! 9 Manage SQL Server Messages    
9, F  9 N' SQL Server ". ) >  2 *8 R " 9 < + ) ) 8A
:>   ! 
L

Universal Knowledge Solutions s.a.l 20


4+ 98 )* "  ++8 F  " : ! +: +  >  5  ?+ 9
++8 1+
3: *.0 '(
:  >   " 9 5GK+ ) " ) 8A M .1 4U+ C' ! )*

Universal Knowledge Solutions s.a.l 21


SQL Server Enterprise Manager
  ""

Publications •
Subscriptions •

I  8 "" 52-   ?+ 9


  A 9.  "Replication" $  9 ++8
" 2! 9 Configure Publishing, Subscription, and Distribution     9   &'(  % 98
.J $$  
3$ J$ 8 A+      3$ J$ F    9    ?+ 9 S ;0 8 
.
] /     1 : V+ C' 98

  98 8 Publications $$   " 2! 9 New Publication     9  A+ ;A+: 98
.12A+:  A+ P2

.5  J A+   9      ?  $  H ?+ 9


Subscriptions $  9 98

SQL Server Enterprise Manager


Database Taskpad $)

  "  •


  ! "  •

T+ 4   7  / B $ % $ R Taskpad   ! "  "  
I"+ 8 % -
I  ! 
      N' Taskpad M View R 2!  9 N$ " 2 3: Y 98
, ? 98 ) 52-  3: *.0    $ " * "- )   "  ) 8A M
:   ) "

Universal Knowledge Solutions s.a.l 22


9,8 ) 52-     !  $ " * "- )   ! "  ) 8A M
:"+ 8  ""* "   $ 3: *.0   ?  ) "  ?

Universal Knowledge Solutions s.a.l 23


SQL Server Enterprise Manager
 *)+ $  $)

  R % 8 •


:  7 +8 •
   o
7 2!  o
SQL  o
 +  o
98   $ @    " 8A   ! 3$  ;+ 
9    
    9 1.New View $ 9 View  9 =.
1. 98 8  +    ! 9.
   M   !   
3$ )+   B E."Open Table"    M Query C' ) 8A "- 
:)2 8A    9 S  7 9 

Universal Knowledge Solutions s.a.l 24


:)(  
3:  7 &'( ?
$ &'(  9 98 8 12+ ?+ C'  ) 5  R 1 + C' 98 ( :  
I12+ ?+ C'  )* "  R 4U+ ) 7  9 8>    *.:

9 5$  ?  98  )* ". + ) 7    1 9 < + C' 98 ( : 7 2! 
*8    9  ) * )(   .*  ? 9
-+ =  7 *.: +(  F     )* N$
, ;,+ ,
9 + ) 7  ++8 1+
$ <    )*    
  9 7
.12+ ?+ C'  )* Where    9 + 9
$ &'(  9 < + 9+
8 4.?

9, =     ?+ 9


++8 1+
$ < SQL E$ X12+ ?+ C'X  R " *   :SQL 
. $ &'( 

.&' %+ 3$ +$ M ? $  9 12+ +! C'   + R  C' 98 ( :  + 

:   9 )+  R )$  *

Universal Knowledge Solutions s.a.l 25


SQL Server Enterprise Manager
, "  $)

B  R •


B  •
L
P2 •

N ,+  ,+    7 &'( B  ) P2  (



Enterprise Manager  7 )* 9. B  
." ? )   1  "
),+   B E.  "All Tasks"     SQL Server RU
9 RU C7 B C
3$  ++8
+ 
C' RE "- ) ) 8A . " "- "Generate SQL Script"    M RE N' 3$
:1 P  B R

Universal Knowledge Solutions s.a.l 26


:) 8A )* 8 &  ?+ C' B 5$ D%+ 3:  O RU C
*.: ++8H 1+
$ <

Universal Knowledge Solutions s.a.l 27


:9  5$ 3$ 1+B + 9

 B R+ 9
"Preview" B   ++8 


Universal Knowledge Solutions s.a.l 28


+8 R 8+ 9
X) 8A @. 8– ++8 * L
P2  Enterprise Manager  7 B  B 
:M   3$ "2A+: ! RU# 5'  $ '%++ 9>8  B

:( U D"% B  


  ! B 8 L
 ? P2  3: *.0 '(

Universal Knowledge Solutions s.a.l 29


.

Universal Knowledge Solutions s.a.l 30


- . 

: 
   
SQL server 2000 2 

:   
Data SQL Agent Profiler Query Analyzer Enterprise Manager  +B   2: D"*  $!+   ! N
.Transformation Services

:
+  B  3: *.0 7 1+8 ) + 3$ 5]/  SQL Server 2000 2  3$ % '( B8
.1+ ? V+ = +? " < )

:  


:3: % '( 5 "
SQL server 2000 2  5  •
SQL server 2000 , 7 +8 5  •
SQL server 2000  : •

SQL server 2000 )*  B 

Universal Knowledge Solutions s.a.l 31


SQL server 2000 2 

  !  0  G /9B + 9  SQL server 2000 •

Profiler Enterprise Manager Query Analyzer :"+ 8'+  G /9B  9  9 5>
.Data Transformation Services SQL Agent
%$   G /9B  9  9   !  0  G /9B + 9  (  2000 5>
.  +80 9 <  9S

:8'+ 2000 )* 9B ?  9


SQL Agent Profiler Enterprise Manager Query Analyzer
    ! N < ? ?  <   F  Data Transformation Services
. %$  J 1

M  Y'+  +  (G  ? 9B ?) 9 ?  3$ $?  G /9B Y'+ 
F   $  ? 9  M ? 9  J+ * 3: 5 " ? n 
? 3 3$
.  0 $? RU7 9  3: -+  ? C

SQL server 2000 +8

SQL server 2000, (7 )7 98   ! N / •
  ! " <   :  -+ " 9 C ) 7 " Enterprise Manager / •
SQL   ' %+ "7 98 SQL Query Analyzer / •
/ ?  9 B -+ N$ 8 SQL Server 2000, (7 )7 98   ! N /

:"+ 8'+ 1 *  2   0   )  78 *.0


  ! " <   :  -+ " 9 C ) 7 " )( Enterprise Manager o
  &'( !  / F  SQL  9  $" 8 +8: @  C' SQL Service Manager o
 9 &'*+ 9 '*+ 8 K F  SQL   ' %+ "7 98 / C' SQL Query Analyzer o
  ! <

Universal Knowledge Solutions s.a.l 32


(8' 3$ )>+ ) SQL Profiler DTS SQL Service Manager :M *.: 
-+ N$ 8 o
=?

  ! N

:3$   ! N 


 $ JM 9B  9 > •
  8 . 2  9 > •
 $ <   9 > •
 $ J  9 > •
 $ 9O  9 > •

:)$    ! N " P $ 98


 (RAID +?  8)  L 3$ $ &'(
 F  1 : $  $ JM 9B  9 > X
<  $ 9   ! 3$  E 8  ) !+   J  9   ! N L 3$
.(;
  $ 

  J ! 3$ 8> 


9   8 . A 9 > X
D"%    9  $ <   9 > X
?*  9B ` M J 9. ) ? 9     9  $ J  9 > X
"$  ;+M
  3:  9 9  Z 92B <+  +  - )*   3$  
  ! L 3$   L 3$ 97 9     9  $ 9O  9 > X
  ! RU
L 3$

Enterprise Manager

.  ! " <   :  -+ " 9 C ) 7 " )( •
:  0 9. •
G    : o
G $ +   0 <. o
  ! 
 )  Y 8 o
  ! T V+ o
"+8  :    ! ;+ o

Universal Knowledge Solutions s.a.l 33


.  ! " <   :  -+ " 9 C ) 7 " Enterprise Manager /

:Enterprise Manager " R R )$  *


  $%  "  9    $8  : X
(L 7 %$   9 B   "  4 )    8' ) G    :  : X
( >   ! )  Y 8 X
SQL Agent  9 Z 7  -+ X
+       ! T V+ X
( +B   2: D"*  ) "+8  :     ! ;+ X
" 8   8  2:  : X
  Y   : X
; 7   SQL G   * ! X

Universal Knowledge Solutions s.a.l 34


SQL Query Analyzer

! <  &'*+ 9 '*+ 8 M F  SQL   ' %+ "7 98 ( SQL Query Analyzer •
 

.  ! <  &'*+ 9 '*+ 8 M .SQL   ' %+ "7 98 SQL Query Analyzer /
. %$   G   <  +8: C 8
3: *.0 Object Viewer 9. F  ? V+ = +?  E R SQL server 2000 + )* 
.)+. Stored Procedure Debugger

SQL Server Agent

 )* . 
K 8 . Z '+0 <   +  "     @   
)(
.(Replication) 8 


Universal Knowledge Solutions s.a.l 35


  ! N " $  ) B" D%+ 3$  •
    :    )*    3$ 8A " TB F  (  : 98 •

<  )*   +  "       3$  " 
SQL Server Agent K
.(Replication) 8 
  )* . 
K 8 . Z '+0

N " $  ) Z D%+ 3$  Windows -+   "+
3$ SQL Server Agent 3: -+ 98
  :    )*    3$ 8A " < B ? F  (  :  9
98  .  !
. 

SQL Service Manager

SQL  9  $" 8 +8: @   E J  •


8A 9. B" C
3$   &'" 8 !$   / •
-+ T!: < = O   - )* 1!: C

  ! N) M SQL  9  $" a8 +8: @  = E =?  SQL Service Manager /
. B !+ -+ SQL F N SQL Agent
8  9 )? F   8A 3$ B" C
3$   &'" 8 !$ SQL Service Manager  / 8
. +  +B * 9. N' 
.-+ T!: < = O J  '( T!H G  - ?

SQL Profiler

. G  3: 9 $?+ 2+  ?$ 9B " 9 


)( •
:"" 9 •
 + =? (' %+ " -% G  3: $  <  ? o
Pa /  U  F  + ;+ : $ )* "+ % o

.G  3: 9 $?+ 2+  ? 3$  9B  
SQL Profiler K
:)$  * "" P $
 + =? (' %+ " -% G  3: $  <  ? o
Pa /  U  F  + ;+ : $ )* +B /  9 % o

Universal Knowledge Solutions s.a.l 36


20 9 $8A$ 4 ;B 5A8  ? +GB   20 
9 "+8 o

Data Transformation Services

. O 3:   9   ?+  >8 =


(DTS) Data Transformation Services  K

3:   9   ?+ = 


 K ! 
(DTS) Data Transformation Services K
:DTS " R P $ . O
SQL Server 3: )+ 5$ <    X
" : 
"+   ?+  %$    ! <  X
1+ %$   (%$ ?+ 8) FTP <! <  X

Replication Tool

  !  9  9B J ?    G  " 9 



:8 9 T+
MM N+( •

Universal Knowledge Solutions s.a.l 37


? 8 o
$!+ 8 o
 8 o

 N'   !  9  9B J ?  K ) G  " 9 $  7 L : )(
.L
3:   ! 9   :

:8 9 T+
MM SQL Server 

 +  +B - )* N'   )*   $  


? ' > G  ? : ? 8
.  $ 8 < ( ?$  ) 5 "       * C 

(' %+  N' (5 (   !)   !  3$ $!+ ' %+ 8 " *   : $!+ 8
. 7   ! 3$

  3$  E ? 5 "   ? ` 9 7 R )* C. 9 : 8
.=? ". <  E &'(   8

SQL server 2000 +8 

$ )* %  8 P+ 9 F +8:  ? C' Microsoft Full Text Search Services •
  ! )* $  + ? 9 F
  9B    3$  
  G ? C' SQL Server Analysis Service •
(' %+ 9 8> B !+  -+ )*  C' Distributed Transaction Coordinator •
$ !+ ?  D%+

   ! 9. 8 P+ 9 F +8: Microsoft Full Text Search Services  ?
   
= 
C N$ F  $ ' %+ . ? )* $  + ? 9 F $ )* 

Universal Knowledge Solutions s.a.l 38


"  
9   &'( 3$  D"* ;+ C M 9 " * F    ! 

.F $ )*

< 1    9B    


9 
 SQL Server Analysis Service G ? 
.  9B  C SQL Server   ! 

D%+ (' %+ 9 8> B !+  -+ 3$  * Distributed Transaction Coordinator 

. $ !+ ? 

SQL server 2000  :

! 3$ 4+  0     '  %$  2  3$  SQL server 9 %$   :  •
$  2  3$  $ $  3$ (S+ /  
   3:  < $! 3: Y  )   
 E -+7 <  ? + K •
) ;
3:
  3: < $! 3:  + + + )( 
= 8 = A V+ M8
S + K •
) ;
3:

SQL server 2000,  :     '  %$  windows 2  3$  SQL server 9 %$   : 
. $  2  3$  $ $  3$ (S+ /   ! 3$

3:  < $! 3: Y  )   


 E -+7 < SQL Server 2000,  ? + K
$! 3:  + + + )( 
= 8 = A V+ M8
S + K +  ) ;
3:   
.) ;
3:   3: <

9    SQL Server 9 L


bV+  9  )* G  " 9 ? $ =   ? + 98
:9  O
)2"+        + : + o
$   ! 3: Y ?   EA 3: " + 9    + :  A + o
 : 
 9 9 ?*   ! N 9  :48 @ N + o

Universal Knowledge Solutions s.a.l 39


c SQL Server 2000 )*  ( 

SQL   9. +B /  20   •


-+ 3$ D"* 5  •
G    -+ 9.  $ )?*7  ? +8: •

3: *.0 1  +B / SQL  2: 5  SQL Server 9 ? V+ )*  /$ 98
 9. +B   20   98  98 5  ?/ < 9   
.  +80 &'( 
?* SQL Server 2000 )* 
.SQL 

SQL 9 ? V+ )*   !   3$ <  <    $ ' %+ C N'8
F )   ! 9. *G/  -+ 9 -+ 3$  4$ " *   8 )* server
SQL )* 
.(<  <   $ 1+/.  ?    =  -+  /
  ! )* -+  + 9dB K F  -+ 3$ D"* 5  980 @
?* server 2000
   $ J$ ; 7 =  ; 7 9  )*   D"%   ""* $ C
.<  < ' %+

&'( +8 +  G    -+ 9.  $ )?*7  ? +8: SQL server 2000 @  8
.1+. -+ 5G/  G  9.    ? 3$ ? +80

(2) SQL server 2000 )*  ( 

   )* = A  E  P+ 9 B  •


) 8 A B L  )* &'  4 C' %  •
%$  98
)* "  98 SQL server 2000 9.  +
5  •

 [  [  [ % 9. P+  9 B  SQL server 9 ? V+ )* C
G ?/ 9  )* . 9.   C ) % 3:  A AS 9 B  C F   

Universal Knowledge Solutions s.a.l 40


    )* = A  E  P+ 9 B  @ =  = SQL server 2000
.Y /   $ 9 9 B   9 a$?

8 A B L  )* &'  4 C' ;0  SQL Server 2000 @ 8
. ? V+ )* 8 ?* >  "-: 9 
=   $ )

C  %$  98


)* "  98 SQL server 2000 9.  +
MM 5  L !
.=? " $ 5G

(3) SQL server 2000 )*  ( 

(XML) <G$ $?  A> E  •


D"% 5   $ )* +  •
  T  O )* )  V+  O )* +  •
  9 4 ?+  $  O )* +  •

:   +80 @  F  (XML) <G$ $?  A> E SQL server 2000 


IXML E  = A   + : X
ISQL server   )* +B  "+
 8 XML 5$ 9   T X
.HTTP 8   URL  9 SQL server 2000 3:  X

 +8:   


3$ D"* 5  +8: $A D"% 5  )* +  SQL server 2000 9d. 8
  V+  O +  $A 8 .= B+ 
=  D"% `% 4  +8: 3: *.0 D"% ;+ ? 
.  9 4 ?+  $  O 3: *.0   T  O

/. 

: 
   
(2)   SQL Server  

Universal Knowledge Solutions s.a.l 41


.SQL Server Query Analyzer, SQL Debugger and SQL Profiler

:   
.J* Glossary.doc 5$ -+

:
SQL < +. SQL Debugger  7 SQL Server Query Analyzer  # $ %  $ &'( )* ++
SQL  7 B,  P2, R 3: *.0 12  )*   " 1%2- 1"  0   server
.Profiler

:  


:)$  3$ % '( )* 4 5
:
9 SQL Server Query Analyzer  7   % 8 •

  $ o

2+ R  ' %+ o

RU7 @% o

  ;+ o

:
9 SQL Debugger  7   % 8 •

  @ ?+ o

 20 @ ?+ o
` ? @ ?+ o

< @ ?+ o

:
9 SQL Profiler  7   % 8 •

]  A+   o


 ;
 $ o

F 7 4? o

Universal Knowledge Solutions s.a.l 42




",.U
 ,  ,!  : ;A,+: +8: SQL Server < +d./  Enterprise Manager  7 @  •
,8 , O 3: ! 9   7 &'( M  )%+   8 3$ .1%2-  88    : 3: *.0
A 8A (' %+ 
SQL E$ 

,  ," 9
:  *G < 
 20   
;A+: +8: Enterprise Manager  7 @  8 •

  F  $ @  ) N$   !    ?  "+
8   $"  U    U  
B N' ' %+ +8: * 8 48 B 9 B  @*

, $% , 3: "$  


  $ +8H8  P2 SQL Query Analyzer  7  ? •
` ? 
< 
 20 3$ ? P2  J  98 8 " ?+ +8:

SQL Server Query Analyzer

5  •
 D > •
   •
2+ R  ' %+ •

:5  •
,  ' %+ 
   "" L  8 1   " SQL Query Analyzer  7 B 
,!  : ),* (, P2,  L
 3: *.0 '( 1 ?+ 1 1'    $ +8: 3:
."  RU7    

: D > •
), 8A M .1 4  C C' ]  <  ;A+:  9
Query Analyzer  7  EA ;  + )E+
L,
, 3: *.0    T+   H8    " 9 C ) "
.  <  JU:   A  ;:  
(;:  )   e 2! R8

Universal Knowledge Solutions s.a.l 43


1+
$ < SQL Server  9 " :   L J )   ! <  @* X).* 8A– C
:) 8A @. 8 "Query" 2? 9 "Change Database"     9 N$   !  E ++8

:   •
),*  ", 9 1 ?  SQL Query Analyzer  7 " < ) B  (
9    +8: K
9, 
 " 9$ 4$> ? 1 % R B 8A  9 N' 98 ; 1. 
 8
<,  , F,  +8: 3: *.0 P+$ J V+ P! 9 *    +8: : 
IP+ )*  A: <. 9   3: ?+
I" +B /  %$ N$ @* 
%$ 9. SQL   -% +8: + 9  " .
 7  ?

Universal Knowledge Solutions s.a.l 44


:2+ R  ' %+ •
IQuery Analyzer  7   ('%++ 9
 " 9 8>+ 9
   3: *.0 ++8
P,  B 3$ E. 
"Query" 2! 9 "Parse"     9 : = !   9 8> C
,8 ),* ,8 SQL    % N'  C Ctrl+F5   ' %+ 
 7  A 9 $ &'"
>,  T,+ @,. 
; 7 9  $ 9  +  "- 8 ?*    
% "
:) 8A )* 8 48

9 $ &'" P  B 3$ E. 


"Query" 2! 9 "Execute"     9 :  ' %+ ++8

% " 8 )* 8 SQL   ' %+ N'  C Ctrl+E 
F5   ' %+ 
 7  A
I(' %+ L )  2+ 3$ C  "- 8 ?*   

Universal Knowledge Solutions s.a.l 45


C  + .% 4$7 2+$ )+ R  .     9 
G+ : 9 ?  2+ R 98
2+ R )* 4$7 '(  ++8 8 > 2 3$ 
"PRINT"  $ 8  2 3$ 20
I  8A 3$ 1. 4 F  =   8 Y  98  + 
9  P+  3: Y  V+ 4U+  +
:)+ 4$> 9   Y ) 8A @.

Universal Knowledge Solutions s.a.l 46


C,   + 8 "- F  4 8A 2+ R 4U+  + "   " 4$> R ?   K
8A, ),* 8   N$ 9   8 )* 2+ @% ++8  2+ " )* P     9.   3$
:)

Universal Knowledge Solutions s.a.l 47


, 3,: 2+ J V+ 4U+  + 
?+ %$ )*   + -% 4U+  + = % 4$7 '( 
,! 9, ",. 9,8 ), 2 +  < +  ++
)* 98 4$7 '( )*  2  9
: 9   
:) 8A 9  8 2 "  " $ J$  " )* R "+
': " D%+ 3$ '%+  

Universal Knowledge Solutions s.a.l 48


 Ctrl+T   3$ E.  9     8A R 4$
 2+$ )+ R 4$
9  ?+ ++8
 7 ),* ,   "   " 2! 9 4+       9 
4  3$ Ctrl+D
IQuery Analyzer

F,  X    2 ( 3$ 2+ R  )*X     %$ 


+ %$ )*  2+ -% ++8
,+(   .2+ -%+ 9
++8  7  A 9 -% B 3$ E. "-% + ) " + 9

)E+
. 7 9  * <. < 1-% 98  Y 9
@.+ 9
8'

Universal Knowledge Solutions s.a.l 49


SQL Server Query Analyzer

RU7 @% •
+. SQL   4! •
RU7 9 F •
*G     •
*G   

:RU7 @% •
*8 2! R C F  " B  P2  (
9 SQL Query Analyzer  7 )* RU7 @% B  
I( U *G < 
 2: 
  ! 
  9 SQL Server "  ) RU7
E. 
SQL Query Analyzer 
 A )* " P  B  9 RU7 R "  EA C
IF8 `% 3$
),* >A,+ , , ? 9 5$ SQL Server <   ;A+: C 3 RU7 @% @*  9

 ] K+ 9
++8 5$    3$ RE R 8 + %+  ;A+: C 8 L 7  "
IRU7 @% " 3$
)* "- ) 2? 9    E  9 >A+  9 
)* P $ L
B  $ 9S RU7 @% 9H* SQL Server )* RU7 *8 R  +8: 3: *.0
@,. ,8 "+ =
5' 
  
;+ B   +8: 3: *.0 RU7 N$   Y   +8:
:) 8A

Universal Knowledge Solutions s.a.l 50


"Script Options"     9 "2 R    % 8 J$ )   0 R 5] +K 9
++8
:  P2  " 9 + ) ) 8A . " "- F 
  )* %   9 . 
(;A+: ! RU7    9. 
 9 "2A+: ! X(   )*X RU7 B0 B   9 . 
(   T+  )   9 . 
>A+   < RE N  9 . 

Universal Knowledge Solutions s.a.l 51


:+ >A+  $ R )$  *
/****** Object: Table [dbo].[COURSE] Script Date: 13/01/2005 04:29:55  ******/
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[COURSE]') and
OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[COURSE]
GO
if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[COURSE]')
and OBJECTPROPERTY(id, N'IsUserTable') = 1)
BEGIN
CREATE TABLE [dbo].[COURSE] (
[ID] [int] NOT NULL ,
[TITLE] [varchar] (50) COLLATE Arabic_CI_AI NULL ,
[SEMESTER] [varchar] (50) COLLATE Arabic_CI_AI NULL ,
[THEORETICAL_MARK] [int] NULL ,
[PRACTICAL_MARK] [int] NULL ,
[PRIORITY] [varchar] (50) COLLATE Arabic_CI_AI NULL ,
[WEIGHT] [int] NULL ,
[BEGIN_DATE] [datetime] NULL ,
[SESSION_PERIOD] [int] NULL ,
CONSTRAINT [PK_COURSE] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY]
) ON [PRIMARY]
END
GO

Universal Knowledge Solutions s.a.l 52


R8 DML   ;A+: = .
++8  +- 8 RU7 R  9 DDL   ;A+: ++8 8
.Exec <  20 ' %+ 3 
Delete 
Update 
Insert 
Select  $ 4?

$ ;0   + 9


++8 ) M @. 8*     $ " P2  4? &'( B 
 !  H ?+ "Replace Template Parameters" "Edit" 2! 9  + M   
3: INSERT
:     "  9 $

Universal Knowledge Solutions s.a.l 53


: +. SQL   4! •
,  4!    +8: XDML     +8: 3: *.0– SQL Query Analyzer  7 9S
I( U 
  ! 
< 
 2: 
  ;+8 %$  " ' %+ 5  ?
 9 
) 8A @. 8  7  A )* "  5$" B ?$ 2? 9 4? N$    
@* ++8H
:RU7 R " %
9 ". 98 ) "Templates" "

Universal Knowledge Solutions s.a.l 54


*,.: F,  9, ? ?% )* (+. )   P2  9 
=  + 4? + 9
++8 8
.J ! )* " "+ B   4! ;A+: < + ++
3: *.0    


:RU7 9 F •
SQL Server ),*  %$  RU7 M
9 G* F  +8H SQL Query Analyzer  7 .
+ B
`,% 3$ = A E. 
"New" M "Object Search" M "Tools" 2!  9 N$ F "  EA ++8
:( + )+ F        " 9 ++8 ) ) 8A . " N'  "- F4

Universal Knowledge Solutions s.a.l 55


9, "+ F 4 F  (   B  + =  SQL Server )* M7 @%  $ ? " + $ "] K
.RU7 R 

: *G  /   •


),  $$    5  
   R  +8H SQL Query Analyzer  7 + B
,$ R ) sp_who 20 ' %+ 3: Ctrl+1   ' %+ CS M   3$*  8A (' %+ ?+
R,U7 ,*8  $ R ) sp_help 20 ' %+ 3: Alt+F1   ' %+ CS  )  
), 8A . "Cutomize" " 9    *.: 
  N$    ++8 . *
:"Tools" 2! 9 " :  98 )

Universal Knowledge Solutions s.a.l 56


: *G   

"  9 N'  "Tools" 2? 3:   $ 
*.:  +8H SQL Query Analyzer  7 + B
9,8   $ 5  " 9 ++8   ? "Customize" " 9 " :  98 ) "Tools" %
.  ?   EA " 9

Universal Knowledge Solutions s.a.l 57


SQL Debugger

 ? •
5  •
.SQL   @ ?+   +8 ) ? 4 7 •
9, 1, ?  N' SQL Query Analyzer < +.  7 (

SQL Debugger  @f?+  •
I"+ ?    SQL E$ 8   )*   +8:
3,$X C++ E$ B 8 ;+M
Y+ 8*   E
)* B @f?+ C> SQL Debugger  7 1 A ++8 •
' %+ ;+M
1! R )* ?+  ? ! 
1 9 8> 18+ C' B @ ?+   ?+ 97 XM  
ISQL E$ 8   3$ ? " J  $M  7 Y+ N'8
&'( +8 9  )* 1"  +  2: ' %+   4$
<+ 9
SQL Debugger  7  9 9Z ++8 •

, 20 )* 8   @ ?+ g/  ?  +8 ?* ;+ " 9  M8 4$ X3.  * X $
9,8 , ( ? + 3$ (' %+ 20 N$ 9 ;B +]8 SQL  $ R 8 : 3$ ? <
),* "  "   ! +:  5  3: +* 98    *h $   ! 9 ?* 4
 R )   2   3$ 2:    ? +8: ! 3: *.0 '( I@ ?+
." * $  
 R  ! 
2i %$ 

Universal Knowledge Solutions s.a.l 58


SQL Debugger
! "

SQL  @f?+    •


"+ 3+ ) 8A •
SQL Debugger , ) 8A •

 
 9   +8 ?* ) 1. 3:  3 7 9  SQL Server  @f?+ h  •
 %8 1 *  
= " 98  "  9
:  @ ?+ )* "" + SQL Server 4+ 3: " + C
  2  " 3: *.0 4+ 8A  )8 "+ 3: L 7 ?  9   4$ +8 ?*
) Visual Studio 9 +   : 3 
SQL Server 9 +   : 
 EA -+ 9 +8 ; " $
I  7 &'( G   3$ M
%$  8A "-

)*,.0 ;4, <  "+   %+ 4 8A 9  ( ;+M
 @ ?+ 
" •
$8 SQL Server 
< +. 4 +   $" 
 9 4U F  "  3$ 4
ISQL Debugger  7  9 J?  '( SQL Query Analyzer <

B, @ ,?+ ,?$  " 9  SQL Query Analyzer < +d.
d /  SQL Debugger  7 =   ? •
3, 
, 
, $  L R 
5! ?+  : 
 $    J$  *  20
.  ! 20 )* +d.
d /  SQL E$ 8  ' %+ 2+ 3$ 

SQL Debugger
! 01

 7  EA •
 EA ;+M
+" 9
98 ) 8A •
]  3:   4  E •

Universal Knowledge Solutions s.a.l 59


J,+ 9
),E+ ,+  2: @ ?+ ?+ )8$*  %8 1 *  "  SQL Debugger  7  EA ?    •
:   
SQL Query Analyzer  7 
= 
EA+ o
( F8 B 3$ E.  9 A N$ R ++8 ) RU7 @% A R N'  ?+ o
,8 "Debug" , + >%$ )+   B " $ E.+ M (B @ ?+ 4U+ ) 20 N'   + o
:) 8A @.

D    B" D%+ 3$ C


X $ 2  9.  C' SQL Debugger  7  EA  C'  1 •
9
,* " R 98 ) = A M87 $8A )$ -+ 4   C'   8A 
X 8A 3$
:) 8A .  1 "- 3 "Debug" B 3$ E.

Universal Knowledge Solutions s.a.l 60


1,+
  !  U 2+ 3: C S ! )$ -+ 4 9. SQL Debugger   )*  9
9 ' )
. O 4    7 &'(  EA  9
.% 9

, E ,  ,   9 ?+   3:  $  O 4    9 ? $8A 4+ ++8 •
:  4
, + "My Computer" 3,$ >,%$ )+   B E.+ Windows  EA -+ )* 48 @ 9 
= 
o
"Manage"
I"Services" M "Services and Applications" $ "Computer Management" A 9  + o
I"2 @% 9  >% " $ ?++    2! 9 "MSSQLSERVER"  + o
 , ,M C',    $8   ? W$+ "This account"  + "Log On" 2! 9 o
:) 8A )* 8 "Administrator"

Universal Knowledge Solutions s.a.l 61


. 9  X(  :  )X  E '
 )8 "MSSQLSERVER"   &'(  EA : N'  )E+

SQL Debugger
! $)

.*   0 •
1
 @f?+ P2 •

, 9 4$  " "-:  3   2: @ ?+ 


9 SQL Debugger  7  EA C 9

@?+   
,  3: *.0 20  " * -+ F  "+ F + ) " 9 
= M ) 8A @. •
8A, =,  98 "Auto roll back" < ( P    < 3: *.0  8 "  98 )
,  ,  &'( + @ I1$ SQL Debugger  ! ;+M
(B+:  )   9 < 1" ).*

Universal Knowledge Solutions s.a.l 62


3$ =8 = 20 @ ?+ 98 ) = $*   N$ 9 B  9   )*   ?  2: @ ?+
M  20 ' %+ ;  ! "BEGIN TRANSACTION"  $ SQL Debugger '%+ F    8 )*   D%+
3,: @f?+ <* "Auto roll back"      9
$ < .1*? :  "ROLLBACK TRANSACTION"  $ '%+
C   8A 20 ' %+ +! ++>8 C
 $ ;+M
  9 B 

"2
3,: Y -+ )* ;: 
9  ? +      ?  2: @ ?+ ?+  + ' )
a  )E+
9
3,: 3?, SQL Debugger  7 ,! 9   3$ .% %!7*  +   ' %+ 
  N$
.-+ ;
3$ MS 
  3: Y 9 9   R  !    9 <  7 JU: C
9  -+ ;
3$  M> > " * ' S  2   2  )* 
    3$ @ ?+ $ ;: )E+ )
.
SQL Debugger  7   "  EA C 3 ? " )* "Execute" B 3$ E.  9
 •
',%++ 9
++8 ?+ &'( 9 = 7  3:  A %
" < 2i +]8 SQL   "- F 
" : ' %+ ?++  5! ?+ K+ 9

   20

, 9 
1 P   7  A  9 : SQL Debugger ! 9   $ *8 ' %+ 8 ++8 •
&',( ," *8 @.   R )$  * @ %     9 
1 * +.   " 2!
:  7
5    $
. 20  O 3: 
5! ?+  
3: @ ?+ <. )* 20 ' %+ F5 Go

Universal Knowledge Solutions s.a.l 63



U% 7 3$ 5! ?+ <. 98  1+
$ <    3$ 5! ?+ B0 
<. Toggle breakpoint
F9
.M   3$ ? $ >8 C' %+ B 9.  )
.   " 9 5! ?+ <  B0 Ctrl+Shift+F9 Remove All
` ! 
< 
20 ;  @f?+ 5   )* 1+
$ < ( + @f?+ <G. )  $ ' %+ Step Into
F11
.)j k/ B ' %+ ?+  1+H* ' %+ ;+M

Step Over
` ! 
< 
20 ;  @f?+ 5   )* 1+
$ < ( + @f?+ <G. )  $ ' %+
F10
.  20 9   $ 3: ?+  1 : ?+ 9  $88 &' %+ ?  1+H* ' %+ ;+M

Step Out
` ! 
< 
20 ;  @f?+ 5   )* 1+
$ < ( + @f?+ <G. )  $
Shift+F11
.1 : ?+ 9 98 )j k/ B ' %+    $ 3: ?+  1+H* ' %+ ;+M

Run to Cursor
. 20  O 3: 
)  9B   
3: @ ?+ <. )* 20 ' %+ Ctrl + F10

. 7 ' %+ (:    9 = 20 ' %+ 0 Ctrl+shift+F5 Restart
.@f?+$ ) ' %+ 5? 0 Shift+F5 Stop Debugging
Auto Rollback
.@ ?+ <. )* )( 20 "  )   9 )2?$ <  5? : 
 EA

SQL Debugger
! $)

@f?+ " •
@f?+   A •
:)(   2 ;B
 9 @f?+ " 5> •
, ! ` ,? 
< 
2i C  B " * "- ) $/ " )( :C  B " o
C
;,: 9
,+( 8'    8 .5! ?+ <. 8 % 8 ' %+   % 8 R ) " "+
8 @ ?+
 EA, ,0 Y+ ) 1 * B L   3: C S 9 SQL Debugger @*  20 B 3$  
I@ ?+ ! ` ? 
< 
20 B F  " * 4U+ G  8 )* @?f +
Y, 
, , 
)$  8 +  !  "-K ) " )( : $  " o
9
,++8 9  )* " &'( 9  C
5' 
*.: 98  .` ? 
< 
2i )  )*  
I' %+ ;+M
 E N$ %$   ?  ?    ;: )* %   N' (' > )  ? )*  E+

Universal Knowledge Solutions s.a.l 64


 ' %+  3$  )  < 9 +  ? " * "- ) " )( :  < " o
"2+  E ! < 9 B *.: ++8 9  )* < N$ (' > )  ? )*  E+ 9
+( 98  . 2i
< 
@@ERROR < 
@@IDENTITY < 
@@ROWCOUNT < *.: ++8 M   3$*
I@@NESTLEVEL
; ,  O R  F   % ;  2! R ) " )( :D 8 R " o
   !  E F   20 N$ 3: ?++ 9
N$ 2? )*  ;  3$ E. ++8 . 2? ! )*
I`% < 
20 4 ? "

3: *.0 @ ?+ ! 20 9 >A+ ) + 2+ R ) " )( : + 2+ " o
.>  7 
"PRINT"   $  +

:, J$ $  7 @f?+ " %


)*   A R •
I"Aborted" 
"Completed" 
"Running" :  ' %+  o
I    5] 3: *.0 SQL Debugger 1  C'    o
I      ! o
.C  B " )* 8 AS ( + <. C'   ! o

SQL Debugger
5( 64 34 

*G   < ` ? •


c` ? 
< @ ?+ 98 5 8 •

 ,+ : ` ,? ' %+ C * < 


` ? 9 F +  + SQL   @ ?+ ?$ 7 R 5$ 
 )  E 1 * $ C'   3$ 5G ` ?  EA 3: (  C S   3$ +    F 
I +  2: ! 9 (' %+ 
(;    ': " ?+ 98 9  )* = A ` ? @ ?+ 
' %+ 98

 2: ;+ ?+ 9


 &'( )* * 1 ?+ 4U+ C' ` ? 
< ' %+ 
;  ? 2: *  ':
. $ ;  $ ?

SQL Server Profiler

5  •

Universal Knowledge Solutions s.a.l 65


SQL Server Profiler  7 + •

% 8 "* 3$   )"* SQL Server )* J !   $ 
L!
L : SQL Server Profiler  7 
  " 9 ++8 =M* I"+ <g!/ '  ;
% 8 9 *  1  9]8 J  
+ )(  ). T7  X; 7 F  9X =; M87 A   
9    @ ? )
C S     3: *.0   
)* 9   3$ 9  D"* +   ': ; 7 9
.N'  U   %!: 3:

 , 
5$ 3$ "+ B  
A+ N$ R ]  A+   SQL Server Profiler  7   ++8H
."?  + ) fA )(    + 5 8 "? 4U+ F 

 " 9 ++8 8 P

 J$ 9B 4+ 9  Z   4+ 9 ( 


"?   A+
 9+]8 SQL Server 2000 N$
9,   3$ (;A+:  ) F 7 5%  : 9 S   4+ 9 9]8 3$ "SQL Trace Facility"
4,? @, "    " hB SQL Profiler "* 9B 4+ 9 9]8 
F 7 C f !
.)? ? 9B )* F 7

SQL Server Profiler


(4  7 (

 P2  •
F 7 •
  

fA •

;,! ;,+M
A 9  1+H* F 7 9 =   8  4? )*  SQL Server Profiler  7 9
 −
<,]+ 9
," 9, 4U+ ) ?  )(  $ R % 8 + 97 Y+ )   7 "  ) 2+
I9    4l? 9 + $ *8 <  ++8 M   3$* 2+

3,$ C, )  5  ? f? 4! 3$ T0 9 +   4f? 5  + 9
! −
:"2  5 < 4? N$ R R )$  !  2A   R 4l?     :
I' %+
   20 *8 M
4g? :SQLProfilerSP_Counts 4? −

Universal Knowledge Solutions s.a.l 66


8 ' %+ * RPC  9 '%+ ;0 ' %+ SQL  ' %+ : 4g? :SQL ProfilerStandard 4? −
I"+
I  9 '%+ ;0 SQL  ' %+   4g? :SQLProfilerTSQL 4? −
I  9 '%+ ;0 SQL  ' %+ * 8 4a? :SQLProfilerTSQL_Duration 4? −
<, ,h , 9, '%+ ;0 SQL  ' %+   4g? :SQLProfilerTSQL_Grouped 4? −
I;0 9   ? 

:  P2  •
,$ 9, 
Enterprise Manager  7 ),* "Tools" ,2! 9 : SQL Server Profiler  7  EA ++8 −
.
 2! )* SQL Server  
"- M   <  ;A+: 4$ N'    "Trace" M "New" M "File" 2! 9  +  4f? ;A+0 −
:) 8A . 4f? P2 "

4,  3$ "Filters"  "Data Columns" "Events" "General" )( * "  " &'( )* "-
++8 F  4l? $ Y 9 B  " 9 4U+ ) ?  4f?  + 9
"General" " )* ++8
1, $  4U+ C' 4? T+  +8: 3: *.0    ! )*   )* 
5$ 3$  + 9 B 

Universal Knowledge Solutions s.a.l 67


,A F ,7 ," )*    !   3: C S *h 4? 7 +  * 4a? ;+ )*
I+  4+  ? N$ R   N'  ++8 F    

,  + +B *   M $ N$  EA 98 F  4? $    " &'(  9 .
++8
I= O 2+ 9 B  4f? 5? : ( 
),* 1+  2% 98 +: L
? ;+ 3$ MS  "*   8 1 (
' 12+ ?+ C' 4f?   
I= (' %+  ?  

:F 7 •
8A, ),* 8 4? $    "? 4U+ ) F 7 + 9
"Events" % "  9 ++8
:)

Universal Knowledge Solutions s.a.l 68


1*,.:  F  C
B: N'8 ++8 1*.0 ( 
+ 9
++8 8 F 7 9 $8  *.H ?+ 9
++8
I=?
@+/ ) 1"*  + B  Y  ? 3: C S ! "? 4U+ ) F 7 9 M80 9
3: A0 +( )E+
IF 7 9     "+ 8 4! 4? 9 M8
;A+H 
++8 "? 98 ) F 7 *8 9   9]8+ 9
XSQL Server Profiler  7   ;  !– .%
I % "Event" " %
)* F  8 P  5 3$ Ta0  9 N'

:  

,"   , 5, 8 ",. 4U+ ) $ )(  + 9
"Data Column" % "  9 ++8
:) 8A )* 8 4? $    " 

, $ 3,$ = $ N' MS F  =  = 8 4l?   


5$ 9  ! ". 4U+ ) $   B 9:
I 8A ; 7 3$ 4a?

Universal Knowledge Solutions s.a.l 69


R, " 9 98 ) J2 *8 9   9]8+ 9
XSQL Server Profiler  7   ;+M
– .%

 % "Data Column" " %
)* ?  8 P  5 3$ Ta0  9 : N' ++8 4?  +
I2+ ! = $* 7 N$ R 4   9
:  
P2 R R )$  *
I&    C' F   ( :EventClass X
I(M   3$ SQL P+ C
) )$% P+ R :TextData X
IF  J0 LG
C' J   R :ApplicationName X
I   R :NTUserName X
IF  ' %+  9B 9 8$"  R :CPU X
IF  ' %+ 4 ]  ! 9 (' %+  ) ?+ ;?  $  :Reads X
IF  ' %+ 4 ]  ! 9 (' %+  ) 2 B % 8  $  :Writes X
IF  ' %+ 18"  C' 9B :Duration X
.4? $ 1 $  C' ]   :ServerName X

4,U+ ), ,$ 


N   9 N'   R ". <  )* . 2+ <  ++8
.1$.%+ C' 4  "Groups" 2? 9. ". " 

:A •
  ++8  4? $    + R 3$  ? R R%+ 9
"Filters" % "  9 ++8
:) 8A )* 8  ? N$

Universal Knowledge Solutions s.a.l 70


:)(   2  MM )*  ? TB
:1A  / 1A •
,
*8 3$  ? 9 T+ '( J    $   ? 1A  ) F 7 R )+M+ 9
? '(  9 ++8
," C' % B +(  + 9
++8 8 ApplicationName 
NTUserName M + 2+ '  
I%ADMIN% ) M )* 8 5 

:C 
E
/ C 
8
/ C  / C •
,
,*8 3$  ? 9 T+ '( J     A J* ) F 7 R )+M+ 9
? '(  9 ++8
ICPU 
DataBaseID M ! 2+ '  

Universal Knowledge Solutions s.a.l 71


:9 E
/ 9 8

9 T+ '( J      ! 9 E

9 8
A J* ) F 7 R )+M+ 9
? '(  9 ++8
IStartTime M V  
3$ 1?  +8: 3: *.0 ! 2+ '   
*8 3$  ?

SQL Server Profiler


(84  9" " %

4f? Y -% % 8 •
4a? $ Y C   
5$ T % 8 •
  3: 5$   % 8 •

),*   )* 
5$ 3$  + 9 B  ++8 F  4l? $ Y 9 B  " 9 4U+ ) ?  5$  •
I4f?$  P2   +! 9
'+ C
  '+ N'      !

5  ;+M
&   C'   
 X  ! )* -% ?   +  +X   
  •
++8 F  4l? $ Y  $ " * 4U+ )  )* + 9 B  )* ?  &'(  4a? Y  

,"  ,: 
 ,+   3$ ?  ;: 
9 SQL Query Analyzer M 
 
I +   ! J* " 

 $  $ ;: 5 "  ? 4? $ Y C   


5$ ;! : +8: SQL Profiler  7 @  •
  @* 
5$ @* B 3$ E.  9 N'  1+ kMd m
k + 3$ 
  D%+ 3$ 4l? ' %+ : 
<

C, C' 5$ " 9 + 4 P! 3$ %$ R  " R 3: C S 5$ @* 9
F 
  C )   ! <  ;+  " @* 3: C S *   @* B 
&' %+ + C' 4?
I"* + ? 4l? $ Y 1 $ ++GB  J C'

,+  +  ; 7 )* 8A R 3: C S ! F  =  . * + C' 4?   


5$ 98 ! •
I1% ?+ C' 5$ 3$ JG 9
98  A 5  +8: SQL Profiler 9S N'   * 88 1$ 

5,$ ,  ?+ 9


1 9 98 fn_trace_gettable < ( 5  J P < SQL Server B •
3,: 1$   C' 5$$ A8 "  98  B  < '(  ? I  3: ? 4l? $ Y C

Universal Knowledge Solutions s.a.l 72


;
9  <  3: C S      E   RE L
 !    ? R (:  F   
I+   3$ "?+ 9
98 )  $  $

Universal Knowledge Solutions s.a.l 73


5(" 

: 
   
.SQL Server F  4 +

:   
.J* Glossary 5$ -+

:
,$   9 N' 98 ; "+ - SQL Server 2000 4 + $ P2 $ &'( +
N,$  , ;+M
SQL Server 2000 , 7   0 P2  *8     9 
4 + $ 7
. $

:  


:)$  3$ % '( )* 4 5
4 +$ 4+7 (  : C
  %$  SQL Server 2000  : •
SQL Server 2000 4 +   7 $ •

   4 + $  :  •

c"!  )* 4 + ;


 98 5 8 4 + $ `+   8> 98 5 8 •
c"2"+  4 + $       0  E 98 5 8 •

 9 SQL Server 2000 4 + •

SQL Server 9 ?  0 F  •

Universal Knowledge Solutions s.a.l 74




4 ,+ 
+ 9S F  -+ '(   9 37   '+ SQL Server   !  : $
 •
! $2
G    3$ `   "  9 N' SQL Server  "+ ) $$ 
 
I4 + $ A
P2,    0 4 $ 1 $  C' B" 4 ? ! 30 3: 10 9 88 4 + $ JE •
&',( , ? <, +? *8  @ )* ( ?+ $ &B " SQL Server  :   =?  
IDB2 
Oracle )* "
) " $ =  SQL Server  )   P2  *8 9 RE  %  @2A )* n!++ •
,-   +8:  9  9 ' O X 2?$ =  ! =? N$ P2  N$ 9
=$X 4 + $ ;+M
(  +!
.4 + $ 9 ;"+  P2  N$

SQL Server ‫ﺱ! ﻡ‬#‫


ار ا‬$%‫اﺥ&ر ا‬

SQL Server Enterprise Edition •


SQL Server Standard Edition •
SQL Server Developer Edition •
SQL Server Personal Edition •
SQL Server Windows CE Edition •

:)(  :  SQL Server  •


Enterprise S  : o
Standard ) ?  0 o
Developer ]  : o
Personal ) A  0 o
Windows CE  -+7  : o

  =.
98 9 1+H* )8 J  C7    8 SQL Server Enterprise Edition     ? •
9  0 9 
[ 8   L ?*  %$   ? RU7  0 '(
9%$ "+
: ] /9B 2  9.   SQL Server Standard Edition  SQL Server Enterprise Edition

Universal Knowledge Solutions s.a.l 75


8' 9  E  64  =  32   7 ],/ ?* < $? ?$ P2  R )* R ". 9
.  8' 9  E  2  3!
8 
[  > =   )+M 98 9  )* (RAM) 

P ,/ 1,+
: SQL Server Enterprise Edition P2, D%+ SQL Server Developer Edition < •
?*     7
?+ 4$ )
8A 1 ? $   9B 8 ) 2 8A SQL Server Personal Edition ]
/ •
CE 2  )*  ) ? $   9B 8   SQL Server Windows CE ]
/ •

 ( 


9
9, U 3$ 1 $ SQL Server 4 + C C' B" 3$  $  * 9
*8  .%
; 7 9
,$ <   7 N$  [ B [ 

[ $  * C. 9 3?  O 3: B[ " 9 5$  4 + $
:   $ &'( P  .  /   B " M  + < =  4+ <!

 •
8' •
4$ P? •

9
9, U 3$ 1 $ SQL Server 4 + C C' B" 3$  $  * 9
*8  .%
; 7 9
,$ <   7 N$  [ B [ 

[ $  * C. 9 3?  O 3: B[ " 9 5$  4 + $
:   $ &'( P  .  /   B " M  + < =  4+ <!
::  •
 ,: 9,  : C
 EA 1  98 C' 3+ 7  166 MHz  ' Intel Pentium   •
Windows 95 3$  EA  9  )* Windows 2000 
Windows NT  EA -+ 3$ SQL Server 2000
I EA -+ P2  Windows 98 

Windows 2000 -+ fEA )  3$ =  32 X3!


8–   SQL Server 2000 
! 98 •
   9  8  $ - 5
[ 8 =   ;
3$  ++8 1+
$ < Datacenter Server
.Y B  4
:!"2 •
4$ 9  )* SQL Server Standard  : 4 + ?+ +8 ': 8' 9 B 3+ 7   E  64 / •
I3+
8 8' 9  E  128 SQL Server Enterprise Edition

Universal Knowledge Solutions s.a.l 76


 EA, ,-+ 3,$ 1 ,+   + 3+
8 8' 9  E  64 SQL Server Personal Edition 4$ •
I?* 8' 9  E  32 < L 7  EA -+ ? 3$ 1$ EA 98 9  )* Windows 2000
 , 2 8' 9 $   2!   B $8     2 8'   B $8  
[ 8A •

256 MB  2 8' 9 N$ B" 3$ SQL Server  9
.%/ N' 4$ P? 9 ";!  3$
.!7 3$ 512 MB
:"4 •
RE 1 " + 98 ) L 7 12  SQL Server 2000 -+ 4$ P?  )   R •
: !S   ! 
  V+ 
 
  ! 9 B  $  9 -+

( E ) 4$ P?  4 + +


270 8 4 +
250 C $? 4 +
100 9B 

130 3: 50 9  $ 


English-Query

(‫ا&*ت ا*)ﻡ‬

('
)E+ ) ?+ 9  M8 N+"* L
3: [ + 9 X(  SQL Server 4 + 4$ )X   5$ 
:1 $ (' %+ 98 ) M  
 EA -+  : 3 
 k /  %$ -+  EA -+ J$  *  9 

:01 $%
:SQL Server  : R < ?*  EA -+ )   R

1 ?*  EA -+ SQL Server  :


Windows NT 4.0 Server, NT4.0 Server Enterprise Edition,
Enterprise Edition
Windows 2000 Server, Windows 2000 Advanced Server, Windows 2000 Datacenter Server
Windows NT 4.0 Server, NT4.0 Server Enterprise Edition, Windows 2000 Server,
Standard Edition
Windows 2000 Advanced Server, Windows 2000 Datacenter Server
Windows 98, Windows Me, Windows XP, NT4.0 Workstation,
Personal Edition
Windows 2000 professional, NT 4.0 and Windows 2000 Server (all)

Universal Knowledge Solutions s.a.l 77


:  $%
 $ 8 64 o$ ?+  < NTFS 
FAT32 
FAT %$ -+ 2G " P!
3$ SQL Server 4 + 98
.-+ ;
3$ = $ MS "+7 XNTFS -+ )* ?* – $ P!7 E.    = 
@+ /  9  )*

!+#&‫ﺥرات إ
اد ( ا‬

:  ?+  9 4 + $  :  5 + 98

:1%$ <! SQL Server +8  •


  =  "  =  5<1 =  ;
C   + +   ! ] 
C    + F  

C   + +   8


C    + 8 P+ 9 F +?

C     7 *8 9B  : 

+ + + 9B < 


C    + SQL Server, )   
C    ?* @f?+   

C     B +] 


C   + +  $!0   0

SQL Server  8 4 SQL Server 4 •

Universal Knowledge Solutions s.a.l 78


:4 + $ ;+M
 N$ P2  " 9  ) " ) 8A @.

:SQL Server )*   " 3$ 5p +    •

: 2?$  $!0   0  •

Universal Knowledge Solutions s.a.l 79


: 8A 8    •

:SQL Server P   


 •

:1  4U+ C' P  +    " 9 ++8 ) " ) 8A @.

Universal Knowledge Solutions s.a.l 80


ISQL Server -+ 4 + $ =* A ++8 7   $      9

", 4$> 4 +   ? 9
j $ @    " 9 d  4 + + 9G8
:  ?+  9   N$ 5 + 98  

:1%$ <! SQL Server +8  •


IV+  ;A+: ++8H 1+
$ < " + ?+ ) SQL Server +  + 9

= 
)E+ ­
,? C' <2A 4 + : )(   MM 4 + $ T+

 )E+ N'  ­
4 + 
  9 98  ! !> 4 + 
 2A 1  SQL Server %$ -  B+
." + 4U ) P2     +8:  $ @  C' P / 
T+
9 T+ 8 )* (   98 )  SQL Server P2 J*/   R ­
. ? MM 4 +
C
SQL Server %$ +( ?  1 * SQL Server %$ 9 B  ?+ C' <!  = .
$ &'( )*  •
I  %$ 3: *.0 1'  J  %$
:1 * %$ N$ 4 + C C' )2?$  ( )   •
systemRoot\Program Files\Microsoft SQL Server
9
: L, 7 ,?  < Jf ; 7 -+ " 9 .*7   J  %$ )2?$    •
R  1+
$ <   : -+ " 9 N' P  ;B )* SQL Server %$ 9 B  $ * .% R
I EA -+ 3$ C P? ;B 3: " +  9
9   %$
5 " N' -+ 9 %+ P ;B 3$   %$ 4 + C 9
)E+ XL
[ -+ " 9– 1+

a: •
I;B N' 3$ +   ! 3$ 
= ? "?  C  )  <  ; 7 9 
." P P! 3: X4 + $ 9 ;"+ X Tempdb !S   ! ?+  9
9 9 N'8 •

Universal Knowledge Solutions s.a.l 81


:SQL Server  8 4 SQL Server 4 •
9. :  "* ) -+  9  8 Windows 2000 d Windows NT 9. SQL Server  •
I $    J  9. 
9    J  9. 
$ -+  J 
N,$   8A 1 R  + 9
< + 9$* )$ -+ 48   SQL Server 5  L  )* •
IM   3$ SQL    
  8 J$ )
)   2  9. $ SQL Server  8   SQL Server  9 
= 8 4 + X)2?$ 8A– C •
;.,
9 =.   '( 98 9
)E+ ) 4 + $ ' %+ ?  1  C' C
-+ )* ]
I" + C ) SQL Server   +8   *8 ] ?  -+ C  

:SQL Server )*   " 3$ 5p +    •


Windows , " 3,$ 5p )* Windows +  " 3$ 5p +
9 9 + SQL Server )* * •
IMixed Mode $  + Authentication Mode
Windows , 4  9 SQL Server <  C'   ( 3$ 5p "% 3$ 7 +  •
I1  C'
),*   5]/ 9 
1 P  Windows , 4 9 :   ( 3$ 5p )+M + )* C •
SQL Server System ) sa 4, , $8 -+   B 9
Y $ +( 4$ F  SQL Server
.J*/ 8A @. 8 (Administration

: 2?$  $!0   0  •


?  SQL Server )*  /   $!0   i 2?$ P2   ?+ 9
X4 + $ ;+M
– )E+ •
INON Unicode  ?  U   5 
% B  ?  N'
$ < SQL Server )* >A+   ! *8 3$ Jh    B  -+  X)2?$ 8A– C •
,8 3 
  8 
  ! 8 %$   $!:   :  `  9 $ N$ P   ++8H 1+

I 
 ,  $!0 SQL   ,: :4 + $   ;+M
( 
   ++8  $!0   0 9 9%$  9+ * •
: $  $!0   0
3$ = ? C B" 3$ SQL Server 4 + ?+  +  $!0 SQL   :  C o
  ! 3$ C 8 M   3$ 7.5  : 
6.5  : SQL Server  : 

I  4 + $ < "  J* 3$ -*+ 9


4U+
4,U+ ), ,  $!0   ,0 P2,   9 $$ 8
P   ?+ 9
++8 o
.J*/ 8A @. 8 " 

Universal Knowledge Solutions s.a.l 82


: 8A 8    •
,a %$  8   9
SQL Server , @ ) DLL %$ 9  9 8A 8 ] •
I 8A 
, U G 8,A 2  9. %$  92B $ ] / 9
SQL Server , @   9
[ e 8 G   EA 98 •
I +
P2,  < "  4U+ ) 8 T+
+ 9
" 9 ++8 ) " J*/ 8A @. •
" 9 X]   9B "   )X 8 P2 J* . 8'+ 9
+(   8 ."+ 8 ?a$
.]  " 9 8 < 9B

:SQL Server P   •


 ': = 2"+  k  '( 98 9
)E+  1  4U+ C' P  +  + 9
X4 + $   ;+M
– )E+ •
.4 + $ 9 ;"+  & E ++8
:( P  $ 9 
9+  •
: $ 4 P  o
I1 a 9B 8 < ]  8 $ ;+ + '( )* )E+ •
I G   9 ]  <  1+8 B" 8*     +8: 9 ?  &'( p   •
.9   9    9 98 ) N$ 
 E S$ 4+7 P  9 + '(  •
: 4 P  o
ISQL Server fEA  8    + '( )* )E+ •
), ?  )* 
 . S )* @$ ( 9   9   U    + '(  9 98 •
.4j  Y/ D
3$ 

!+#&‫آ
( ا‬-

I" 9 8>+ 9
X4 + $ 9 ;"+ – )E+
:?+ G  9 8> +( )E+

9
 " P  98 )* -+   ! ;A+:  ! 1+
9 @  8A SQL Server 4 + 9 8>
,! L ,: <  ;A+H ?+ 9
)E+ 8   N$ 5? : 
 EA ++8H 1+
   SQL Server  :
I" $    ;:  

,- 9
$ < 4 + $   ;+M
> 
"-  ':   N$ ;: C. 9 D   8A
.4 + $ ;+M
@   U  0 =  + 98 X9 7 - )*– "" 98 ) 8A

Universal Knowledge Solutions s.a.l 83


SQL Server ‫ف‬/‫ وإی‬

, , 9  1+
: )2?$ 8A  EA -+ T!: + = 2?$   h SQL Server 9
9 U 3$ •
I2 8A 
= !S 1*? : 
SQL Server  EA  ?  * )  
;?   @ 9  )* 1   ;A+: +8: SQL Server   !S 5? 0 $ <+ •
I +  
   $  =  ]  3: Y 9   <+ )* $ &'( % .  )*
:   7 L :  9 2 
!S 8A SQL Server  5? : 
 EA 98 •
ISQL Server Service Manager o
ISQL Server Enterprise Manager o
I8  o
.Command Prompt  $ 2 o


Windows "  A )*  Services Manager +?
 9 Service Manager 3: Y ++8 •

 EA,  ? " 9 ++8 ) " ) 8A @.  2! )* SQL Server    9
:SQL Server 5? :

,M 4,+ ]      9 Enterprise Manager  7 9 SQL Server  EA % 8 8 =.
++8 •
I1 $ )+   B E.  + " J 
,2! R, M 8  )*    2! 9 "*? : 
"$ EA + )      = .
++8 •
I   "
net 
net pause 
net start  $ ' %+ N'  $ 2  9 ?  $ 8 ++8 =

,
9, N' " $  $ N$ J  4U+ ) SQL Server + 
  H  net stop 
continue
, 9, ,++8 :M* 4  3$ 2 8A  EA 5? : 
 EA  
!S 8A  EA 5? : 
 EA
:)$ 8 mssqlserver    EA   $
net start mssqlserver
:)$ 8 SQL Server V+ L :  EA ++8 8

Universal Knowledge Solutions s.a.l 84


net start mssql$instanceName

!+#&‫إ
ادات ﻡ ﺏ
ا‬

sa  $8  E •
-+ C    : •
; 7   : •
G 8A ]  ?  •

 "  " $ J$ L


"  ' %+ 9 +  "+ 9 8> SQL Server 4 + $ 9 ;"+ 
:4 + 
:sa  $8  E •
N' SQL Server 4 + $ 9 ;"+  = A sa 4  $8  E 9
9   !    •
&'" NA ! &'(  $8 +: 9 S 98 ': 
4 + $ ;+M
4 '"  $8 +:    ':
I4 + $ ;+M
9  O P A
< $8
Security $  9 1 :  98 C' 4 N' P2 % 9 : sa 4  $8  E ++8 •
.sp_password 2:  9 
Enterprise Manager  7 )*
:-+ C    : •
SQL 4 + + 1+7 N' SQL Server 3$ ?$ Y   < C'  4 ( sa 4   •
 , C' 9  , X)2?$ 8A– ]  3$  9 $ ;   ;.
*8   Server
I=.
?$
9, D ,$* ,  ,!  : -+ ;   EA -+ ;  9  B  X  : -+ " 9– +( .% •
ISQL Server  0 *8   Windows  EA -+     < 9
C.
9, ,%$   ,  " 9 < + sa 4  U L
 ; $   ;A+: ++8 •
.SQL Server 3: Y  
:; 7   : •
I"$2 $ ; 7 ?$ $ *8 1 * 9B] / ;
 SQL Server N$ •
1, * 9B] ,  ".1" 8A, 9, ?   G j /   ?     EA $ 8 + SQL Server 9]B / •
I$
 ++8  ...V ".3" ".2" ".1" 8A 9 J ' ;
  E )2?$ 8A SQL Server 9]B / •
8A, , N$ 9 B  C .Enterprise Manager 
)* Management $  9  9  N'
:)  )* )2?$
Program Files\Microsoft SQL Server\Mssql\Log\Errorlog

Universal Knowledge Solutions s.a.l 85


.sp_cycle_errorlog 20  9   ;+ ++8 8
: G 8A ]  ?  •
,2! ),* SQL Server  $ 9. X "Server Network Utility" G 8A ]  ?    •
I4 + $ 9 ;"+  8A 8   :  E )* X(#
  8 L
 P2 3: *.0 8  %   
 % ?  &'(  9 ++8 •
.M   3$

=    ‫ل‬3‫ ا&)ض  ﺥ‬5‫ ی‬6&‫اآ ا‬

I4 + $   ;+M


$8A
T!  )* 1G% )E+ C' 7 98 ; 7   •
$ 9.  sqlstp.log 5$ (  $ N$   ;+M
8 ; 7 =  
=  4 + + j / •
IWindows  EA -+ )* System
4,$U
9
,$ <, "
* $ $8A < 3$    * $ 3$ 5$ '( L •
I  T!: )* A* 4 
G 8A 8A 4 98 4 + $   ;+M
"M  <! 8A

(  = 

I4 + $ = * ( 98 )8 8A 3$  4    SQL Server  7 4 + + + @ •
:)  '  F 7  +  9H*   9 4 + $ ;: + •
ISQL Server 4 + $   $ *8 4 + + < o
Isetup.iss 5$ 9. ?   $ *8 9 B   o
  0 3$ =  SQL Server 4 + $ 1 $
 5 " B" 3: 8A  J 5$ V+  o
Id/ 5$ 9. +B / 
.4 + $ 9 ;"+  5 " 4  EA : )E+ •

SQL Server 4() "# /

, ': 1+
$ < SQL Server 7.0  SQL Server 6.5 ) + 9 
[ 8 F  $ SQL Server 2000  •
SQL 
SQL Server 6.5 3,: 7 F , 
= 
),E+ * SQL Server 2000 3: SQL Server 6.0 F  +U
I)+M 3: 1+ Server 7.0
,   ++8H 1+H* SQL Server 7.0 + N$ 4 3$ SQL Server 2000 + 4 + $ ;: + •
9 "2 "   ! %$    ? + F  3: C S    ? %$ J*  %$ 8 :
IF 7 + 3$  

Universal Knowledge Solutions s.a.l 86


-*,+ 9
++8 1+H* SQL Server 7.0 + N$ 4 3$ SQL Server 2000 + 4 + $ ;: + •
N'  ++8 8 "+ B  4 + $ ;H ?+ " $ +B    ! 3$  ? + 3$
9,   !   ?+ )8 sp_attach_db 20   
SQL Server 2000 <  
 + 9

I M  3:  ? +


F  ++8  1+H* SQL Server 6.5 + N$ 4 3$ SQL Server 2000 + 4 + $ ;: + •
4 ,+  $ N$ ;: < + 9  )* 4 + $   ;+M
= A  ? + 3$ $   !
I M  +

: -
$8A
4+ - , ;H 
= 
?+ 9
XL
+
3: +
9 F  $ C> ;  !X )E+
X ;
)*– ++8  + +8 " 1+> +%+
92+ 9
++8 $ &'( ;H* .   3: C S !
."+ +
 ! a+8 ) ?+ 3: 

SQL Server Client # = 

8A 3$ 1  92B   3$ + 9


9Z )E+ ]  3$ SQL Server 4 + 9 ;"+  •
8A  SQL Server 9 + < $  ?  4$  * 9  92B  98  = U •
(;A+: 4   $ 9 " ) " + )E+ ) SQL Server Client   )$  * n!++ •
L
" 9  ]  9  " 9 92B  9 

SQL Server Client  (

:]  <  ) 92B ?  +



OLE DB Consumers o
ODBC ?  o
DB-Library ?  o

.]  9B 9    $ •


N,$ ,  $  F  ]  9 + < 92B   J2 G  SQL Server 2000  •
I d    8A$  + 3: *.0 1! 9B T+ <  8 8A " + 4 ? 
,K F,  SQL Server 2000 ] ,    ! < a 9
98 ) 92B 9 2A +
G  * •
:  % + L : 3: (B* C 9
98  ?  +( 92B
:(OLE DB )8$" 
) OLE DB Consumers o

Universal Knowledge Solutions s.a.l 87


:,( SQL Server <,  *8  9 h ? OLE DB Providers 9 9 + 
?  &'( j 
,( 7 , / F,  ODBC , P  OLE DB Provider d SQL Server , P  OLE DB Provider
ISQL Server < J*  P  1+
 3$   .%
:ODBC ?  o
R, ,! 9      ?  &'( K  ]  <  ;A+: )* ODBC + 3$ ?  &'( 
IM   3$ Enterprise Manager  7 SQL Query Analyzer  78 SQL Server Client 

:DB-Library ?  o


ISQL Server <   /  (API) $7  " ?  9  )(
," 3,$ , ),X  !7 ?  )( SQL Server <  DB-Library   ) ?  
.a ;: )* XSQL Server 2000 < +h. ISQL Command-Line  $
4+ 9 d /  8$ $M G 8A 8   9
SQL Server 9 + <  ) 92B *8 3$ )E+ •
I 8A 8 9B J  9   2?  < $  K ) ] 
:8f' ? +]8   ]  9B 9    $   % 8 J*/   R •


DB-Library 
ODBC 
OLE DB :]  < $ B  ?  
9B J  4$ 
ISQL API +h.  ?  " T+

Ia $  0 G 8A 8 <  N'  C 


,?+ ,8  , N'  8A  9B $ 
  ?+ $ =+ = $
G 8A 8 9S 
I4+
.]  3$  SQL Server 9 + + 3: "$?+ 9B $ G 8A ]  8 ? 

<(,  = 

F,   = +   $ ]    ! < $ &  : SQL Server Client 4 + $ 5dK •
P2     N' 92B B"
3$ N$ 4 + $ ?+ 9
1%+ SQL Server 4 + +  9 ++8
I  ? @2A )* -+ 8  $ &'"    :
9
+ G   %$  L 7 8 %$  SQL Server Client ,  0  7 4 + $ ;  ! 98
.1 + C' 4 3$ 4 + $ ;: +8: 9 8>+

Universal Knowledge Solutions s.a.l 88


SQL API DB-Lib ODBC OLE DB
‫ن‬+‫زﺏ‬

DB-Lib DB-Lib ‫د‬A‫و‬B‫ﻡ‬ ‫د‬A‫و‬B‫ﻡ‬


DLL DLL ODBC OLE DB

ّ-@) @-‫ﻡ‬

-@)

:‫ل‬0Iّ‫ت اﺕ‬+‫آ‬+‫(ﺏ(وﺕ‬TCP/IP, NW Link, NET Beui)

Cّ-@) @-‫ﻡ‬

‫م‬A ‫ﻡ‬
  ‫و‬B‫ت ﺕ‬0‫ﺥ ﻡ‬

SQL Server

Universal Knowledge Solutions s.a.l 89


<(, !,>?  (  1.4.15

 •
8' •
P? •
 EA -+ •
G 8A ?  •

SQL 4 + $  ? < + )8 4$ 3+ 7 G   )  7 $ 9B B" J? 9
)E+
:3: Y+ .B" N' 3$ Server Client
I3+
G 8 B(E  166 o$  1 J*  O  C

Intel  •
I!7 3$  E  64 4$ ?  R 9
$ <  E  32 9 ?  RAM  2 8' •
I9B  : ?  ?*  E  95 9 ?  4$ P? 3$ 9 B   •

Windows Me 
Windows 2000 9,  : C

Windows NT 4.0   98 .4+  EA -+ •
Windows 95   ++8 &
 SQL Server 2000  : R  Windows XP 9
$ < Windows 98
I?*  RU7
: G 8A ?  •
d Windows 98 d Windows XP G Windows Me d Windows 2000 d Windows NT  EA, ,-+
N,$
8,A ,?  Apple Talk ADSP 
Banyan Vinos 4,$ 9  )* " * +G./ 8A ?  Windows 95
.Novel NetWare IPX/SPX 92B = G ? NW Link 8 9
$ <  *.:

=    87+‫ﺥ‬


9 
1%+ SQL Server 2000 4 + +  9 : 9 ?  9B   
4 + $ ;: ++8
ISQL Server 2000 , P    P? )*  5$ ' %+ 

8A, @. 8  G   " 9 ++8 F  N$ 4 + $ @.7 7 )( 37 ?  
:)

Universal Knowledge Solutions s.a.l 90


?* 9B 
4 + •
9B ]  
4 + •
?* ]  <  +G8 4 + •

9 
1%+ SQL Server 2000 4 + +  9 : 9 ?  9B   
4 + $ ;: ++8
ISQL Server 2000 , P    P? )*  5$ ' %+ 

8A, @. 8  G   " 9 ++8 F  N$ 4 + $ @.7 7 )( 37 ?  
.J*/

9, S %$ 


= 9B ]  

?* 9B 
4 +     " &'(  9 ++8 •
I %$ =.
9. ?* 9B 
4 +    9
$ < 9B ]  9   $

P,  ;B, D%+ 3: X)2?$ 8A– SQL Server Client %$ V+ 9B P  4 + + ? •
  3: C S N$ 4 + $ 9
$ <  N'  E  ? ++8  4$ P? 9  EA -+ %$
++8  SQL Server 2000 ,   92B  > X(   )*– SQL Server 7.0 ,   92B 

.SQL Server 7.0 d SQL Server 2000 9 8 3$ C ]  98  3  ?  7 3$ -%

5,$ ', %+ , 9 SQL Server Client 


4 + 98 * 4 + $ )* a L 7 ? $ + 

,+G8 4 ,+ @, $ &'( 9


$ < SQL Server 2000 , P  P? 9.  sqlredis.exe
I" 9 9B 
4 + ++8  ?* ]  < a 9 S

OLE DB , 7 +8 9 8 A V


[ + 3: C S F   2 (   "+8 )* 4 + )* ?  &'( B 
G 8A, 8 SQL Server ODBC f8  SQL Server , P  OLE DB ]B 3: *.0 ODBC 
.SQL Server Client ,   2?$

Universal Knowledge Solutions s.a.l 91


‫ﺏ ن‬:‫إ
اد ا‬

,  ,: 9,  )(4 + $ : 


9 (' %+ 4    9B  : $  •
I]  <  3$ = ! @  9B 4
*.:   C
9 XSQL Server Client 
! 9 ".  )X 2?$ G 8A   0   ++8 •
.1  9
92B 3$ )E+ C' ]  B"   ;+M
,  8 G   k 9
98 ]  G  9B a 9
4$ )  )*   0 5$  •
I 8A
,! 9,8 N$  7  $ B P2  *8 + 9
SQL Server Client 
 9 ++8 •
,. 3,: *.0 92B ]   9 8 3$ ?* G 8A 8 * 9.+ 9
)E+ $ N$ ; 
I9 * 9 8 3$ 8 N$ +  8  
* 9 8> )E+ 9  )* SQL Server Client 4 + +  9 G 8A 8 4 + 9.+ 9
++8 •
I EA -+ 4 + $ 9 ;B8 =  " +  )  d   8
9, ,?$  V,+ G  <  9B    : X ? 7 $  $ 9 ;"+ X  •
:9   9 ?  L :  9  ] 
 9  8A 3$ * ]  ;
 N' ]  < $ + G 8A 8    o
:) 8A @. 8 SQL Server Client 

Universal Knowledge Solutions s.a.l 92


5, ,++ ,   $ ]  <  @ + ODBC     ;A+: o
. 4$ C' 9B  Java ?  4$  + ODBC 9 . JDBC   ++8 1+
$ < DNS

=)&<‫ل ا‬3‫ ﻡ ﺥ‬SQL Server ;‫ل ﻡ‬+<‫ا‬

92B *8    + 9


++ 8A  9 SQL Server 3: Y +8: :  9 ++8 •
I 
= ,2 5 ., X1,%+ ! )*– "+
: =    3:   NA L <* +8: $ &'( @  •
I   . J$  * = *.:
9, 9,B ]  9 9 * 8 98 9
++  9 SQL Server <  ;A+:  )8 )E+ •
<  9B$ 98 9 g$/ 9 '( * .TCP/IP 8  EA  9
]  3$ 4 8   8A
I(DNS) 4+   
9  IP 9+    9  
9– 98 F  ++ 8A 3$ SQL Server   + "a 98 )      J2 5$  •
,  B,"7 3,: Y 9? 9 ' 9   9 8A B C+   5$ ]  ;% H ?+ 9
X "
,  ,?+ 9
L,
," 9 ++8 8 .L
9  TCP/IP 9 + 9 $ ?  F  ++
! ]  3: Y  9B 8 4$ 9
9. 92B ]  9   %A  4$
R*  9  
.  3$ 

Universal Knowledge Solutions s.a.l 93


>‫ اﻡ‬+?‫ا‬

: 
   
.1  ! SQL Server -+  :

:   
.J* Glossary 5$ -+

:
J,2 R 8 1 * *G -+   !  : SQL Server 2000 -+  : % 8 $ &'( +
."  9  -+   3: Y @ ) %$ 

:  


:)$  3$ % '( )* 4 5
-+   ! •
master   ! o
msdb   ! o
model   ! o
tempdb   ! o
Distribution   ! o

-+   •

"2  -+     o

"2    !     o


"+
"A
 +GB  -+  2: •

$    -+ •

-+ < •

Universal Knowledge Solutions s.a.l 94




% 8 -+   !  3$ + 8 SQL Server -+  : % 8 3$  @2A  9 B8+ •
I2+ R  ;A+H N$   !   @ ) %$  L 7 J2 "   :

" ,  ,+   `H )8 +8  ? 8* N$  0 $ )* =  ( "  ?+ )  (%  •
,  ,!  : `,: +  ?$  S *8  9
  !   3$ )E+ N'8  
."  ) S

  ! )‫ﻡ@وت ﻡ


ی‬

:9  
9 " )*   !    S  98 •
I  8 9. o
.9   *8   : 9. o

I8A )*   (

 , ', %+ 3, 
SQL Server 4 + 3: )2 B %    : 9   !   " ` •
I  T )  9 B  J$ L
" 3: *.0 ; 7 9  )?+
I= =  = l$ =a M87 1+
3$   !    5a+ / •
.;)A 8 '@(  9
 ;)A 8 &" 9
 ;)A 8 " 9
  !   9 <g!/ •
,": 9,. ,  ,8 9. :( 9  
9 " )*   !    S  98 •
I9  $
:M   3$* =   8  S "+ 4  ? ? )* 98 "% F  9   " N$  ++8 •
9 ,?* , ),* D,f$%k K 
A% ! L
8A 9
8 100 MB 8  9 $ "   ! 8A R ] ?
I" 
98 X  E 8A –  R )%*  8 8A   !   " )? ? 5  5$ •
 , ', %+ 3, 
SQL Server 4 ,+ 3: )2 B %    : 9   !   " ` 9

P ,  98 9  )* .  T )  9 B  J$ L


" 3: *.0 ; 7 9  )?+
I= 87 8A )* J
a
8A ? "

:  ?+  9   !  : )* 7 " 5 + ++8 •

Universal Knowledge Solutions s.a.l 95


ISQL Server  : 4 + o
I  !      o
I  9 B   : o
IY J2 8 97 9. o
I  ! 5  o
.)*  $ 3: *.0   T )  9 B   $ ' %+ o

,! ),* RU>,8 9hB, K "+7 N' =.


  !   3: a+Bh /  20  : " =  4d+K •
Transact-SQL B 9 1   9 G " 9. 9  0 )* "% + 98 1+
9 U 3$  
< 9 9 9 +GB   20 <   !    + ' )  . 3: A0 )E+ 8  a?
I9 G

I= =  M87 1%+ ! )* 1+


9  )* =l$ =a M87 1+
3$   !    5a+ / •

 ,?   W*8 / F  ;)A 8 '@(  9


 ;)A 8 &" 9
 ;)A 8 " 9
  !   9 <g!/ •
."] ? ) "

‫م‬#‫ ا
ﻡت ا‬

G $ N$   ;+M


X)2?$ 
[ 8A–   ! 
;A+H SQL Server 4 + + ? •
master   ! •
msdb   ! •
model   ! •
tempdb   ! •
Distribution   ! •

I G $ N$   ;+M


X)2?$ 
[ 8A–   ! 
;A+H SQL Server 4 + + ? •
,f*   3$ C "+> 5 "+
8 SQL Server  $  )* =  ( N$   !  •
IN$   ! 5' 98  1+
$ <      C
(Meta Data) ( )

:SQL Server "2A+/ )   ? = 


= % )$  * R+
:master   ! •

Universal Knowledge Solutions s.a.l 96


,*h /  RU7 *8* SQL Server $ *8 ) 2 9B  " 9 "- 8 master   ! 
,  ,! ),* 9hB, K ( U  +hB  -+  2: -+   : Y  9 ]  L 3$
d.,%/ ) .

8A ? &'( .G  ': SQL Server  EA C 9
98  1+
$ < master
I8A F   )* " 9. "+   + 9 B   ?
," * 9hB, K ,8 SQL Server  8 J$  $ msdb   ! )* 9hB K :msdb   ! •
9 B   $ J$ ) $ 3: *.0 1 + 2 
*h 7 
 $ J$ L
%$  $
ISQL Server  8      3 msdb   ! 9   + 9 B  (
9 B  ) 

C, ), L 7   ! *8 1 $  C' 4? model   ! K :model   ! •
,!    5dK ) RU7 9 
 9. 9
)E+   ! 8* 9   ! 9 (SA+:
,  ,! 3,: model   ! 9 RU
G  V+ C     ? ;A+: 8 <*  
.model   ! 3: "*.:  RU
5  ++8 1+
$ <  
:M
,?+    ! 8 )*   N' ;A+: N'  -+ model   ! )* 9    WA+K+ 9
++8
."2+
  ! 3$ "2H +! )   3$ -% + @ model   ! 9   + -% 9:
  ! " * . 9
98 )  )* 
SQL Server 4 + ?+  8 )* "  ++8 ) N$
.model

 , 9, SQL Server )* !S RU7 *8 tempdb   ! )* 9hB K :tempdb   ! •
(SA,+: C, ) L 7 a!S RU7 *8 *.0 @  8A (SA+: C ) !S +hB /   20
I-+ ! 9 "/ 
SQL Server '%+ M   3$* SQL Server " ? ) 7 *8 h M tempdb   ! 
SQL  8   ;: 3: 2+ : ! tempdb   !     4   $ 9 
ID"% ;A+: )* &'(   ! 3$ = M8 Server
I; 7 9    )* =   8 BG  N$  =  " P? 9 P B]  3$ tempdb   ! 9 B  9:
." * <j$?/ G  8 )* "2A+H ? SQL Server 9
 =  tempdb 9   + 3$ -%$ T
[  

C, ), ,  ! T+


9. 9 Distribution   !   :Distribution   ! •
I-+   ! T+
9. 9 = +?  "+
9 U 3$ )2?$ 8A (SA+:
.SQL Server )* 8  4 +    C  + )2?$ 8A Distribution   ! 4 + C

Universal Knowledge Solutions s.a.l 97


‫م‬#‫ﺝ
اول ا‬

3,: *,.0 1     0 9 B  N' "-+  "  " $ J$  
=   SQL Server   •
I1.U>   $

:( 9 
9 + )* -+   5 + 
I88 4 + $ 9 $ 3$ C system catalog   o
.  ! 8 9  $ 3$ C database catalog   o

3,: *,.0 1, ,    0 9 B  N' "-+  "  " $ J$ /  
=   SQL Server  
I1.U>   $
Isysdatabases :M 1+ ]     B N' J F  sys B -+   3:  A/
Isyslogins   M  -+ 8A 3$ -+   T+
R ;A+: C

:( 9 
9 + )* -+   5 + C
:system catalog   o
Imaster   ! )*   &'( 9 B    88 4 + $ 9 $ 3$ -+     C
:database catalog   o
,! ,8 )*   &'( 9 B  C    ! 8 9  $ 3$   !     C
X" P    !   3: *.0– msdb   ! N$ .master   ! 3: *.0  
9 B,     3: *.0 T )  9B   $ SQL Server  8  *.: -+  
I(Enterprise Edition  0 )* ?* *  7   9
$ <) 1$?+ 
r G
Distribution   ! master   ! 9 8 )* *.: -+   ;A+: C 1+
8'   9
.SQL Server )* 8   H ?+  +

.  !    -+     - =   = %  @2A )* R+

5 
+ (SA+:  N$   ! 9
 tempdb   ! 5$  $ 9. Sysaltfiles
.master   ! )*   '( 9 B  9  ) SQL Server  #  EA 8
4 + $ ;+M
  5  9. Syscharsets
.4  $ 3: *.0
.SQL Server  7  EA + "  C  ) -+   :  ! 9. Sysconfigures

Universal Knowledge Solutions s.a.l 98


.1+ $/  8 )* &SA+:    (   -+   :  ! 9. Syscurconfigs
.  ! *8 9 $ 9. Sysdatabases
.)  Vt+k  %$  3: *.0   ! 5$ 8  9. Sysdevices
"+
 3$ B $8+0 E$  3$ C  1+
$ < ]  3$ h+ E 8  9.
Syslanguages
.= 2?$ G+ 2?$ E$
.sysxlogins   3$ =  -+$   8 9 $ 9. Sysloginns
. ' 2 ; 7 2 *8 9. Sysmessages
  3$     <     $8 9   ;
9 $ 9.
sysoledbusers

Performance , 9, ",. 98 ) ; 7 D ?    h   $ 9.
sysperfinfo

.9B 
]  J$ ) SQL Server 3$  ) ;0 *8  $ 9.
Sysprocesses
. +hB /  2: )  9
<     8  9.
Sysremotelogins
.9   *8 9 $ 9.
Sysxlogins

‫م‬#‫ﺝ
اول د ا‬

:-+   )* * )  -+   (7 sR )$  *

‫ﺝ
اول د 
ة ات‬

:  !   )* * )  -+   (7 sR )$  *

5 
8 3: *.0  -+   *8 )*  8  9. Syscolumns
.   +GB   20 *8 )* 

)2?$ A 
  A 
` ! 
! 
-+ 8  9. Syscomments
.RE N' ;+   SQL  P+ 9. 8  +hB / 2:
"8$ ) RU7 A  Sysconstraints
.sysobject   3$ = 
R ". 3$  ) RU7 9   ! 9B Sysdepends
. -+   9   !8
  ! %$ *8 9 $ 9. Sysfiles

Universal Knowledge Solutions s.a.l 99


. ?+ 2 B % %$   3: *.0
foreign keys , ! 9. Sysforeignkeys
.  ! )*   9  
.  ! )*   D"%  $ 9. Sysindexes
.   D"% @ % *8 9 $ 9. Sysindexkeys
  ! )* ;.7 *8  $ 9. Sysmembers
. 7 < B 
9 N'
B+ 
+   *8  $ 9. Syspermitions
. 7 
 
9   9
98$ 9 ' 9   T+
5$   $ 9. Sysusers
Windows   98 ;   ! 3: Y  
.SQL Server  
SQL Server   
Windows  

msdb ‫ 
ة ﻡت‬6B ‫م‬#‫ﺝ
اول ا‬

SQL Server  8    3$ C msdb   ! 9H*   ?   !   ‫ ﺝ اول‬K‫ إ‬0‫"ﺽ‬0‫ﺏ‬
I  ! +        3: *.0 G ?+  $ 
)  9B   $ 

:SQL Server  8   (7 sR )$  *

5 
. *G >  2 *8 ?a$ L 7 $ *8 !  9. Sysalerts
.L
]  9 "$ B+ )E+ ) 7 9 5
a  sysdownloadlist
.(B+: L ) 7 *8 -%  9. sysjobhistory
.SQL Server  8   7 *8  $ 9. sysjobs
.SQL Server  8   7 *8 9 $ 9. sysjobschedules
.SQL Server  8 
9  8     $ 9. sysjobsteps

Universal Knowledge Solutions s.a.l 100


:   )  9B    (7 sR )$  *

5 
5$ 

r  5$ 8  $ 9. Backupfile
.=   1+ B  L 9
J  
.1 L 5$ 8  $ 9. Retorefile
. ? T  $ *8  $ 9. Restorehistory

:   +     sR )$  *


5 
. +   )* +h.   ! 8 = M sysdbmaintplan_databases
. 'g%+/ +   M -% r  9  sysdbmaintplan_history
. +   )*  8 = M sysdbmaintplan_jobs
.;A+0 V  5]  9.   +   8 = M Sysdbmaintplans

:
r  ?+ )*     R sR )$  *
5 
."$?+ C )   ! 5]  M log_shipping_databases
."  L )  ?+  *8  $ 9. log_shipping_plan_history
."  C 
r  ?+  8  $ 9. log_shipping_plans

SQL Server  8    3$ C msdb   ! 9H*   ?   !   ‫ ﺝ اول‬K‫ إ‬0‫"ﺽ‬0‫ﺏ‬
I  ! +        3: *.0 G ?+  $ 
)  9B   $ 

(ّ:‫م ا‬#‫ت ا‬7‫إﺝ)ا‬

: +hB  -+  2: ;A+: 9 5 " •


SQL  : , $ = $]8 XSQL Server  7 4 + $   ;+M
(SA+: C )X +GB / -+  2: 

,-+       
 )*   !    $  9 > ( "2A+: 9 )7 5 "* Server
I  N$ 3: A 8A Y 9 9   !    

Universal Knowledge Solutions s.a.l 101


+GB  -+  2: 9 a! 2% •
: +GB  -+  2: P2 •
master   ! )* +GB  o
sp_ 2  < o
dbo "8$ o
 L  ' o
+GB  -+  2: 3$   ;:  ' •
9  •

 7 4 + $   ;+M


(SA+:  )X +GB  -+  2: SQL Server  : $ = $]8 X
SQL Server 
-+       
 
9   !   $  ( "2A+: 9 )7 5 "* 
I  N$ 3: A 8A Y 9 9   !    

Enterprise  7 , 9, ," ,?+ ,+8 )  0  $ *8 ?+ 9
+GB  -+  2:  9 ++8
),* Logins 3,$ )+   B E.  9  SQL Server   *.: ++8 M   3$* Manager
200 *.H 4U+ +8  ': %+ ' 98  $ ? 2 New Login    M Enterprise Manager  7
ccc  *  
,?+   ;+    98    &'( )* %  SQL Server )  5  )* ? ?    9:
,M ( U  $8    9 +  < sp_addlogin +GB  -+ 2: ;  " 9
.200 , 9   *.H 4U+  8 )*   '( '%++

  -+*  8 (  N'  * +GB  -+  2: *8 R ?+ 9
$ &'(  9 < + 9
Books d MSDN , ),  +GB  2: 1000 ) + 9
++8 +GB  master   !  20
$ 3$ $ " $  98 ) < (
9 XSQL Server < 9G.  5$ (X Online
F  = % SQL Query Analyzer  7 A )* +GB   20 R 4$
 8 ++ 3: *.0 N'
Shift + F1 3$ E. Query Analyzer " 3: ( : 4 9
$ < (' %+ 
 20 N$ R ++8
. 20 N$ ?a$ ? M $ R A C S

:  8A P2  +GB  -+  2: B 


Imaster   ! )* +GB  "$8 X
Isp_ 2  +GB   20 *8 N$ X
I 20 N Database Owner 
dbo    X

Universal Knowledge Solutions s.a.l 102


9,. C (' %+ 9
8   !
9 (' %+ 98 1+
C
 L  +GB  -+  2: *8 N$ X
.N$   ! J 

,+8 'H*  +GB  -+  2: 3$  


;: )E+  -+   3$ A   ;: )E+  •

syscomments   )* text  9 20 N$ 5  V+ C 9
 &'( )* G.% * ( :   4U+
<, ." $   *8 ;:  2: ;A+: M Enterprise Manager  7 )* 20 N$ P2  9
3,$   ;H (  ? ) +GB  -+  2: L    ;+M
A ' )f  )E+ 1+
$
N,$ ,  ),* T ,. 
>, C
      ' ?  20 &'"* -+  
."%+
*8  ; 9 3  &'( )*  dK 8 88 SQL Server , C  !  20

(‫;  ا&
ﻡ‬,  $%  <"?# )‫أﺵ‬

2: 20 3:10 9  9 M8


 + 9 ? ? )* ++
:  +GB  -+  2: 9 2 * 9 U 3$
I1 H ?+ C' -+ )* +GB 

:=  A (M8
 +GB  -+  2: T+
(7 sR )$  *

5 20 


  ! RU
*8 2! R ? sp_help
"  ++8 1+
$ <   RU 9 $ R "  98 

1 "  .RU C
9 $ 3$ $
.    ! 9 
88   ! 9 $ R ? Sp_helpdb

.    2! R 


9  RU $ R Sp_helprotect

Sp_Who
4 "  .  SQL Server   $ 
.;0 *8 
9 ;: 
;: 3$ ? %? $ R Sp_lock
%!0  
%!7 P A  )* % +GB  -+  2: )(
. 
.  5    :   
R Sp_configure

Universal Knowledge Solutions s.a.l 103


. +    !   :   
R Sp_dboption

2: 20 3:10 9  9 M8


 + 9 ? ? )* ++
:  +GB  -+  2: 9 2 * 9 U 3$
I1 H ?+ C' -+ )* +GB 

‫م‬#‫م ﺝ
اول ا‬3&‫ اﺱ‬6B ‫ أﺥ)ى‬I7‫)ا‬J

,! ,   -+    $ T +GB  -+  2: 3$  ? @2A *8 )* 9Z 3 + 
:(  f*   N$ T 9 
9?   1+
:  

Information Schema Views •


System Functions •

,! ,   -+    $ T +GB  -+  2: 3$  ? @2A *8 )* 9Z 3 + 
:(     N$ T 9 
9?   1+
:  
:Information Schema Views •
I-+   B  = -+ ANSI-92 ! 9 hB $    -+ 
1, :  A )f$ ]  3$ 9  RU 3: A0 + N' ;B
MM    ANSI-92  SQL Server 
@$, , 9, *,8  1, :  A, 9 , )* catalog.schema.object @$  9 ANSI-92
 8 " : A0   ':  ? )( X)2?$ 8A–   !  F  database.owner.object
.1 : A0   ': )   ( X)2?$ 8A– N

:1M
:master   !    $ R 3:   $ C S
select * from master.information_schema.tables

Universal Knowledge Solutions s.a.l 104


:2M
:msdb   ! RU
3$     $ R 3:   $ C S

select * from msdb.information_schema.table_privileges

Universal Knowledge Solutions s.a.l 105


:M   3$ "+  =+ ] $    -+ ;
3? - 9
TABLES, COLUMNS, TABLE_PRIVILEGES, VIEWS.

:System Functions •
!   
-+    ?a$ f*    $ R ?+ 9
-+ <  9 =.
++8H
I   ! K  < ' %+ ++8 F  A 8A Transact-SQL   N'  
:    !  3$ $ ) <   ++8 M   3$*
select db_name() as 'THE DATABASE NAME'

Universal Knowledge Solutions s.a.l 106


:  "A L 7 < 9
)    T SUSER_NAME()
  ! 5 T DB_ID()
  !  T DB_NAME()
 RU  T OBJECT_NAME()
) V  T

Universal Knowledge Solutions s.a.l 107


A) 

: 
   
.  !  : ;A+:

:   
.J* Glossary 5$ -+

:
 7  $ 3$ B8+ 8 "+8  % ++ " :   ! ;A+: 4$ $ &'( )* n!++
." N$ J ?  /

:  


:)$  3$ % '( )* 4 5
c  ! )(  •

:  ! %$ •


  5$ o

!+ 
r  5$ o

:SQL Server )*   9 B  •

% o
1+
   o

  %$ 8 % •

c  ! ;A+: ++8 5 8 •

:  !  : •


%$  .  : o

  ! %$ P $? <  o


  ! P2  8 o

Universal Knowledge Solutions s.a.l 108




ISQL Server  ) 2 4  8>   !  •

 $ 3$ B8+ 8 "+8  % ++ ," :   ! ;A+:  5 8 $ &'( )* n!++ •
I" N$ J ?    7

98 5 8  0 ;+ $ ;+M


(' a C ) ? (
  ! ;+ ;  ! N + 9
)E+ •
!    1+
: N$   $ )* SQL Server <  " 9 U 3$* 88 -+ ;
3$ MS 9

;0 9   ? 1 $ 4 1+


 +( )"+ 9   !  :   9
 9  ' > 9
9  
,!  .,  ,+ ('  )E+ ) ? 
"   ! -% J$  *  =? L 7
.  ? $ )* 1.+  ( ( U !+   0  + 
 8 8A  

‫ 
ة ات‬

:5  •
I  9 +  RU7  G + B  + 9   ! ]

:  ! %$ •


I( U 
D"* 
  9   ! RU
*8 3$ "   " C o
  3$ F  )  E *8 "*   C ?D)  " 9]B

.  9 +  RU7  G + B  + 9   ! ] •

R,U
*8 3$ C  "  5$"  7 3$ J$/ 9 
9 %$ 9 !7 3$   ! 98 •
),  E *8 9]B C' "!+ 
r j 5$"  )+M 3$ J$m /  ( U 
D"* 
  9   !
.  3$ F 

, ),* 
 X   )*–    ! 3: = !+ 
r  5$ 
  5$ 8  A •
,! "%$ " <   5$ 8 + 9
++8 *   ! 9. "%$ " 5  " * ?+ )
.   

Universal Knowledge Solutions s.a.l 109


SQL Server -E   ,
: % •
I"  %$" 9. 8KB 9  8

:   •
:9+ 1 % )+M 9 $$ 9 

:$    o


.  RU 9 M8
9 % $     9]B K

: -+    o
.D"* 
  98 ;  RU 9 % :    &'( 9]B  9
98 

: %
I%  8 N$ 5K "  %$" 9. 8KB 9  8 )*   SQL Server 9B •
" G ? F  P? 3: 9     ;+M
SQL Server "  Y /  E
% M •
.  8192 E  9
98 "+
$ <     )*   9   8060 )
P,? 9, 8$"  D ! )* ( 
=  B  &'(     9 M87 % < 9
98  •
 , '," ,(B )E+ ) P?  9H*   4050 ) 9      ] !K ': :M   3$*
.   < % 9
 3$ +GB     5. C

:  
 B $    $ %$8 R %  E X9  D"* 
    P  ;+M
X SQL Server   •
I   3G  Y /    $ *
.9 B   9 64 KB ( L
 
% )+M ) 9  1+
3$   5d/ •
: -+    $       9 9 
9 + N+( •
:$    o
,$    , 9]B,  $,      X   )*X D"* 
  8    P  
.  RU 9 M8
9 %

: -+    o

Universal Knowledge Solutions s.a.l 110



 , 98 ;  RU 9 % :    &'( 9]B  9
98     9 T+ '(  9   8
P,? 3$ .% 2B 9 $? 9
 8 ;?  $ ;
9 9] 9
SQL Server , @  D"*
.% 9 G +M  9  &'( )* 9h8   5$ 9
 = 
‫ﻡ?ت 
ة ات‬
-L5M&‫ت ا‬M?$-

:  %$ 8 % •


, ," : ),+ )   ?8 5$ 9 %$  $ % &'( 9. :   % o
I" * L/ %$

%, 3,$  h    %$  $ % &'( 9. : h  9 B   % o
I  5$ "+ 9h8 )

I G    4a? Ja$ %$  $ % &'( 9. : $A P   % o

,$    , 4a? Ja$ %$  $ % &'( 9. : +M $A P   % o
. G
)  SQL Server l8 % 8 3: A0 9 
= 
+  "+
   ! %$ 9 $8+ 9
!
G    -E H;   * $ F"? / N$   %$ 9 5$ 8 "  ?
I  

N,$ ),* +GB    9


 =  SQL Server  EA + 8' 3: A N$ 8 %     U
I" $ Y  $ M8 3: *.0 = + % M8 %


[ ,$ %, &',( 9. 5$ N' )*   %   5$ 8 )* (page 0) 37 % M •
5,$$ 3,+ 7 , 3$ *.0 " * L/ %$  " : )+ )   ?8 5$  = %$ 
I+ B  ?

%, &'( 9. 5$ N' )* h  9 B   %   5$ 8 )* (page 1) +M % M •
<p  9
" 9 98 F    5$ "+ 9h8 ) % 3$  h    = %$  
[ $
3,: *,.0  -+ 
$  *h    +8 ':  *  %$  RU# ] ! % +8 ':  *
8000 9 M8
)* G   4? 9
"+8 T+ '( 9 % 8 9
$ <  ? G  $ ) ?  ?
IN'  .!  ': L
4l? % P  98 8   %

Universal Knowledge Solutions s.a.l 111


&',( 9., 5,$ N' )* $A P   %   5$ 8 )* (page 2) MM % M •
) 3:   4a? 9
T+ '( 9 % 8 98 F   G    4a? Ja$ %$  $ %
IN' 3:  .!  ': L
4l? % P  +8: 3: *.0    63,904

9. 5$ N' )* +M $A P   %   5$ 8 )* (page 3)  % M •
, 4a? 9
T+ '( 9 % 8 98 F   G $     4a? Ja$ %$  $ % &'(
.N' 3:  .!  ': L
4l? % P  +8: 3: *.0 $    63,904 ) 3: 

‫ﻡ?ت 
ة ات‬

7 %$ •
+M %$ •
%$  •
!+ 
r  5$ •
: 7 %$ •
'( 9 9   ! C
;A+: 98    ! ;+  )* 1+ @   5$ 
")7 5$" /
    " : A ) model   ! 9 " + C ) -+ RU
*8 )7 5$ 9. .5$
I  !
I.mdf ? )7 5$ 3: A  

: +M %$ •
J, ?   )* N'   !   9 $?    RU
9 B  *.:   %$ ;A+: C
, N,$ *,.0   %$ 3$ =  J$/ )* 
 $ )  9 B  
; 7 J$ %$  5 (

I +M %$
I .ndf ? +M   %$ 3: A  

:%$  •
98 )*   ! 9  RU 9 B  4U+ a+8 ':  * ?+ 9
file groups %$   9 < +
,! < , M " $ + )   ! 9.  %$  5  
= 
N' C  P? 9 9 
,  %$  )* "+ B  + ) RU7 <.d ++8 N'  ! G  
L
!G A  
. >A+/

Universal Knowledge Solutions s.a.l 112


:!+ 
r  5$ •
<  !+ 
r  9 M8
5  ++8  !+ 
r  5$  1 $ J$ P 5$ = .
  ! 8 4$
,%$ ,
# a$8 F  )$$ 8A 98  %$ N$ Y 97 <2A 7 D  $ &'( M   9
$
I; 7 )* %  E <!/  ) )+M 5$ 3: ?+ C
I.ldf ? !+  %$ 3: A  
SQL Server ? F  8 KB 9 % )* Y /   $ !+ 
r  %$ '%+    %$ 5 
I!+ 
r  5$ 3$ +8 ?  T>   3$ F  )  E (' %+  ) !+ 8
D,%+ 3$ &  T * %$ 9 T+ '( 5  9 +- 8 9B < !+ 
r  5$   B 9
98
.%+ )2B -+ 3$ 1+ B   9
X= +?– G.% F  L 7   ! %$ < P?

‫إء ا
ات‬

9 
T-SQL E$ 48   ' %+  9 : :  J L :  > =    ! ;A+: ++8 •
IEnterprise Manager  7   
;A+: 9
v
 =  "2A+: + *G   ! %$   3$   ! ;A+0 B 9B 5! •
I"%+   ! ;A+: <  %$ N$
, *, ,  ': ?* "%$   ! ;A+: $ 5! + >  SQL Server  •
.P? 3$ %$ N$ 9 B  $

Create Database Wizard ‫إء !   ﺏﺱ&


ام‬

ICreate Database Wizard "  EA •

"H8   ? %$   k  H ?+ 9


Wizard     ! ;A+: "  9 ++8 •
I$ 9 ( U & B  ? 
)7 1 
5$ N'  
  ! 5$ <! 

.Wizard , "  9 `  U   %$ 9 B  <! TGB % 8 8 •

&'( 3:  ++8       ! ;A+H ?+ 9


Create Database Wizard "  9 < +
)* Wizard  k   9 
Enterprise Manager  7 
 A )* "  " +?
 9 : "
I  ?   "   9 
Tools  7 2!


",8 ,  ? %$   k  H ?+ 9
Wizard     ! ;A+: "  9 ++8
I$ 9 ( U & B  ? 
)7 1 
5$ N'  
  ! 5$ <!

Universal Knowledge Solutions s.a.l 113


Universal Knowledge Solutions s.a.l 114
Universal Knowledge Solutions s.a.l 115
9
=  "2A+0 % G  Wizard   T
[    8A    $   ! ;A+: $ 
, U ,  %$ 9 B  <! TGB % 8 8 )(   ! ;A+: ;+M
"%  )E+ )   (

.Wizard , "  9 - ; 

Enterprise Manager ‫داة‬O‫ إء !   ﺏﺱ&


ام ا‬1.6.08

),*   9 B G ?  Enterprise Manager  7 )*   ! P2 " 9


9 U 3$ •
M8
4$> L
  ? "+
: Create Database Wizard " 1 ? G   ! %$ TB 
I +
:)(   2 " FM  -+ •
I"     $!0       !  :General " o
, *.0 %$ N$ )2 B %    ! %$ ?+ ;7 :Data Files " o
IL 7    %$
!+  
 %$ ?a$ $ :Transaction Log "

Universal Knowledge Solutions s.a.l 116


),*   9 B G ?  Enterprise Manager  7 )*   ! P2 " 9
9 U 3$ •
M8
4$> L
  ? "+
: Create Database Wizard " 1 ? G   ! %$ TB 
I +

  ?     " 2! 9 New Database     9 " &'( 3:  ++8 •
IEnterprise Manager  7 A )* 

.Transaction Log Data Files General :)(   2 " MM  -+ •

I"     $!0   0    !   H General " + @ •

Universal Knowledge Solutions s.a.l 117


*,.0 %$ N$ )2 B %    ! %$ ?+ ;7  H Data Files " + @ •
5,$ , :M   )$*  2?$  ! "   N$ *8 9
$ < L 7    %$  3:
I]  %$  1%+ ( )2?$ & databasename_data ) 8A 1  

,M ,"+
$ < !+  
 %$ ?a$ $  H Transaction Log " + @ •
I%$  9. !+ 
r  %$ 9 B  98  F  "%$ "   ;)A 8 )* Data Files "

Universal Knowledge Solutions s.a.l 118


Universal Knowledge Solutions s.a.l 119
T-SQL ! $)(   ! 71 #

Create ," 1, ? ,G 


Enterprise Manager  7 3$    ! ;A+H ?+ +8 ; •
9
9 9, ('%+  + T-SQL    SQL Server ? 9  $8*  9 Database Wizard
IN' -$+

! ;A+H ?+ 9


3$ +     
  ! ;+ A 8A T-SQL  +8:   ++8 •
3$ A+ F  B )* T]++ 9
Transact SQL      9 < + " * ('%++ G  8 )*  
I  ! ;+ P2 9 ( U %$  *8

.M •

Create ," 1, ? ,G 


Enterprise Manager  7 3$    ! ;A+H ?+ +8 ; •
9
9 9, ('%+  + T-SQL    SQL Server ? 9  $8*  9 Database Wizard
IN' -$+

! ;A+H ?+ 9


3$ +     
  ! ;+ A 8A T-SQL  +8:   ++8 •
3$ A+ F  B )* T]++ 9
Transact SQL      9 < + " * ('%++ G  8 )*  
I  ! ;+ P2 9 ( U %$  *8

:  ! ;+ B   @]. M R )$  * •
Create Database Big_db
ON PRIMARY
(
NAME = Big_DB_Dat ,
FILENAME = 'C:\data\Big_DB.mdf' ,
SIZE = 10 MB ,
MAXSIZE = 50 MB ,
FILEGROWTH = 15%
) ,

FILEGROUP Big_DB_Data
(
NAME = Big_DB_Data_dat ,
FILENAME = 'd:\ data\Big_DB_Data.ndf'
SIZE = 50GB ,
MAXSIZE = 100 GB ,
FILEGROWTH = 10GB
)

Universal Knowledge Solutions s.a.l 120


LOG ON
(
NAME = 'Big_DB_log' ,
FILENAME= 'f:\ log\Big_DB_log.ldf' ,
SIZE = 50 MB ,
MAXSIZE = 100 MB ,
FILEGROWTH = 10 MB
)
COLLATE Arabic_CI_AI
GO

J M `A

Create Database Big_db   ! 


ON PRIMARY 7 %$ 
(
NAME = Big_DB_Dat , )7 5$$ )?+ 
FILENAME = 'C:\data\Big_DB.mdf' , )7 5$$ )2 B % 
SIZE = 10 MB , 5$ 
MAXSIZE = 50 MB , C' )-7 
)7 5$ 1 :  9
98
FILEGROWTH = 15%   W$  + )7 5$  . +
.P?  )-7   <
) ,
FILEGROUP Big_DB_Data +M %$ 
(
NAME = Big_DB_Data_dat , C+M 5$$ )?+ 
FILENAME = 'd:\ data\Big_DB_Data.ndf' C+M 5$$ )2 B % 
SIZE = 50GB , 5$ 
MAXSIZE = 100 GB , C+M 5$ 1 :  9
98 C' )-7 
FILEGROWTH = 10GB   W$  + C+M 5$  . +
.P?  )-7   <
)

Universal Knowledge Solutions s.a.l 121


LOG ON !+ 
r  5$

NAME = 'Big_DB_log' , !+ 


r  5$ )?+ 
FILENAME= 'f:\ log\Big_DB_log.ldf' , 5$$ )2 B % 
SIZE = 50 MB , 5$ 
MAXSIZE = 100 MB , 5$ 1 :  9
98 C' )-7 
FILEGROWTH = 10 MB   W$  + 5$  . +
.P?  )-7   <
)
COLLATE Arabic_CI_AI   !    $!0   0
GO ' %+

  ! !"#

IN$   !  : $ )(  +M $


   ! ;A+: C
37 $ 9 ;"+ 

9 
9 + 3:   !  :  $ 5 + ++8
%$ +  X
  ! )*   2 P2   : X

IN$   !  : $ )(  +M $


   ! ;A+: C
37 $ 9 ;"+ 

)*   2 P2   : %$ +  9 


9 + J*   !  :  $ 5 + ++8
I  !

. % 9 ? 9 + 8  @2A )* n!++

‫( ا?ت‬#‫ ﻡ( ﺏ‬-   ! !"#


‫ ا?ت‬LP ‫إدارة‬

Universal Knowledge Solutions s.a.l 122


) + 4+    9 = O %$ N$ <  N' %$ +  : 3$  SQL Server 9
= ? +-
IN' 3:  .! $8  O %$   B )* (   F    ! ;+ + ( +

: M7 8A C 0 &+   !   J 3$ 3?$/   ! %$ w .  : "% ' > 
P  3$  9  +  N$  B 3$   %$  B Pp% =    ?  +
.       $ )Z

9
X=? + G  8X +-SQL Server + 4+    9 = O %$ N$ <  N' %$ +  : 3$ 
IN' 3:  .! $8  O %$   B )* (   F    ! ;+ ;+M


1+
=  F  *  %8 1 *  J !  U   !  : "% 9 ;B8 J 5    X ? ? )*X
! 3$ ?v/ A+7 *8 5? : C   9 B$ <  F    ! %$   B  +
 4 5v B  ?    P? 3$ *.:  *   C M N$  
I%$ <  C M 9 FILEGROWTH
" < +  + 1%+ 7 J+    %$ " * W$ G  8 )* 8 ? $ 8
I"%$

!   J 3$ 3?$/   ! %$ w .  : "% 9


3: A0 9 +   J   + =
! %$  <  )*      3$  C  + M7 8A C 0 &+ ' >   
 +  N$  B 3$   %$  B Pp% =    ?  + N' J? 9  )*  
I       $ )Z P  3$  9

‫( ا?ت‬#‫ ﻡ( ﺏ‬-   ! !"#


 
‫ ﺱ; ا‬

I=  
 O : 9 $>   ! <  ++8 •

I    %$ *.H 


  ! %$   B : =    ! <  ++8 •

:= .
9 %$  9 ?  ?     ;: < + •
I  !    T-SQL   8 o
IEnterprise Manager  7   o

Universal Knowledge Solutions s.a.l 123


I=  
 O : 9 $>   ! <  ++8 =? +  8 •
,? C ,  < $ + 
= O   ! <  $ C 5 8 ? @2A )* X %X ++ •
I  %$ *.H ?+ 9

  ! %$   B ?+ 9
: ++8 *  
 ,  T-SQL   8  9 : =.
9 %$  9 ?  ?     ;: < + •
IEnterprise Manager  7    9 
  !
*,.H ? M   ! 5$   B 
= 
? T-SQL E$ 48   R ) M )* ?+ •
:    5$
ALTER DATABASE Big_DB
MODIFY FILE
(
NAME= Big_DB_Dat ,
SIZE = 20MB
)
GO

ALTER DATABASE Big_DB


ADD FILE
(
NAME= Big_DB_Dat2 ,
FILENAME = 'e:\data\Big_DB_Data2.ndf' ,
SIZE = 20MB
MAXSIZE = 100 MB ,
FILEGROWTH = 5MB
)
GO

ALTER DATABASE Big_DB    $   ! 

  ! 
MODIFY FILE   5$    $
$? !,

(
NAME = Big_DB_Dat ,   5$ )?+ 
SIZE = 20MB 5$$  
)
GO ' %+

Universal Knowledge Solutions s.a.l 124


ALTER DATABASE Big_DB    $   ! 
ADD FILE    5$ *.:  $
(
NAME= Big_DB_Dat2 ,    5$ )?+ 

? 
 E
#
FILENAME = 'e:\data\Big_DB_Data2.ndf',    5$ )2 B % 
SIZE = 20MB , 5$ 
MAXSIZE = 100MB ,   5$ 1 :  9
98 C' )-7 

FILEGROWTH = 5MB  <   W$  + 5$  . +
.P?  )-7 
)
GO ' %+

Data " ," , 9 N'   5$ *.: 


 5$   B Enterprise Manager  7   =.
++8
:) 8A @. 8 "$  4U+ )   ! P2 " 9. "Files

Universal Knowledge Solutions s.a.l 125


    ;,  )  

Universal Knowledge Solutions s.a.l 126


?   E
#

‫( ا?ت‬#‫ ﻡ( ﺏ‬-   ! !"#


 
‫ ا‬8/

SQL ,, ` 1 9 < + AUTOSHRINK Option  1 $ J$ P   SQL Server + GB •
I" $?   %$ )* U%  9 )2?$ F  $ ? 9> Server

M87 5$ ) ( 5>  U 8A +$ =.G M87   ! %$ 9  9 !+ 
r  5$  •
.P $?  $ ;0 = l$
c=.
 P $? 3$ + 9
++8 ( 98   ! <   9
98 5 8 9Z 3 + h 

SQL ,, ` 1 9 < + AUTOSHRINK Option  1 $ J$ P   SQL Server + GB •
I" $?   %$ )* U%  9 )2?$ F  $ ? 9> Server

Universal Knowledge Solutions s.a.l 127


, ? h.%/  1+
: P $?  $ ;0 =  + " $  ++8 ) $ h    1+
$ < •
3$ -** 4 ? ? )* "  B  < 5 N$   ! 9> =? $ 3$ +8 ':  $ N$
Y,+  ,+ 1+ )++ 9
98 C' 4a )*.0 ;4 4a++ 9
++8   ! %$ )* U* 
 S   ! %$ 2B 3: C S P $? <   $ M8 9
 9  9 ' O  *.: 9 B  
IY    $ ;
9

M87 5$ ) ( 5>  U 8A +$ =.G M87   ! %$ 9  9 !+ 
r  5$  •
I1 $ P $?  $ ;0 = l$
3$ F   $ 9    8 8 ' %+   ? 9
+.*  ': 5$ '(   B 5 8  + 9
++8 •
, E  *8 3$ A    B 9
9   
r  5$  '[ 2 +   !  9 
IN$
C S,  1  9   %  U  *8 P! `  9    5$  P $? ++8 •
.1 $? ?+ C' 5$ 9   + -% 2 @+ 1+
$ < 5$ N'  )*  8 B  3: .

“All Tasks” ,    9 N' N$ P $? $  ? 


9 Enterprise Manager  7   ++8 •
), 1  " "- “Shrink Database”  + M " $? 4U+ )   ?   " ! 9
, $   +8: 3: *.0      ! 3$ &' %+ 4U+ C' P $?  ? + 9
" 9 ++8
:Files B 3$ E.  9 J ! 3: N$

Universal Knowledge Solutions s.a.l 128


Universal Knowledge Solutions s.a.l 129
  ! !"#
  ! ‫ﺥرات‬

  T+

+    !  R •

),$ , * ,  ! N$ 8$   9


98 )   9 %$  % +  SQL Server N$
:" ?*    ! < % + N$ R
5 +  k 
Auto Options AUTO_CLOSE {ON|OFF}
AUTO_CREATE_STATISTICS {ON|OFF}
AUTO_UPDATE_STATISTICS {ON|OFF}
AUTO_SHRINK {ON|OFF}
Cursor Options CURSOE_CLOSE_ON_COMMIT {ON|OFF}
CURSOR_DEFAULT {LOCAL|GLOBAL}
Recovery Options RECOVERY {FULL|BULK_LOGGED|SIMPLE}
TORN_PAGE_DETECTION {ON|OFF}
State Options SINGLE_USER|RESTRICTED_USER|MULTI_USER
OFFLINE|ONLINE
READ_ONLY | READ_WRITE
SQL Options ANSI_NULL_DEFAULT {ON|OFF}
ANSI_NULLS {ON|OFF}
ANSI_PADDING {ON|OFF}
ANSI_WARNING {ON|OFF}
ARITHABORT {ON|OFF}
CONCAT_NULL_YIELDS_NULL {ON|OFF}
NUMERIC_ROUNDABORT {ON|OFF}
QUOTED_IDENTIFIER {ON|OFF}
RECURCIVE_TRIGGERS {ON|OFF}

  N'     ! P2 " 9. Options " 9   !  -  : 98
:M P2  N$  !   = A T-SQL  $   ++8 1+
$ < Enterprise Manager  7

ALTER DATABASE Big_DB


SET AUTO_SHRINK OFF

Universal Knowledge Solutions s.a.l 130


,-+ , 2:  , , 9, ,+  ,  ! P2   :  A
$ 3$  ++8
:M DATABASEPROPERTYX <    9 
sp_helpdb

 $ ' %+


sp_helpdb Big_DB
:  + 9. STATUS  )* J 8A      ?   *8 3$  ++8

Status=ONLINE, Updateability=READ_WRITE, UserAccess=MULTI_USER,


Recovery=SIMPLE, Version=539, Collation=Arabic_CI_AI, SQLSortOrder=0, IsAutoClose,
IsAutoShrink, IsTornPageDetectionEnabled, IsAutoCreateStatistics, IsAutoUpdateStatistics

Universal Knowledge Solutions s.a.l 131


.  5() 
7 ?

: 
   
.  8 9. D"%    : ;A+:

:   
.J* Glossary 5$ -+

:
3$ B8+ 8 "+8  % ++ ," :   ! D"*   ;A+:  5 8 $ &'( )* n!++
, 5, 8 ,  8 "%  3$ + ++
3: *.0 " N$ J ?    7  $
.1? ?

:  


:)$  3$ % '( )* 4 5
  !   •

c  (  o
c  ;A+:  5 8 o
"+
   +

T-SQL       ;+ •

Enterprise Manager  7     ;+ •

  P2 R •

Enterprise Manager  7  9 (   ) T-SQL   R •


9      R •

  5' •


!S   •

D"% •

?+ D"% o
?+  U D"% o
T-SQL   D"% ;A+: •

Universal Knowledge Solutions s.a.l 132


Enterprise Manager  7   D"% ;A+: •

D"%  : •

D"% 5' •
  8 "% •

  8 +


 8 o

9 8 8 o
) 8 o

  8 J ? J2 •

)    8 o

)20   8 o


:  ? •

)7 `% o

% A o

)  `% o
)A ) 8  

  ! o
Enterprise Manager  7    ? ;A+: •

: ? •

T-SQL  $   ?  : ;A+: o


Enterprise Manager  7   ?  : ;A+: o

: 2?$  ? •

T-SQL  $   2?$  ?  : ;A+: o

Enterprise Manager  7   2?$  ?  : ;A+: o

Universal Knowledge Solutions s.a.l 133




  9 B  = +  e 
8A  (  !   ! " $  ) 7 +    •

"  R 


;+  $ 9 = " :  5 8     ;A+:  5 8 $ &'( )* n!++ •
" N$ J ?    7  $ 3$ B8+ 8 "+8  % ++ ,  N$ 5' ;x "+

3: !.0 "+ 2% )(  "*' " : (;A+: $  5 8 "+
 D"% "% N'  ++ •
 $ N$ J ?    7  $ 

8 9. % 8 3: J 9 +  D"%   9   ! +8 ;+  $ 9 ;"+  •
8  $ N$ )*   9
98 ) ? +7 n!++ F  (yS+ G  )   ! )*  
, Constrains , 5/  C
  8 9.  2?$ P2  ? A T+
R+
Defaults , Rules

‫ﺝ
ول 
ة ات‬

7 9  9  (  !   ! " $  ) 7 +    :  5  •
  9 B   K  +  P2 '

  ;A+: •


9  9  (  !   ! " $  ) 7 +    :  5  •
I  N' )* +GB  
2 ( 3$   N$  M  F    9 B   K +  P2 ' 7
7  + 9 % < 5a- :9 8 :M % 9  "  + 8 9 =    
G
:) M )* 8   
 9 % N$  M  F  ... +8 

Universal Knowledge Solutions s.a.l 134


3$     ;A+0 UPDATE TABLE  CREATE TABLE ) $ 9 8   :  ;A+: •
I4 
9 
[ 8 P    + 3: *.0 1 
9  8    N'  + 9
    ;A+: + )E+
I 7 N$
:    ;+ B   @. M )$  * R+

CREATE TABLE EMPLOYEE (


EMPLOYEE_NUMBER int NOT NULL,
F_NAME varchar (64) NULL,
L_NAME varchar (64) NULL,
PHONE varchar (14) NULL,
DEPT smallint NULL,
SALARY float NULL
)

I    N$ $ 9
$ < NULL U*  ! 3$  C 9
+8 9 @   G.%
I  9 B  ?  9 G (int, varchar, smallint, float) %$    +
G   J M )* -+

. =-+ N' SQL Server  7 )* "  98 )   +7 %$  T+7  @2A )* n!++
."    ! ;+ A !    +
(
N :

   

:5  •
 + 3$  ? R R%     )*   9 B    + 9 "  +
" ]
I  )* +GB   

Universal Knowledge Solutions s.a.l 135


G * 9. J$  * =  =  ( $   
9  8 4+   + ;?+ $  •
I88 -+ ?* 
; 7 + 
  9 B 
:)(  G  9. %a+   +
9 T+
G  SQL Server  7 GB •

( ) 9 B   +  5 +


0-8000 5
0-2GB VARCHAR [ (n) ]
TEXT
0-8000 NCHAR [ (n) ] UNICODE 5

5 4000 NVARCHAR [ (n) ]


0-2 GB NTEXT
0-8000 BINARY [ (n) ]  2+M
VARBINARY [ (n) ]
8 DATETIME ! V 
4 SMALLDATETIME
4 INT    7 +

8 BIGINT
2 SMALLINT
1 TINYINT
2-17 DECIMAL [ (p[ ,s]) ] ( ! +7) A !7 +

2-17 NUMERIC [ (p[ ,s]) ]


8 FLOAT [ (n) ] (  ? ! +7) ? ? !

4 REAL [ (n) ]
8 MONEY ) B  +

4 SMALLMONEY
0-2 GB IMAGE 
16 UNIQUEIDENTIFIER  *G
1 BIT G +

0-8 CURSOR
8 TIMESTAMP
256 SYSNAME

Universal Knowledge Solutions s.a.l 136


TABLE
0-8016 SQL_VARIANT

   8   + +: )E+ F    )*   9 B    + 9 "  +
" ] •
 ? R R*  9 N' " :  )  $X 
+8  – $8 J ? 9.    C
3: 1*.:
  N$  + 3$

G * 9. J$  * =  =  ( $   


9  8 4+   + ;?+ $  •
88 -+ ?* 
; 7 + 
  9 B 

d K )   T+ 4  G  9. %a+   +
9 T+
G  SQL Server  7 GB •
:"+ 8 9 B   3: *.0 "+ 98 ) +7 < % + N$ 2! )   R "+ B 

( ) 9 B   +  5 +


0-8000 5
0-2GB VARCHAR [ (n) ]
TEXT
0-8000 NCHAR [ (n) ] UNICODE 5
5 4000 NVARCHAR [ (n) ]
0-2 GB NTEXT
0-8000 BINARY [ (n) ]  2+M
VARBINARY [ (n) ]
8 DATETIME ! V 
4 SMALLDATETIME
4 INT    

8 BIGINT
2 SMALLINT
1 TINYINT
2-17 DECIMAL [ (p[ ,s]) ] A !

NUMERIC [ (p[ ,s]) ]


8 FLOAT [ (n) ] ? ? !

Universal Knowledge Solutions s.a.l 137


4 REAL [ (n) ]
8 MONEY ) B 
4 SMALLMONEY
0-2 GB IMAGE 
16 UNIQUEIDENTIFIER  *G
1 BIT G +

0-8 CURSOR
8 TIMESTAMP
256 SYSNAME
TABLE
0-8016 SQL_VARIANT

. % % + +7 N$ 9 


= 8 P2  @2A )* ++

‫أط ات‬
-(7#R‫ط ا‬O‫رف وا‬M‫ا‬-

 NCHAR  VARCHAR  CHAR ),( ,  +


9 %$  T+
 3$ )* 5 + 9. •
\I %$  RU7     B  "+ T+ 8 B  F  NTEXT  NVARCHAR
 2+M   9 B    "+
9  )* =.
  8000 3:   VARBINARY  BINARY +7 9B K •
\IN$ 2+M 9 B  +
 9 A   ! 9 B  98 1+
$ <
B 9
98 ) 2+M   5  9 B  IMAGE  NTEXT  TEXT +7   ++8 •
\.  8000 "
9
9,8 F   P2  + '( <  57  9 B  X 8AX )*   +  / •
Unicode  
    E 
M  ' 98
 NCHAR  VARCHAR  CHAR ),( ,  ,+
9, ,%$  T+
 3$ 5 + '( 9. •
I %$  RU7     B  "+ T+ 8 B  F  NTEXT  NVARCHAR
,"+ ,8 9B F   G *   +
9   =  A M87 VARCHAR  CHAR 9 + 9 8  •
4  3$   E M  

Universal Knowledge Solutions s.a.l 138


,+    )* D+ 9  C' 8  M 7 ' 7 9  $ =  CHAR +   o
3M+# "
" 
8'$ "'"  5 9 98 9
98 F  M   3$ 5-  A
3, , N' =   9MM B  * "CHAR (30)" 8A    )* 5 

9 +  + o
?* "+ 5  + 

8   E   3$ C 9
98 ) 7 9  $ G.% ( VARCHAR +  o
N', )-7  9
$ <  / ?   C + '(   B * ( U 
5
+ '(    ;+M
$   ?   ?
9 ? 9 + 8   ?* 5 8000 3:   9 B  ++8 o

3,$ VARCHAR  CHAR9 ?, 9 + RU


D%+ NVARCHAR  NCHAR 9 + 9 8  / •
9 '( 97 N' ?* 5 4000 3:   9 B  ++8 F  (B  )  "+ 9%$ 9  )* 4 
   9 = . 9   3: "+ 8 Y ) UNICODE , 5 9 B  9  9 +

 2+M   9 B    "+


9  )* =.
  8000 3:   VARBINARY  BINARY +7 9B K •
IN$ 2+M 9 B  +
 9 A   ! 9 B  98 1+
$ <
B 9
98 ) 2+M   5  9 B  IMAGE  NTEXT  TEXT +7   ++8 •
 + %$   9 B  1  4U+ C' $ TEXT + + ++8 M   3$*   8000 "
,   , ,8 UNICODE 5, 9 B  4$ )  )* TEXT 9 =. NTEXT  ++8 
 9 B  4U+  + .%  k  IMAGE +

‫ أط ات‬1.7-8.05
- ( )‫ط ا‬O‫ ا‬-

,"+ 8 %$  T+


1  P2  + '( <  !7 9 B  X 8AX )!   +  / •
" 

:    7 •
TINYINT  SMALLINT  BIGINT  INT )(   +
9 %$  T+

3$ 5 + '( 9.
."+ 8 1  !  J$  *  %$  RU7     B  "+ T+ 8 B  F 

:  ? ! +7 •


  B  "+
: <  !  ' 2: 
$   9 B  =  REAL  FLOAT 9 + 9 8  /
. A !7 J$  * ?$ ! 

Universal Knowledge Solutions s.a.l 139


: ! +7 •
   ! 4$ <  !  '   9 B  =  NUMERIC  DECIMAL 9 + 9 8  /
p=  9M 9+ 9'(  

:) B  +



1 A 98  G    9 B  N' SMALLMONEY  MONEY   )+ 9 
= 8 SQL Server ]B
. A + 
3:  a! < !   +> 9+ 9'(
:)(   2  
3: + '( ?  !7 9 B  X 8AX )!   +  / •
I    7 +
o
I  ? ! +7 o
I ! +7 o
.) B  +
o

:    7 •
TINYINT  SMALLINT  BIGINT  INT )(   +
9 %$  T+

3$ 5 + '( 9.
I"+ 8 1  !  J$  *  %$  RU7     B  "+ T+ 8 B  F 
4$ )  )*   M7  )  ? 9 <   9 B  =  2   !7 
IM   3$ @ %8 M = !
:    7 9 B  +
9 8   (B 98 )  ?  9 B   )   @.
 $  ?  +   ? ( )9 B   +
255 0 1 TINYINT
32,767 -32,768 2 SMALLINT
2,147,483,647 -2,147,483,648 4 INT
-9223372036854775807 -9223372036854775808 8 BIGINT

!
 !  
9 B   ' @  )!   + 9   @ SQL Server  7 9
3: +( A0  
. $8A C
9 8
 '  O 3:

:  ? ! +7 •


  B  "+
: <  !  ' 2: 
$   9 B  =  REAL  FLOAT 9 + 9 8  /
I A !7 J$  * ?$ ! 

Universal Knowledge Solutions s.a.l 140


: ! +7 •
   ! 4$ <  !  '   9 B  =  NUMERIC  DECIMAL 9 + 9 8  /
  + ++8 + D%+ 9  $ *  ? ? )* ( 9  9* = 9M 9+ 9'(  
, 9, )+M   88 (B )E+ ) !7  9 "
 9 
9 $ + 9
+7 9 T+ '(
:M . $%  (B )E+ ) !7
.999.99 3: -999.99 9   ` )  ? 9 B  +8  DECIMAL(5,2) + 
+ a! "  1 $ J$ C' + '" 5G 7 ! 3$ =  (B  ) 9 B   )   @.
:"CA
( )9 B   ! 
5 9 X1
9 19X10
13 28X20
17 38X29

:) B  +



1 A 98  G    9 B  N' SMALLMONEY  MONEY   )+ 9 
= 8 SQL Server ]B
I A + 
3:  a! < !   +> 9+ 9'(
:) 9 B  +
  (B  ) 9 B   )   @.

 $  ?  +   ? ( )9 B   +


214,748.3647 -214,748.3648 4 SMALLMONEY
-922,337,203,685,477.5807 -922,337,203,685,477.5808 8 MONEY

Universal Knowledge Solutions s.a.l 141


‫أط ات‬
-= ‫ وا‬S‫ ا&ری‬-

,"+ 8 %$  T+


1  P2  + '( <   +B  ? 9 B  ! V    +  / •
." 
B  F  SMALLDATETIME  DATETIME (   +
9 9 %$  9 + 3$ 5 + '( 9.
I1!  )+B  J$  *  %$  RU7     B  "+ T+ 8

,"+ 8 %$  T+


1  P2  + '( <   +B  ? 9 B  ! V    +  / •
:)( " 

:DATETIME +

B  F  SMALLDATETIME  DATETIME (   +
9 9 %$  9 + 3$ 5 + '( 9.
I1!  )+B  J$  *  %$  RU7     B  "+ T+ 8
:! V  9 B  )+   (B 98 )  ?  9 B   )   @.
 $  ?  +   ? !  ( )9 B   +
DEC. 31, 9999 JAN. 1, 1753 3/100 +M 8 DATETIME
DEC. 31, 2079 JAN. 1, 1990 ? ! 1 4 SMALLDATETIME

? 3: ! 9  9  V   H ?+  +* ?* ! 


?* V  9 B    + SQL Server )*  
N,' 9,  $ 5+  )2?$ 8A ' > !  ! 9H* SMALLDATETIME 
DATETIME + 9 
I 
JAN. 1, 1900 :  2?$  ? V  ' > * V  9 !  : 9H* M

:M
:DATETIME + 9      ;A+H ?+

CREAT TABLE datetest


(
dateCol DATETIME not null
)
GO

Universal Knowledge Solutions s.a.l 142


:)$ 8   ?  H ?+ 9Z
INSERT INTO datetest VALUES
(‘2/2/2006’)
GO

:  + 4!+ )$ 8 $ /  ?  N'  ?+


SELECT * FROM datetest

I5 $$ 2 ( 3$ N$  ? 9   )E+ 9    3: +B  !  H ?+  +
:"+ V  9  $ %$  8A
G  SQL Server + GB
M 2 "
February 4, 2006 monthname dd[,] yy[yy]
4 February 2006 dd monthname yy[yy]
2006 February 04 yyyy monthname dd
02/04/06 mm/dd/yy[yy]
02-04-06 mm-dd-yy[yy]
02.04.2006 mm.dd.yy[yy]
060204 [yy]yymmdd

IM   3$ C" V 8 L


8A
 1+
$ <
8A, 9 SQL Server ! 9   V  2 ( 98* 4 3$  E$ )( B $8+ E$ 98  +
Idateformate  $  9 )2?$ 8A N' G E+ 9
++8 1+
$ <  mdy

.  24 
AM PM : 9 ?  1+   ++8 * 9B 3: + 

‫أط ات‬
-‫أط أﺥ)ى‬-
:  *G + •
I9    *G    +
9 T+ '(  

:timestamp )+B   + •


I  )+M  88   ! L 3$ = * = 2+M = ! + '( 

:bit )?+   + •

Universal Knowledge Solutions s.a.l 143


0 
1  ?$ 9 B   +8: + '( 9S F  true\false 
on\off ?+  ? 9  $  + '(  
.?* =  =   o$ 9 B   RE N'    NULL

:SQL_VARIANT G E   + •


9B,  7 

= M   9>8   D%+ )* %$   ! 9 B  " * 98 )  9  $ + '(  
.L

)* ! =  ! 7 
)* 5

:TABLE + CURSOR + •


.   "  " + B  +  +: 9    )*     + 9  $ + '(   98 

:  *G + •


I9    *G    +
9 T+ '(  
F  NEWID( ) < 9  ROWGUIDCOL   9     $ 3$   9  ? &'(  
I  4  *8  "+ 9 * $ &'( 9 +  ? 9
SQL Server 9.
),* ,8   !  * 5G 3$ -% 4$ )8    )* '(   + 9 2% "-
.  8  $ ' %+ 

:timestamp )+B   + •


I  )+M  88   ! L 3$ = * = 2+M = ! + '( 
),* ,  , 5G8 1  .% 9 D  1+
:   ! L 3$ *   9
9 U 3$
. 3$   
*.: $ 8 +  E 1+
 =   

:bit )?+   + •


0 
1  ?$ 9 B   +8: + '( 9S F  true\false 
on\off ?+  ? 9  $  + '(  
.?* =  =   o$ 9 B   RE N'    NULL

:SQL_VARIANT G E   + •


9B,  7 

= M   9>8   D%+ )* %$   ! 9 B  " * 98 )  9  $ + '(  
.L

)* ! =  ! 7 
)* 5

:CURSOR + •
 ,  "  " + B  +  +: 9    )*     + 9  $ + '(   98 
. +GB   20 )* 8  E  9 @ $ =    (

Universal Knowledge Solutions s.a.l 144


:TABLE + •
<, ),* ,+GB   20 )* 1  98 F  12 )* CURSOR   + =  + '( 1A
. *G

‫( ﻡ * ا&
م‬Bّ)‫ أط ات ا‬8

I  -+   +


3$ =     +
5  ?+ 9
SQL Server  7  9 ++8 •

7  B ++8 1+
$ <  ?a D
3$   ! ;+ 4U+  + =   =  % $ &'(  •
I>A+/    + 3$  $ 9 B *.: 
2?$  ? 
? R    9 = ?

:9   9 ?  L H    + 5G+ 9


< + •
+ *.:    N' Enterprise Manager  7  9 
Isp_addtype +GB  20    9
." :  + *.H 4U+ )   ! 9. User Defined Data Types +?
9   
I  -+   +
3$ =     +
5  ?+ 9
SQL Server  7  9 ++8 •
 + 9  C>* ) varchar(64) + ' 9      + ;A+: ++8 M   3$* •
Ivarchar(64) 98 
7  B ++8 1+
$ <  ?a D
3$   ! ;+ 4U+  + =   =  % $ &'(  •
I>A+/    + 3$  $ 9 B *.: 
2?$  ? 
? R    9 = ?
c    + ;+  5 8 •
:9   9 ?  L H    + 5G+ 9
< +
I1+  +  ( 9 ' > ) sp_addtype +GB  20    9 o
:M
sp_addtype phone, ‘char (13)’

I  ! 9 5h/   + 5' sp_droptype 20   ++8 1+>* ?
  + *.:    N' Enterprise Manager  7  9    + 5  =.
++8 o
" :  + *.H 4U+ )   ! 9. User Defined Data Types +?
9 

Universal Knowledge Solutions s.a.l 145


8 1 
1 1+    +  9 8   " * ) 8A . " N'  "-
? .*  ! 
! Y : +8: 3: *.0 NULLS U%  ? ? 9> + '" ` +8: -+
.=?  % .*  ? ? "% ++ ++
$ < 5 

Universal Knowledge Solutions s.a.l 146


 1+
$ <  O   + C>8 )  8A 1  ?+ 9
 + 5  9 ;"+  ++8 1+
-+
.  !   
)*   ! 1+8  )* 5h/   + C
5' ++8

  ! ? 71 #

,?++ 9
++8   9 B  "  98 )   +
T+
5$  3$ 5 9 ;"+  9Z •
I  ;A+: $ )(    3:
Enterprise  7  , , 9, ,: N'   ;A+: ;+ 9 %$  9 ?  SQL Server  7 9S •
I(' %+ + T-SQL   8  9
     " 9 1 ?  Manager
    )(   2 ?+ MM )+ 9
   ;A+:  )8 X9 ? 9 ?  $8 )*– )E+ •
.(SA+: h  ) # + P2  +:  7

Universal Knowledge Solutions s.a.l 147


?  )

I12A+H ! C'   %+ (   N  9 7 - )*   ! 9.   ;A+: =  

, *  " 9 % + 2* 9 "  N'  8A $.% )( dbo   8$  RU7 ;A+: $ 
IL
" 9 97 ; 7 J$

:     R X


 ,     ;+M
   4+ )E+  1  9 =] 1 98 9
    + )E+
5,  , 4,+ =  .% =* 128 3:      < 9
98 = %    98 9
)E+
I<2A 
'( "_" 5 z% 9 . 98 8 X"  98 1+
$ <X    )*  

:   : •


  9 ?$  9 $> SQL Server  7  9  $ &'(  12+      E 4U+  = M8
. +GB  -+  2:    9 
Enterprise Manager  7

I12A+H ! C'   %+ (   N  9 7 - )*   ! 9.   ;A+: =  

:  MM  9    5  ++8


databaseName.owner.tableName
),* = ,  , N   ? 9
ddladmin  dbowner  sysadmin ;.
9 8 98 1+
$ <
:M   ;A+:  $
CREAT TABLE myTable.feras.employee

 ," 9 % + 2* 9 "  N'  8A $.% )( dbo   8$  RU7 ;A+: $  X
IL
" 9 97 ; 7 J$  *

 , C
,?  ,+*   ;+  ?   ddladmin  dbowner  sysadmin ;.
*8 N$ X
Idbo (   N' ).* N 9H*     ;A+H  N$ 9 .

:     R X


I      ;+M
   4+ )E+  1  9 =] 1 98 9
    + )E+
IEmployee 
= M = %    98 9
)E+
IU* 
 5 3: *.0 !
 *
9. = * 128 3:      < 9
98
I= 
=*    9 7 5 98 9
.%

Universal Knowledge Solutions s.a.l 148


z% 9 . 98 8 X"  98 1+
$ <X    )*   5   4+ =  .%
I<2A 
'( "_" 5

:   : •


:9 ?$  9 $> SQL Server  7  9  $ &'(  12+      E 4U+  = M8
, " + "- F    N'   " 2! 9 “rename”     9     E ++8
<, 

= M, +GB   2H8    ) RU7 R 3$ MS 9
98 N$  E $ 9
9 + '
,     E ? '  RU7 N$ R " &'(  9 ++8 F  ( U 
 -+ 
*G
I $ N$ 9 < ++8H 1+
3: *.0 N'

Universal Knowledge Solutions s.a.l 149


R,E  "
9 $ ' > ) sp_rename -+ 2:    9     E ?+ 9
=.
++8
 ,  9
98 ) L 7 RU7 R ++8 1+
$ <    )+M 1  H 4U+ C'
.sp_depends -+ 2:    9 1  E ?+ C'

Universal Knowledge Solutions s.a.l 150


T-SQL  $)( ? 7 (
+7+‫ 
ة وﺥ‬O‫
ی
ا‬M

N$ P2  " 


   ;+ 
9 T-SQL     98 5 8  @2A )* n!++
 % "+   A *.: 
  <! 8 L
P2     +8: 3: *.0  7
I=?

: 7  •
I 7 N$ 9 
[ 8 P    + 3: *.0 1 
9  8   ?+ 9
   ;A+: + )E+

:  7 P2 •

U*  ! 3$  C 9
+8: XM   3$– "+ " : ( +:  9
)E+ P2 = .
7 N$
Iidentity property  B   < 9

+   ?  N$ 9



:NULLS U%  ? o


I    N$ $ 9
$ <  U*  ! 3$  C 9
+8 9 @   G.%

:identity property  B  o


I=  =  A (M8
 7 P2 (
9   &'( 

:  <!  o


&'" 98 9
98 1+
3: A0 9   1+
$ < D"% 
  9 B  98  +8: SQL Server 
)  9 B  $ ;: )%8 F  ) 0 9 B  $  " )* ( ; 7 9  )*  8  $
I"+ 98 )   *8 -% 
9 %$ 
.P? 9 $%+ 98
)* "+ B     
+ %$ %+ 9
= .
++8

Universal Knowledge Solutions s.a.l 151


    98 5 8  @2A )* n!++T-SQL 3: *.0  7 N$ P2  " 
   ;+ 
9
I= ?  % "+   A *.: 
  <! 8 L
P2     +8:

: 7 
I 7 N$ 9 
[ 8 P    + 3: *.0 1 
9  8   ?+ 9
   ;A+: + )E+
:    ;+ B   @. M )$  * R+

CREATE TABLE BigDB.dbo.EMPLOYEE (


EMPLOYEE_NUMBER int NOT NULL,
F_NAME varchar (64) NULL,
L_NAME varchar (64) NULL,
PHONE char (14) NULL,
DEPT smallint NULL,
SALARY float NULL
)

:  7 P2 •

U*  ! 3$  C 9
+8: XM   3$– "+ " : ( +:  9
)E+ P2 = .
7 N$
Iidentity property  B   < 9

+   ?  N$ 9



:NULLS U%  ? o


I    N$ $ 9
$ <  U*  ! 3$  C 9
+8 9 @   G.%
I&;A+: ;+M
)2?$ 8A NULL  ? ' > 9> $ SQL Server @

:identity property  B  o


I=  =  A (M8
 7 P2 (
9   &'( 
I $%   ) !# 5  9 9 CA )! +   &'" <    + 1 A 98
L 3$ * "+8 B  B $$ !7 9
  @ %  )(    &'( 9  2 2% 
I@ % 5  ;+M
; 7 F    8   9.    

   C' ! 9   G F   B   ( 9 


9 $  ?+ 9
   &'(  : + )E+
I) ! ;A+0 1?    C' B  ? 9  * )+M  
 ! $ ; 
:M
 3$ IDENTITY  J  ?+ J M )*   ;A+:  $ 3$  +
‫م‬0P‫ أر‬10 ‫ ل‬R‫داد ﺏ‬B‫ و‬100 ‫ ﻡ‬6P(‫ @ أ ا‬Q.‫ ﺏ‬،EMPLOYEE_NUMBER

Universal Knowledge Solutions s.a.l 152


CREATE TABLE BigDB.dbo.EMPLOYEE (
EMPLOYEE_NUMBER int IDENTITY (100, 10) NOT NULL,
F_NAME varchar (64) NULL, : •
L_NAME varchar (64) NULL,
PHONE char (14) NULL, •
DEPT smallint NULL,
SALARY float NULL
)

:  <!  o


<  ; 7 9  J$  *  ! '  )E+ D"%       !   B <
I
+(  *   9O )* Dept  Employee 9   9 8 3$ 'g%+  M8    ++8 M   3$*
4$ P? 9 9 %$  9 ;B 3$ "+ 8 JG% 9 B    F  9   8 9 B  98  5! 9
I; 7 <  > )* = %
&'" 98 9
98 1+
3: A0 9   1+
$ < D"% 
  9 B  98  +8: SQL Server 
)  9 B  $ ;: )%8 F  ) 0 9 B  $  " )* ( ; 7 9  )*  8  $
I"+ 98 )   *8 -% 
9 %$ 
IP? 9 $%+ 98
)* "+ B     
+ %$ %+ 9
= .
++8
:M
 9 B  <!  " 9 ?+ )  $ *.H ?+ J M )*   ;A+:  $ 3$  +
: 
 $

Universal Knowledge Solutions s.a.l 153


CREATE TABLE BigDB.dbo.EMPLOYEE (
EMPLOYEE_NUMBER int IDENTITY (100, 10) NOT NULL,
F_NAME varchar (64) NULL,
L_NAME varchar (64) NULL,
PHONE char (14) NULL,
DEPT smallint NULL,
SALARY float NULL,
PHOTO image NULL
)
ON DISK1

TEXTIMAGE_ON DISK3

GO

CREATE TABLE BigDB.dbo.DEPT(


DEPT_NUMBER int IDENTITY (10, 10) NOT NULL,
NAME varchar (64) NOT NULL,
DESCRIPTION varchar (80) NOT NULL,
CODE char (2) NULL
)
ON DISK2

GO

T-SQL  $)( ? 7 (


?  

I  N$ )*   8 X G  3:– 9.  +8H    ! + GB •

:),( L,
T+
9  !   SQL Server + GB NOT NULL / NULL U%  ? ! 3: *.0 •
IDEFAULT  CHECK  UNIQUE  FOREIGN KEY  PRIMARY KEY

R 5  9 ++f8 )   R 9Z ?+ 98   ? N$ 9 8  %  @2A = ? G%+ •
.  ;A+:  ;+M
N$  ?
I  N$ )*   8 X G  3:– 9.  +8H    ! + GB •

Universal Knowledge Solutions s.a.l 154


:),( L,
T+
9  !   SQL Server + GB NOT NULL / NULL U%  ? ! 3: *.0 •
IDEFAULT  CHECK  UNIQUE  FOREIGN KEY  PRIMARY KEY

R 5  9 ++f8 )   R 9Z ?+ 98   ? N$ 9 8  %  @2A = ? G%+ •
I  ;A+:  ;+M
N$  ?

:1M •
,8  2 @ % *.H " 9 ?+ )  $ *.H ?+ J M )*   ;A+:  $ 3$  +
:5-   3: FOREIGN KEY )  `% 3: *.0 Dept  Employee 9  

CREATE TABLE BigDB.dbo.EMPLOYEE (


EMPLOYEE_NUMBER int IDENTITY (100, 10) CONSTRAINT EMP_PK
PRIMARY KEY NOT NULL,
F_NAME varchar (64) NULL,
L_NAME varchar (64) NULL,
PHONE char (14) NULL,
DEPT smallint CNSTRAINT EMP_DEPT_FK REFERENCES
dept(DEPT_NUMBER) NOT NULL,
SALARY float NULL,
PHOTO image NULL
)
ON DISK1

TEXTIMAGE_ON DISK3

GO

CREATE TABLE BigDB.dbo.DEPT(


DEPT_NUMBER int IDENTITY (10, 10) CONSTRAINT DEPT_PK
PRIMARY KEY NOT NULL,
NAME varchar (64) NOT NULL,
DESCRIPTION varchar (80) NOT NULL,
CODE char (2) NULL
)

:2M •
,8  2 @ % *.H " 9 ?+ )  $ *.H ?+ J M )*   ;A+:  $ 3$  +
:  ;A+:  N' 5-   3: FOREIGN KEY )  `% 3: *.0 Dept  Employee 9  

Universal Knowledge Solutions s.a.l 155


CREATE TABLE BigDB.dbo.EMPLOYEE (
EMPLOYEE_NUMBER int IDENTITY (100, 10) NOT NULL,
F_NAME varchar (64) NULL,
L_NAME varchar (64) NULL,
PHONE char (14) NULL,
DEPT smallint NOT NULL,
SALARY float NULL,
PHOTO image NULL
)
ON DISK1

TEXTIMAGE_ON DISK3

GO

CREATE TABLE BigDB.dbo.DEPT(


DEPT_NUMBER int IDENTITY (10, 10) NOT NULL,
NAME varchar (64) NOT NULL,
DESCRIPTION varchar (80) NOT NULL,
CODE char (2) NULL
)
ON DISK2

GO

ALTER TABLE BigDB.dbo.DEPT ADD


CONSTRAINT DEPT_PK PRIMARY KEY(DEPT_NUMBER)
GO

ALTER TABLE BigDB.dbo.EMPLOYEE ADD


CONSTRAINT EMP_PK PRIMARY KEY
(EMPLOYEE_NUMBER)
CNSTRAINT EMP_DEPT_FK FOREIGN KEY(DEPT)
REFERENCES BigDB.dbo.dept(DEPT_NUMBER)

Enterprise Manager ! $)( ? 7 (

9, N,'   !   ;+ )* =  *  +8: Enterprise Manager  7  9 SQL Server 9S
I  $"   "   

Universal Knowledge Solutions s.a.l 156


,$   " 2! 9 “New Table”     9   ] "      ;A+: ++8
,7 ;,
," * + F    ;+  " 3: N'  ?++      ! 9. “Tables”

U*  ! ' > $ @/ ':  * + 9>8  7 N$ P2  +8: 3: *.0 " "  +

IM   3$ 2?$  !  
 B   <  98 ':  *

9, N,'   !   ;+ )* =  *  +8: Enterprise Manager  7  9 SQL Server 9S
I  $"   "   

,$   " 2! 9 “New Table”     9   ] "      ;A+: ++8
,7 ;,
," * + F    ;+  " 3: N'  ?++      ! 9. “Tables”

U*  ! ' > $ @/ ':  * + 9>8  7 N$ P2  +8: 3: *.0 " "  +

IM   3$ 2?$  !  
 B   <  98 ':  *

Universal Knowledge Solutions s.a.l 157


Universal Knowledge Solutions s.a.l 158
,"- N,$ , 7 " )*  E 9 B  ?+ 9
++8 "2  7  5  9 ;"+  •
:    : a+ 4$   A

F  =  9 4$> 7   ;+ +8H Enterprise Manager  7 1+S C'   ] + @ •
9, = O (' %+   N$   ? ? )* 1+
$ <  $ N$  ?$ sql   8 T
[  C
 
.N'   A 9
9 98  7 &'( 

Universal Knowledge Solutions s.a.l 159


Enterprise Manager ! $)( ? < I")

P2 R ?+ 9


Enterprise Manager  7     ;+ $ 9 ;"+  " ++8 •
I"2  7 3$    ? ) 
  N$
8 ". 3$   ;:  +8 < "2    
R   P2 " + @ •
I  '( 3$ SQL Server )  1 Y   R " 9 ++8
;+ X  
   : "   9 " :  98 )X D"%   P2 " + @ •
.  N' %$  <p. 98> 
  N 8 3: *.0 D"% 
%$   ?  :

P2 R ?+ 9


Enterprise Manager  7     ;+ $ 9 ;"+  " ++8 •
I"2  7 3$    ? ) 
  N$
8 ". 3$   ;:  +8 < "2    
R   P2 " + @ •
I  '( 3$ SQL Server )  1 Y   R " 9 ++8

Universal Knowledge Solutions s.a.l 160


Universal Knowledge Solutions s.a.l 161
;+ X  
   : "   9 " :  98 )X D"%   P2 " + @ •
I  N' %$  <p. 98> 
  N 8 3: *.0 D"% 
%$   ?  :

Universal Knowledge Solutions s.a.l 162


Enterprise Manager ! *  $ - T-SQL  I")

9
  !   3$ )E+ '   ! ;   )8 9 9 ' 9   9  M8 ; ! •
, <, L, 7 RU7 
  ! ;+ 
9 XR$ ? 98 ! )X SQL  < 
I $"   
   "

,! R,U
;A+0   "   9 *   ! ;  9  4a+ L
" 9 •
)E+ 9  )* ! C
)* (' %+ "-% 98 N$   97 N' SQL     9B$   
I"2+ )* " d K ) RU7 N$ ;+ :

Universal Knowledge Solutions s.a.l 163


4 ,
 *, , 9 N'  ? $8A$  2"+ 
=   9
SQL Server  7  9 *8  
."$  
(;A+:  ) RU7 9 G SQL    %  


9
  !   3$ )E+ '   ! ;   )8 9 9 ' 9   9  M8 ; ! •
, <, L, 7 RU7 
  ! ;+ 
9 XR$ ? 98 ! )X SQL  < 
I $"   
   "

,! R,U
;A+0   "   9 *   ! ;  9  4a+ L
" 9 •
)E+ 9  )* ! C
)* (' %+ "-% 98 N$   97 N' SQL     9B$   
I"2+ )* " d K ) RU7 N$ ;+ :

4 
 *  9 N'  ? $8A$  2"+ =  9
SQL Server  7  9 *8   •
I"$  
(;A+:  ) RU7 9 G SQL    %  


1

     
;A+: ;+M
   -%+ 9
“Save change script” +?
 9 ++8 •
: 2 9 

Universal Knowledge Solutions s.a.l 164


    9 N'   ! 9. L
RU


 $ $8    X! C
)*– =.
++8
.SQL Enterprise Manager  7 )* "
" 2! 9 “Generate SQL Script”

Universal Knowledge Solutions s.a.l 165


Enterprise Manager ! * ?  I")

9 N'   N$   3 


9      R ?+ 9
Enterprise Manager  7  9 ++8
:)(  MM  N'  -+    $   " 2! 9 “Open Table”    
:Return All Rows o
I  
*8   '( 
:Return Top o
I / ! W*8 )-
 7 *8   9   !   $   '( @
:Query o
;,+ @,  " + "- F  " H 4U+ ) # + =  + 9
 k  '(  9 ++8
.& + C' 

Universal Knowledge Solutions s.a.l 166


,  N,$   3 
9      R ?+ 9
Enterprise Manager  7  9 ++8 •
:)(  MM  N'  -+    $   " 2! 9 “Open Table”     9 N'

:Return All Rows o


I  
*8   '( 

:Return Top o
I / ! W*8 )-
 7 *8   9   !   $   '( @

Universal Knowledge Solutions s.a.l 167


:Query o
;,+ @,  " + "- F  " H 4U+ ) # + =  + 9
 k  '(  9 ++8
.& + C' 

Universal Knowledge Solutions s.a.l 168


? 2

,M )* 8 DROP TABLE  $    9 : 9 %$  9 ?    ! 9   5' < +
:)
DROP TABLE EMPLOYEE

 , N,$ ;,


, N'   DROP TABLE  $  9  9e    5' 98 1+
$ <
I"" $*   R ". 9 %
I1*' 4U+ C'  $   " 2! 9 “Delete”    N' Enterprise Manager  7  9 

`,%$ @+   5' 9 +   1+H*  O   9 ) `% 3$ 1 


)* C    5' ?+  +
. 7 '( 5' + 
 ': )  `% 3$ C   !

I  N'  ` ? 


 ? *8 5' 3: . C S    5'  ? 9:
,M )* 8 DROP TABLE  $    9 : 9 %$  9 ?    ! 9   5' < +
:)
DROP TABLE EMPLOYEE

 , N,$ ;,


, N'   DROP TABLE  $  9  9e    5' 98 1+
$ <
I"" $*   R ". 9 %

.1*' 4U+ C'  $   " 2! 9 “Delete”    N' Enterprise Manager  7  9 

Universal Knowledge Solutions s.a.l 169


`,%$ @+   5' 9 +   1+H*  O   9 ) `% 3$ 1 
)* C    5' ?+  +
. 7 '( 5' + 
 ': )  `% 3$ C   !

I  N'  ` ? 


 ? *8 5' 3: . C S    5'  ? 9:

Universal Knowledge Solutions s.a.l 170


 J  ?

 , ,   ;+8    $  ? ;+M


= !S   9 B    F   % !S    •
IM   3$   9 + a?A  
I"#" B " J  ':  !S SQL Server )*    •
X@  8A N'   9–  N$ 5'   tempdb   ! )* )2?$ 8A !S   ;A+:  •
I" * (SA+:  ) $ )"+  +
:  !S     !S    !S   9 9 + 9  B + 9
++8 •
, ), $$ ?* < )(    ! # B    9   a!S   3: A0  o
I" * (SA+:
," : Y +8H B  )(    ! ## B    9 G a!S   3: A0  o
I  ! > 
! 9
,!S ,    # B JK  ) tempdb   ! )* (SA+:  ) L 7    •
 7  EA, ,: < N'  +: = 2?$ "*'   F  L 7   9 =   M8
X ? ? )*– "+
: = .

.  9 88 tempdb   ! ;+ / F  SQL Server

A">
"  4

I  8 "% •


I= 8 .  )*   9 B  4$

: $ 8 @ •


I  + 3$ M 3   8 8 @ $ 9 
," * 4U+ G  8 )* ) D"* C
3$ C  48 )* +  1$ 9 F $ ? $ 1 A 98
5 ," 3,:  3 L 7 $ % ?+ 48 9 37 % 3:  )E+ T. N' 9 F
I 

I48 D"% =    D"* 1 A ++8 •

. <  ; 7 9  =  D"% 9. •

Universal Knowledge Solutions s.a.l 171


),* N$   9 B   X ? ? )*X   9 B  + 9    !   9
= ? + G  •
I 8  5/  '( )8 8A   *.: $  F  4  9 D
C
9   

3,$ M 3   8 8 @ $ ;: X  9 ;B 9 F " * 4U+  8 )*X  •
I" $ 8 @"  5/  '(   +

4U+ G  8 )* ) D"* C


3$ C  48 )* +  1$ 9 F $ ? $ 1 A 98 •
5 " 3:  3 L 7 $ % ?+ 48 9 37 % 3:  )E+ T. N' 9 F " *
I 

I=  +. $ "%  U   8 9. F $  J    8 •

48 D"* 9
8* 9  `% 4 9+   9  "* 48 D"% =    D"* 1 A ++8 •
!8 `% ( 9 
9  9 98   D"* 9H* N'8  % ! 9+ ( 9 
9  9 9G8
I $ $ 3$ C C'    5G ! M   3$ 5-

  8   9. 9 7 9  M8 )*   "+


8  <  ; 7 9  =  D"% 9. •
. p% A 
7 @ %  )* 8

Universal Knowledge Solutions s.a.l 172


)+M ?

KA"> $) &  

K7-1  -E   A"> $) $ + 2  •

ID"% | •

9, 7 9,  M8 )*   "+


3: *.0 <  ; 7 9  3: C S  =  D"% 9
=': $+ •
 -E   A"> $) $ + 2  !!!( S +  !  &'( )* 98   8   9.
K7-1

  !   )* 1G$ "  . =   8 " (
9 U 3$* =2 M7   D"%  
:"+ ;)A 8 )* D"%  > 3$ MS )  9  ('
9  )  ? R N+( 9
:
:)*.0  •
I *.: 
[ % 48 D"* 4$ 8 = P? 3$ *.: 9 B   D"% 4$

: 7  •
I1%+ 48 9 8
D"* 3$ +* 48 9 $8 8 "* + 
':

:)*.: ;4 •
N,$ D,"* , ,$M M  ;:  9
    3$   5' *.0  $ B < )E+
I 8A ; 7 3$ MS !   $ N$    B 9 + ;4 <!+ 9
+( ++8 )  

),* ),
 1 + &'(   9
: D"%   ;+M
F  9
98 ) ? $ ?+ 9 U 3$
.1+ ;+E 98    !  : $

Universal Knowledge Solutions s.a.l 173


A">  

, 9, )+, SQL Server  7 ! 9     D"% T+
9 9 
9 +   ?+
: % 9 + 9 '( 9 8  : ;A+: % 8  @2A

: ?+ D"% •
,*8 9
R ? D"% `%  ! D
3$ 4 8A   )*   9 B  ?+ D"% )* =  
,( 1,+ , 7 L 
D"% J
9
 Z R  +  4a 8A D"% )* +GB     
I1'   

: ?+  U D"% •
I  9 F 
9   3$ >A+ C ?+ D"% `% 3$ ?+  U D"% 
),* C ,?+  U D"* 9 M8
  98 )     4  : ?+  U D"% )* =   
I 

 9 )+ SQL Server  7 ! 9     D"% T+


9 9 
9 +   ?+ •
: % 9 + 9 '( 9 8  : ;A+: % 8  @2A

9 B  ?  )* ( "+  ) 2 5   F   ?+  U ?+ D"%   SQL Server  •
I)+M )* 2A 7 )*  98 F    )*  
: ?+ D"% •
,*8 9
R ? D"% `%  ! D
3$ 4 8A   )*   9 B  ?+ D"% )* =  
,( 1,+ , 7 L 
D"% J
9
 Z R  +  4a 8A D"% )* +GB     
I1'   
9,. ,  C ,?+ D"* 9 M8
  98  1+
8 = 2"+ 8 "% )%  ?+ D"% "% 
I  9. = 2 B * a 9Z 9hB K 
  97 N'  
, ) N$ 
9   3$ =  X8 8AX "+ F  )  ?$ <  Y +8: ?+ D"% ] ?
I4g D>~$ " : 

Universal Knowledge Solutions s.a.l 174


:M
5" ! 3$ D"*  9 -$ 8A G * M8
X
= M 5"     )*X +8  3$ D"*  
, * M8
8A $ 2+ *8   M   3$ "5 " 9 F 9
 3$ N'   N' )*
R, "., 9, 4? +B  98 9
R% $ 2+ *8 +8  D
3$ 4   9
F 
.D"%~$  

: ?+  U D"% •
D"* 9 M8
  98 )     4  : " 9   8  ?+  U D"% )* =   
I  )* C ?+  U
D,"% 9    8    T   1+
$ <   8 C ?+  U D"* 249 3:   ;A+: ++8
I=$ D"%   B MS 9
98 =? + G  8*   3$
I  9 F 
9   3$ >A+ C ?+ D"% `% 3$ ?+  U D"% 
, $ ),* = % D"% 9 T+ '(     )  ?+  U D"% 9. a  U   9

I M  ! 9 F 4U+  + @. 8A 
= G* ?+  U D"%    9  )*    9 F
:M
, * ,M8
1%( ! 3$ =     )* 9  P A 9 F  J M )* 5"     3: 
.5" ! 3$ JG C ?+  U D"*  

T-SQL   $)( A"> 71 #

IT-SQL   D"% ;A+0 "  98 ) ? )$  * n!++ •

9, , $ &'( 9


  D"% ;A+: ;+ )*   ?$ =    !   "% 9
=  G.% •
I; 7 9   $ 
9  8A D"%$ ;+ : 5'  F   8 8A 8 )  $

IT-SQL   D"% ;A+0 "  98 ) ? )$  * n!++
 $ 9 $ &'( 9
  D"% ;A+: ;+ )*   ?$ =   !   "% 9
=  G.%
I; 7 9   $ 
9  8A D"%$ ;+ : 5'  F   8 8A 8 )
: $ N$ ! 8 R )$  * CREAT INDEX  $   ;A+: 
CREATE [ UNIQUE ] [ CLUSTERED] [ NONCLUSTERED] INDEX indexName
ON { table | view }
( column [ASC | DESC] [ , … n] )
[ WITH < index_option> [ , … n] ]

Universal Knowledge Solutions s.a.l 175


[ ON fileGroup ]
<indexOption> :: =
{ PAD_INDEX |
FILLFACTOR = fillFactor |
IGNORE_DUP_KEY |
DROP_EXISTING |
STATISTICS_NORECOMPUTE |
SORT_IN_TEMPDB

:L() ? LE"  6"1

UNIQUE j/ 'H* 7 8 `   8>$


.88 D"% ;A+: A%   )* 
8
CLUSTERED | NONCLUSTERED 9
$ < C ?+  U 
C ?+ >A+ D"% 9
 $
 C ?+ D"* 9 M8
;A+: 98  1+
  2?$  ? )( NONCLUSTERED
.  8
indexName .&SA+:  D"%  9 
table | view +8 SQL Server  F  1 $ D"% ;A+H 4U+ C' -+ 
   9 
.= .
 -+ 3$ D"* ;A+:
column .""% 4U+ ) 7 
 9 
ASC | DESC D"% 4   9
)E+ 98 ':   $
. 2?$  ? )( ASC  ? 9
$ < = B+ 
= 
ON fileGroup ." $ D"% 9 B   9
)E+ %$ 

PAD_INDEX D"% 9 G !  U   )* z* + N . 9  $
.FILLFACTOR   9 (   + N$ 9
$ <
FILLFACTOR = fillFactor &;A+: ;+M
D"% 9 ! % W$   + 9 
"2 + D"% %  ? ;: 4l+   &'( %
.  
*.:  $ ;:   
IGNORE_DUP_KEY  "+ 5 " UNIQUE T+ 9 D"* ;A+:   +   &'(   98
8 `% *.: $ C ) $!+ 9 <
. $!+ 8 9 <   98 8 R*  F 
DROP_EXISTING 12A+H ?+  +   )* D"% 5' $ &'(  

Universal Knowledge Solutions s.a.l 176


D"% ;+ H ?+  + -$ 8A ; 7 9  98 1+
$ <  D%+  9
. ?+
STATISTICS_NORECOMPUTE .= 2?$    2: 4 :  9 1+
9  $
SORT_IN_TEMPDB $ 4   $ 9 B  TEMPDB   !   +8: 9  $  
.  ;+ ;+M
"   )

T-SQL   $)( A"> 71 #  .

T-     D"% ;A+0 N' ?  A )* + G ) ? R J  )$  * ?+ •
ISQL

! )*  C ?+  U D"* ;A+: 1 9 ++8 C' =  M87 SQL   9 ) M  •
:= .
    ?    

CREAT INDEX emp_tel_idx ON employee ( phone )

‫(س‬TU‫ ا‬6‫ا‬
‫ ا& ول‬6‫ا‬ ‫د‬+R‫ ا‬6‫ا‬

3: D"% *.: ++8 )   9 D"% 9 B  98 *  9
 - )* @+/ •
:) M )* 8  %$ 

CREAT INDEX emp_tel_idx ON employee ( phone )


ON index_fileGroup1

‫ت‬0U%‫ ا‬V+&‫ ﻡ‬6‫ا‬

' * C ?+ D"* ;A+: 1 9 ++8 C' = ? M8


SQL   9 ) M  •
: %$  P2
CREAT UNIQUE CLUSTERED INDEX emp_tel_idx
ON employee ( phone )
6& ‫ ﻡ‬%50 @#‫ ﺕ(ك (اغ ﺏ‬Y@ ‫أي‬
%@2#‫ت ا‬4 R‫(س ﻡ أﺝ ا‬TU‫ ا‬.U‫ﺹ‬
Universal Knowledge Solutions s.a.l 177
WITH
PAD_INDEX,
FILLFACTOR = 50,
IGNORE_DUP_KEY,
STATISTICS_NORECOMPUTE
ON index_fileGroup1

Enterprise Manager ! $)( A"> 71 #

;A,+: 9,8 F,  D"% ;+ Ja$  *  " 9  SQL Server Enterprise Manager  7  ? •
:9 %$  9 ?    $"     "  9 D"%
ICreate Index Wizard    9 o
.  ! )* 1%+   P2  9 o

;A,+: 98 F  D"% ;+ Ja$  *  " 9  SQL Server Enterprise Manager  7  ? •
:9 %$  9 ?    $"     "  9 D"%
:Create Index Wizard    9 •
 “Wizards…”    M “Tools” 2?  9 Create Index Wizard ,   " 3:  ++8
.“Database” 2? 9. 9 Create Index Wizard    ++8 N'

Universal Knowledge Solutions s.a.l 178


Universal Knowledge Solutions s.a.l 179
ID"% ;A+: $   + +   " N'  + "-
7  ;x "+   !    9 ;x       D"% 5G+ 9
" 9  ?+  9 ++8
ID"% P2 

Universal Knowledge Solutions s.a.l 180


<    !  ">

Universal Knowledge Solutions s.a.l 181


< 7    ">

<D"% P2 ">

Universal Knowledge Solutions s.a.l 182


<D"%  ">

:  ! )* 1%+   P2  9 •


IEnterprise Manager  7 )* Table Designer 9. 9 1%+   P2  9 = .
D"% ;A+: ++8

Universal Knowledge Solutions s.a.l 183


Universal Knowledge Solutions s.a.l 184
:) 8A @. 8  % Indexes/Keys "  9 2 *8  D"% ;A+: ++8 F 

Universal Knowledge Solutions s.a.l 185


A"> !"#


  
 : $ 8  D"%   = 2?$ ? ':    D"% *8  : 3$ = 2?$ SQL Server 
SQL )*  9]/ ! 9 "  98 )  20 *8 ;A+: )2?$ 8A  8   )* 5'
IServer

=  8 8   ?+  + )E+ M   * D"%$   :  $ ;:  9


9 7 R )* G.%
;"+  D"% N$ ;+ + M     $ !   N' D"* 5'+ 9
9    3$   9
I  9

Universal Knowledge Solutions s.a.l 186



  
 : $ 8  D"%   = 2?$ ? ':    D"% *8  : 3$ = 2?$ SQL Server 
)*  9]/ ! 9 "  98 )  20 *8 ;A+: )2?$ 8A  8   )* 5'
ISQL Server

=  8 8   ?+  + )E+ M   * D"%$   :  $ ;:  9


9 7 R )* G.%
;"+  D"% N$ ;+ + M     $ !   N' D"* 5'+ 9
9    3$   9
I  9

*.: $ 8 + D"%   3$ 4 ;4 9 P$ + F  ; 7 9  


9 % ? $ 
I  3:   *8  : 9 ;"+   * D"% ;A+:  9 N'    

)   9 B$ <a  D"%   B  + F  '( "%+ D"%


B 9
X9B  <– 98
J$  * 8A R F  3: $ N$ C S .9 % 3: D"% % ?+ 3: N' C S F   "%$  
$ )* n!++ I37 %$ 8  % 9 B  X9 7 - )*–   F  D"% 9 <! ; 7
.D"% % ;pB >  % 8 3: "+  J+ SQL Server ;
9   H ?+ 5 8  ?

A"> 2

9 N'   P2 " )* Indexes/Keys % "  9 "2A+H +! ) D"% 5' ++8 •
:1*' M 4+ D"%    

Universal Knowledge Solutions s.a.l 187


Universal Knowledge Solutions s.a.l 188
"*' 4U+ ) D"% ;

D"%  " $ Drop Index  $   D"% 5'+ 9
N'8 ++8 •
:“,” $% ". 9 %
DROP INDEX EMPLOYEE_name_idx,EMPLOYEE_L_name_idx,

I4$7 D%+ % D"% 


)7 `% D
3$ >A+ D"% 5' ++8  1+
$ < •

Universal Knowledge Solutions s.a.l 189


    

9  M8 N+"* 0 9    !   (' > 9


)E+ ) D7 (

  8 "%  •
I"  *   3$ =    ! '  ) S

I"  )* S "+ )+ 9


98 ) 8A 8

 ?  U 8A W     :  •

'( M 4+ 9


@+   !   3$ )E+ F   0 )%- S 9 ? ; 7   •
 )   !  : -+ "+ ) 8  !    9 N'  9
98  1%+ ; 7 9 T+
.=+ 
=  9 7 R )*

9  M8 N+"* 0 9    !   (' > 9


)E+ ) D7 (

  8 "%  •
I"  *   3$ =    ! '  ) S

"  )* S "+ )+ 9


98 ) 8A 8

 ?  U 8A W     :  •
(l I1) 1 ! 3 
I 5 L 5 9   D F  98 8 D8 
“O” 9 = . %  :    M8*
"'"    Z R "8'"   R* M   3$ D+ 9   F  9 L
;
F  9
98 8
I-+ 3:    : ;
9 ( U male 3$  $ “m”   98 3 

'( M 4+ 9


@+   !   3$ )E+ F   0 )%- S 9 ? ; 7   •
 )   !  : -+ "+ ) 8  !    9 N'  9
98  1%+ ; 7 9 T+
I=+ 
=  9 7 R )*

I 2?$  ? ?8   8 9. )  ? R   % 8 3$  @2A  9 B8+ •

$ = A (M8


 "(
L
4 
     8 9.+ 9
XL
-+ " 9X 98 •
 ? 3$ ?* 9Z B8+ ++
: ` ! 
+GB   2:    9 3 
L( &) 9   8
. 2?$  ! 
! 9 "  98 )

Universal Knowledge Solutions s.a.l 190


     

)*   8 +


5 + 98 F      8 + 3$   8 J ? % 8  •
:T+
MM
: 8 o
 ? `   
` +8: 3$ A 8     ? 9   "% 9  8 
I  N' )* NULLs U%
 ?      +
   9  8 + 3$ =    8 9. 
I   !  5/  
1h A   3: *.0 "    
U%

:9 8 8 o


I"+  C
8 )E+  F  "+ 9 *   
*8 98 9
9 8 8 "% 4g$
`%  5/  
 * 5G    9 9 8 8 + 3$ =    8 9. 
I)7

:) 8 o
  )*  E C
F  9
G
9. F   %$    9   $?  ? 9.  9
) 8 "% 4g$
IL
  )* (   )*   N$  E 3: . C S   
`%/)7 `% ! 5/     9 ) 8 + 3$ =    8 9. 
I) 

Universal Knowledge Solutions s.a.l 191


    L4 L<"

8  )    8 ( 9 


9 +  9 "% + 98 ':   8 J ? J2 5$  •
:)20  
:)    8 o
! 9.   8 9.   )* 2?$  ? ?  ?   9 )    8 G
I 
! < "!a " : " 3: *.0 = +? "  "" J$ 4
 .*7 )( ?  &'( 
I 

:)20   8 o


9. J ?   )* J  L 3$ B ` ? +GB   20   9 )20   8 G
I  8
98 G J% G * ' 8
 +8: @  "+
$ < = *.: = 2 a 9
98 "+
8 = ? M8
?  &'( 
I)    8  9 &;:

4

:)( T+
G   ? 5 + 98   ! 8 9.   7 ?   ?  •
. 2?$  ?   A  G% A )  `% )7 `%
Comment [H1]: Primary Key, Foreign
Key, Unique, Check, Default.


RE8 "% + 98 )   ! )* "'  RU
"+
3$ 2?$  ?  98 1+
$ < •
. ?8

. %  ? N$ 9 ! 8 P2  @2A )* ++ •

Universal Knowledge Solutions s.a.l 192


- 6  M4

I   )* 7 8   9.  O 4$> 


9 8 8 J ? 9. )7 `%   •

`% 9  $   X 7 


–  )* A 8   8 )*  )
`% 9 M87 @  •
I" *   8 @ 
a
 NULLs U%  ? @ 
a
)7

I 7 
 N' 3$ * C ?+ D"* ;A+: X)2?$ 8AX     )* = 
= % 5]+  + •

  O 4$> 
98  !
 k  N' 98 9
)7 `% 9 G         + G.% •
IX  $ N$ 9
$ <X)7 `% 9  $  9 M8
   9
9

I   )* 7 8   9.  O 4$> 


9 8 8 J ? 9. )7 `%   •

`% 9  $   X 7 


–  )* A 8   8 )*  )
`% 9 M87 @  •
I" *   8 @ 
a
 NULLs U%  ? @ 
a
)7

I 7 
 N' 3$ * C ?+ D"* ;A+: X)2?$ 8AX     )* = 
= % 5]+  + •

  O 4$> 
98  !
 k  N' 98 9
)7 `% 9 G         + G.% •
IX  $ N$ 9
$ <X)7 `% 9  $  9 M8
   9
9

1+]8 ? "  )    ! )* )$? 8 F  +8: 9 )7 `% 5  ;+M
&+ )E+ •
 $ M 9 %-   )* " +8"  "47 " "7 " 
  .%  M   3$* `% N'
F   '(  +8 47   D%+ 1  5-  :  
9.+ 9
98  1+
': )7 `% 9
+!  ': =  .*
= A X)7 `% 3$  $X 5- ! ?    ) 1 + 9 U 3$
I  N' % !7  
9  B   

:)
`%   ;A+: 9  C'  $ R )$  * •

Universal Knowledge Solutions s.a.l 193


CREATE TABLE EMPLOYEE (
EMPLOYEE_NUMBER int IDENTITY (100, 10) CONSTRAINT EMP_PK
PRIMARY KEY NOT NULL,
F_NAME varchar (64) NULL,
L_NAME varchar (64) NULL,
PHONE char (14) NULL,
DEPT smallint,
SALARY float NULL,
PHOTO image NULL
)
GO

;" "1 M4

   9 9 8 8 J ? 9. C


"$
9 )7 `%   ) RU7 D%+ % A  / •
I   )* 7 8

I  8   9. N' "  ) 7 


 3$ * D"* % A  d •

 @ 1+
 9  9 ' O NULLs U%  ?  @ 1+
)* )7 `% 9 % A 5$ •
IL
 !
8 M NULL  ? 8  F  7 *8 )* U%  ?$ 

N' = 
= % aM  )   

)*   8   9. 4U+  + p% A    •
. . * )7 `% 9
G
 3$

   9 9 8 8 J ? 9. C


"$
9 )7 `%   ) RU7 D%+ % A  / •
I   )* 7 8
I  8   9. N' "  ) 7 
 3$ * D"* % A  d •
 @ 1+
 9  9 ' O NULLs U%  ?  @ 1+
)* )7 `% 9 % A 5$ •
IL
 !
8 M NULL  ? 8  F  7 *8 )* U%  ?$ 

N' = 
= % aM  )   

)*   8   9. 4U+  + p% A    •
9 %-   )* ")0 9. !"  + 9
98 N' 3$ M . . * )7 `% 9
G
 3$
I  '( )*   8   9.+ F  p% A

Universal Knowledge Solutions s.a.l 194


: O  3$ p% A 7 
3$ )
`%   ;A+: 9  C'  $ R )$  * •

CREATE TABLE EMPLOYEE (


EMPLOYEE_NUMBER int IDENTITY (100, 10) CONSTRAINT EMP_PK
PRIMARY KEY NOT NULL,
F_NAME varchar (64) NULL,
L_NAME varchar (64) NULL,
PHONE char (14) NULL,
SOCIAL_NUMBER int CONSTRAINT EMP_SOCIAL_NUMBER_UNQ
UNIQUE NOT NULL,
DEPT smallint,
SALARY float NULL,
PHOTO image NULL
)
GO

-?" 6  M4

C S      )*  E C
F  9
G
9.  9 ) 8 J ? 9. )  `%  / •
IL
  )* (   )*   N$  E 3: .

1%+   )* 
 O   )*     )*   ! 9 )  `%/)7 `% !  •
I)
`% 9 = G  )  `% 9 G C'   9
)E+ F 

IM •

:)A ) 8  •


)  E 4?   &'( @  ? V+ )* *  "+
': SQL Server 2000 3$    &'( 
.9   3: "   ?+ 47   3$ F 

C S      )*  E C
F  9
G
9.  9 ) 8 J ? 9. )  `%  / •
IL
  )* (   )*   N$  E 3: .

1%+   )* 
 O   )*     )*   ! 9 )  `%/)7 `% !  •
I)
`% 9 = G  )  `% 9 G C'   9
)E+ F 

Universal Knowledge Solutions s.a.l 195


  '( 98 F  5- 1 : )+ C' ? ! 9  $ 9 %-   )* DEPT   + •
IDepartment !7   )7 `%  ) `% 9
Dept   ! 9
8>   ;: 3: . C S 9 %-   )*  C
  
*.0  C
9:

;: SQL Server <+ F  9 * 9  &'(   $ 9
$ < !7   )*  
9   8 )* $ F  3: (  C S 9
98 ) ) 2 `% 3$ C ) #   
5'
I)  `%   "

:9 %-   3: )  `% *.: % 8 9  C'  $ R )$  * •

ALTER TABLE EMPLOYEE


ADD CONSTRAINT employee_dept_fk
FOREIGN KEY (DEPT)
REFERENCES DEPT(DEPARTMENT_NUMBER)

:)A ) 8 •


 E 4?   &'( @  ? V+ )* *  "+
': SQL Server 2000 3$    &'(  X
I9   3: "   ?+ 47   3$ F  )

 " N' ON UPDATE  ON DELETE (      ;A+:  $ 3: 9   9  *.:  X
I  N' 
  + 
47   9 
5' + : 9  "!: 98 F  N$    


;A+: ;+M
9 ? 9  9 8  CASCADE  $ *.H )A ) 8   %  X
I    

 1 * 5- ? )  M  R%+ " $ M R 9 +    &'( 9 RE "%+ )8 X
G  
5- 1 * 98 9
98 ! 8 9
N' ?  5-   3: ?   9 ) `%/)
`% !
I5- 500 1 * 20 ? 9
9Z R%+ .9 %-
–   *8 J  3: C S 5-   3$ ON UPDATE  $  )A ) 8  5  9:
!  E +!  C
5-   )* "  7 *8 3$ X"?"   C
47   )* "M   )*
`% M C'X dept   ! @ 5-   )* 500 , 7 *8  E   ) 25 3: 20 9 ?
I20 9 
=  25 X) 

Universal Knowledge Solutions s.a.l 196


*8 J  3: (  C S 5-   3$ ON DELETE  $  )A ) 8  5  9:
' ? 5' +!  C
5-   )* "  7 *8 3$ X47   )* "M   )*–  
I5-   )* 500 , 7 *8 5'   ) ?   9 20 !

   )* U "+
3: *.0 $% )* U )A ) 8   J M 9 -+ 8 X
I" :  + "  @+  a!   N$ 9 U 3$ 98

:9 %-   3: )A ) 8  *.: % 8 9  C'  $ R )$  * X

ALTER TABLE EMPLOYEE


ADD CONSTRAINT employee_dept_fk
FOREIGN KEY (DEPT)
REFERENCES DEPT(DEPARTMENT_NUMBER)

ON DELETE CASCADE
ON UPDATE CASCADE

"(+  M4

I9    )*   3: " : 98 )  ?  


9   !  / •

  
*.0 $ ' %+  )8 N' false  ? C 9
)E+  +   1+
3$   ! 9 h/ •
I    3$

)    9* =M 5" !  )* 8 =+  


= 8A   ' > 9
9.    !   9
98 •
:)$ 8 !
 M ‘-’ M !
MM 8A ' > 9
   )* " :   )  ? 9
9.+ 9
++8
[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9]

.M •

I9    )*   3: " : 98 )  ?  


9   !  / •

  
*.0 $ ' %+  )8 N' false  ? C 9
)E+  +   1+
3$   ! 9 h/ •
I    3$

Universal Knowledge Solutions s.a.l 197


)    9* =M 5" !  )* 8 =+  
= 8A   ' > 9
9.    !   9
98 •
:)$ 8 !
 M ‘-’ M !
MM 8A ' > 9
   )* " :   )  ? 9
9.+ 9
++8
[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9]

:9    3:   ! *.: % 8 9  C'  $ R )$  * •

CREATE TABLE inventory


(
item_code char(4) NOT NULL
CONSTRAINT inventory_item_code_CHK
CHECK (item_code LIKE ‘[0-9] [0-9] [0-9] [0-9]’),

high_volume int NOT NULL


CONSTRAINT inventory_high_volume_CHK
CHECK (high_volume > 0),

low_volume int NOT NULL


CONSTRAINT inventory_low_volume_CHK
CHECK (low_volume > 0),

CONSTRAINT inventory_high_low_CHK
CHECK (high_volume >= low_volume and high_volume - low_volume <
1000),
)

Enterprise Manager ! $)( 4 71 #

)"* Enterprise Manager  7  9 (SA+: 98 ) L 7  $ 9 = M8  ? *.: $ 5$   •
I "  " B 
 7 )*       " 3:    9    3$ .%  ?  H ?+ 9
++8 •
IEnterprise Manager

Universal Knowledge Solutions s.a.l 198


E.+ M )7 `% 98 9> 4U+ ) 7 
     9 A 8A )
`% *.: ++8 •
I“Set Primary Key” `% +?
3$

Universal Knowledge Solutions s.a.l 199


:  P2 " )* % “Indexes/keys” "  9 )7 `% *.: =.
++8 •

5' 
  ! *.:   ? 8 ) " 3: ?++ 9
“Manage Constraints”  ?  : B 9 ++8 •
I=? .%  !

Universal Knowledge Solutions s.a.l 200


Universal Knowledge Solutions s.a.l 201
I  P2 B  9 " &'( 3:  N'8 ++8

V  98 9
 C' ) M )* 8 )   
3$   ! 5  ?+ 9
" &'( )* < +
:  V  9 E
 

Universal Knowledge Solutions s.a.l 202


   @ % 5  " 9 ++8 ) " R+ 9
“Manage Relationships” B  9 ++8 •
:  P2 B  9 " &'( 3:  N'8 ++8 1+
$ <

Universal Knowledge Solutions s.a.l 203


Universal Knowledge Solutions s.a.l 204
`%   )7 `%     N' 5 "     + 9
" &'(  9 ++8
)A ) 8   % 4U+ +8 ':  * + 9
=.
++8 8 ) `% /)
`% ! ) 
. 

Universal Knowledge Solutions s.a.l 205


4

,   ! "%
 F  9 1A )(   )* "+ B   9
98 )  ?   ?   •
I % -   F  9 "+ 5$  "+8
,  ,+ 
, < "  M (SA+: 
= 
 F    ! RU
9 RU 9 ?  •
I9   
:M •
: ? N$ 9  C'  $ R )$  * 5" !7 C  8A 9  ? 
CREATE RULE phon_rule AS
@phone LIKE ‘(++[0-9][0-9][0-9]) [0-9][0-9][0-9] - [0-9][0-9][0-9] [0-9][0-9][0-9]’

Universal Knowledge Solutions s.a.l 206


5," !7 Ja M 8A 9.+ 9
++8   ! )* 5" 9  ) 7 3: ? ? 
@ ) =? 1%  +! ! a+8   + < ? &'( + 9
++8 1+
$ <   ! )* +B 
I+ N' 9 =;B  ?

T-SQL   $)( 4 !"# 71 #

9
98 ;)A C
 $ &'( 9. 9
98 + G  8 CREATE RULE  $  9 ? ;A+: ++8 •
IWHERE   @  8A 48

N' N* +8: 3: *.0  " 9   +



7 < ? N$  +8:  ?  : $ 9. •
IL
" 9 

,-+ , 2:  , 8 +7 


7 < ?   $ ;0 sp_bindrule -+ 2:   •
I N' N% sp_unbindrule

:M •
: ? ;A+: 
= 
)E+
CREATE RULE color_rule AS
@color IN (’red’, ‘blue’, ‘green’, ‘black’)

:+7 
7 < " ++8 ? ;A+: $ 9 ;"+ 
:  < 
sp_bindrule color_rule, ‘myTable.colorColumn’
:5G   + < 
sp_bindrule color_rule, color
: N*
sp_unbindrule color

Universal Knowledge Solutions s.a.l 207


Enterprise Manager ! $)( 4 !"# 71 #

," 2! 9 “New Rule”     9 Enterprise Manager  7  $  9 ? ;A+: ++8 •
I +   ! )* Rules $$  

+ 9
 ? 5    " a+ 4$ F  "   987 )*  ? 2 ?+ 9
)E+ •
:"A ?  9 
= 8

Universal Knowledge Solutions s.a.l 208


8   B7  9 N' +7 
7 <  ?   $ ;H ?+ 9
N'  ++8 •
I4+  <    " 
   *8 R  " "- F  "+

Universal Knowledge Solutions s.a.l 209


:( 
<    *G     +
*8 R  " "- 8 •

Universal Knowledge Solutions s.a.l 210


Defaults <4 $4

 ! 3: C S 9
98 ;)A 98 9
98 )( )2?$ 8A   )* "+ B     !  2?$  ?   •
I .  ! 
9  < 
 !8 1M
IRU7 "  9
98 ) 2?$  ? G 2?$  ?  2?$  ? 9 9+ N+( •
IALTER TABLE 
CREATE  $ " 98 ':   ?   3: G 2?$  ? 1A •
:5-   )* phone $ 2?$  ! ;A+: 9   $ )$  * R+ •

ALTER TABLE employee ADD


CONSTRAINT emp_phone_default DEFALT ‘   U’ FOR phone

: ? 2?$  ? 5'     )$  * •


ALTER TABLE employee DROP CONSTRAINT emp_phone_default

Universal Knowledge Solutions s.a.l 211


,"% 3,: 4,!
4$> RU7 "  9
98 ) 2?$  ? C
 2?$  ? 9  Z T+ ;+  •
I ?
I  ! )* RE8 2?$  ? ;A+: 
= 
 o
I5  J   + 
 " = ?  o

: 2?$  ? 9 T+ '( 9 M R )$  *


CREATE DEFAULT phone_def AS ‘   U’

Sp_bindedefault phone_def, ‘EMPLOYEE.PHONE’

Enterprise Manager ! $)( <4 $4 71 #

,2! 9 “New Default”     9 Enterprise Manager  7  $  9 2?$  ? ;A+: ++8 •
I +   ! )* Defaults $$   "

+ 9
 2?$  ? 5    " a+ 4$ F  "   987 )*  ? 2 ?+ 9
)E+ •
:" ! 2?$  ?  9 
= 8

Universal Knowledge Solutions s.a.l 212


B7 , 9, N,' ,+7 
,7 <  2?$  ?   $ ;H ?+ 9
N'  ++8 •
:4+  <    " 
   *8 R  " "- F  "+ 8  

:( 
<    *G     +
*8 R  " "- 8 •

Universal Knowledge Solutions s.a.l 213


Universal Knowledge Solutions s.a.l 214
A C  A < %

: 
   
.  T )  9 B 

:   
.J* Glossary 5$ -+

:
,"'+ , $ N$ T+
 % ++ " : )  9 B  $  ? ++8 5 8 $ &'( )* n!++
," :   T $  ? ++8 5 8 .
$ &'( )* n!++ 8 " $ JhK 9
98 ) RU7
."?  98 5 8 "'+ $ N$ T+
.
++

:  


:)$  3$ % '( )* 4 5
c)  9 B  $ )(  •
c)  9 B  $ ?+ ' •
  T )  9 B   )(  •
:"+
 )  9 B   $ +

  ! 8 )  9 B  o
  ! 9 ;B7 )  9 B  o
%$  %$$ )  9 B  o
!+ 
r  5$ )  9 B  o
:)* Y'+ •
 )* Y'+ o
Bulk_logged Recovery Y'+ o
  )* Y'+ o
:)  9 B  B"

  2A o
P!7 B"
o
 B"
o

Universal Knowledge Solutions s.a.l 215


9 B  2  •
9 B  2 2 •
T-SQL   )  9 B  B"
;A+: % 8 •
Enterprise Manager  7   )  9 B  B"
;A+: % 8 •
cEnterprise Manager  7   
T-SQL     ! 9   + ;A+: C 5 8 •
cEnterprise Manager  7   
T-SQL   !+ 
r  5$ 9   + ;A+: C 5 8 •
c-+   ! 9   + ;A+: C 5 8 •
  ! T •
cEnterprise Manager  7   
T-SQL     ! T C 5 8 •
cEnterprise Manager  7   
T-SQL   !+ 
r  5$ T C 5 8 •



I  !  H  " (


L : 9 )  9 B  $  •

9 , ('
)E+    ! TA C7 )7 `% )(   T )  9 B  $  •
I  $  *8 )* 

] ,  12  9 =  "$?+ 98 F    ? 8 


)2B Vk+ $ "+> )  9 B  $ 5hK •
I +
RU7 88

L   +    9 ?  3:   ! : $ "+>   T $ 5hK •
. O 98 3:   ! ?+   T $   = .
98 .= ? (SA+:

‫ واﺱ&)ﺝع ت‬6J&‫ی اﺡ‬: (‫ ﺥ‬L+

I  T )  9 B  $ )* `+ `%  2  <. M/ •

)  9 B   $ ;: 


9 "  )E+ ) J2 *8    
9 )*8 ! '
)E+ •
I  ! " : ;$ )E+ )   T  2: *8 J    )E+ 8

Universal Knowledge Solutions s.a.l 216


), F,8 & 9+2   !   9S   T )  9B $ G*   9: •
I? )* F  9
98

I)  9B  a " M> 9


98 )  3$ B 8 4 •

9B,  V,+  ,: 9, ;"+   9  ('


  !   3$ )E+ ) ?+ 9  N+( •
.) 

I 2   )* (   T )  9 B  $ )* `+ `% 9: •
)  9 B   $ ;: 
9 "  )E+ ) J2 *8    
9 )*8 ! '
)E+ •
I  ! " : ;$ )E+ )   T  2: *8 J    )E+ 8
), F,8 & 9+2   !   9S   T )  9B $ G*   9: •
I? )* F  9
98
:)(  G  )  9B  a M> 9
98 •
I(  ! 
)   !  o
I( 8A 3$ 
= $ +E  A 
P!) )  9 B  $   2 o
I(    3$ T7 
8 EA "+

=    3 ;x   9)   ! * o
I( 8A C !+  $ 
)
 )     % 8 o
.(  T $ "$ ) G  )( ) T $ L  o

T, ),  9 B   ' %+


+ 9
++8 )  9B  $ $  $ $ 9 ;"+  •
I 9  " * + ) 2  ' > "+ )  

  9B  aM 2  )* !+    )  9B  $ ;: C. 9 D  M   3$* •
I  )* $ 2  C' -+8 A 8A !+  2  )* ;0 N' (
B 9  )*

:  !  3$ ) S `+ 9


C. 9  8 3$ •
c  ? = + =  N%+  ( o
:)+M S 3: ?++ + 0 +8 ':
  ;A+: + )"+   ! 9   V+ 9 B  J$  *   ?  8 N" 9
? ( o
c   V+ 3$  $ N$  ?$ 2
 ': ! C
)* " ++8 1+
   ! 9   + N$+ ++> I"E+ =?$ )E+ *  8>
I"2A+H ?+   +
   9

Universal Knowledge Solutions s.a.l 217


3,$ ,( 8 4   XF8 4+ B   '  (
 "  (
N  )X S - ?
IF8 " " B ( X ‚  3:– 9. F   8A   T )  9 B   $ ;:

9,   !   98 9


)%8 * J M . ( =  = ( =
N 9
  !   3$ )E+
('  )E+ ) ;0 *8 JaM 9
=.
1 $ )E+  4*   T )  9 B   $ ;:
B: )* N$   !   98  +  9
  !    !7 ;A  ':   T
. S )*  N 9
 


K-+ ,   > 

)* (0 5$8/ ?* 1? 3$ ?$  S <  )* =' 98 9
  !   3$ )E+ •
M8 T! +  M8   !    $ )  9 B   $  ? T.

c)  9 B  $ ?+ ' •


)  7 *8 9   N$ 3$ -% (
+( B S R 1 $ ? C' D7    G 
" J  9
98

 ! !> $8A T!  A 1  T  B( 3$ @+   !   98 9
)E+ •
J0 3$ 2 9 9 N' 98  9: 2  9 98

98 )*   V+ -% ? 9


  !   3$ 4 ':   3$ -%    5$  •
" :  +   N$ T <  F  9O

Ja$  * (0 9
F  1? 3$ ?$  S <  )* =' 98 9
  !   3$ )E+ •
M8 T! +  M8   !   5$8 !  $ )  9 B   $  ? T.

c)  9 B  $ ?+ ' :) S =2 +  9
98 •
1 $ ? C' D7    G K ' "    ': S R D$j%K 9
98 9 1+
=? + G 
T . 9 + ; " J K 9
98 )  7 *8 9   N$ 3$ -% (
+( B S N$
%$  F8 
 * 
M  8 L
8A 9 + 
  ;
9 + 
  R
I( U 
J2 4A+ 
+. % 
BB8

Universal Knowledge Solutions s.a.l 218


 ! !> $8A T!  A 1  T  B( 3$ @+   !   98 9
)E+ •
IJ0 3$ 2 9 9 N' 98  9: 2  9 98

98 )*   V+ -% ? 9


  !   3$ 4 ':   3$ -%    5$  •
[ S 9 )  -% )* " 98 ) 4 7 5$  " :  +   N$ T <  F  9O
S '  9
98 
 8A T  )* "-% P!
3$   V+ R )%8 9
98 F  L
3:
-%  Z R ? 9
98  F8 9 F  9
98  =  O ;[ + )*   -% + 9   L

.<! 9 M8
3$   V+ N$ 8 +8: 3: *.0 '( L
[ +  )*   N$

-+ , ‫أط ت‬


M  !   - ,M

I)  9 B   $ 9 %$  T+



SQL Server 2000  •

:  ! 8 )  9 B  •


, ! , 7 )  9 B  $ ;"+ E "2A+: '+   ! 9  ;A+H $ &'( ? o
I' %+

,   3$  E F  @ 8 + $   ! 8 )  9 B  $  o
I)  9 B  $  

$ JE 9
98 9 1+
$ < (SA+:  ) + < ?a   ! 3? 9
98 5 8 98 o
c $7   ! 3$   E 9
  8   ! R )*  G  )  9 B 
:)( )  9 B   $ 9 %$  T+

SQL Server 2000  •

:  ! 8 )  9 B  o


F  ' %+ !  7 )  9 B  $ ;"+ E "2A+: '+   ! 9  ;A+H $ &'( ?
, $ N'  A  )  V+ $    $ 1 9 ? )$$ 
r  ! ;A+H SQL Server 2000 ?
I  ! V+
, $      3$  E F  @ 8 + $   ! 8 )  9 B  $ 
I)  9 B 

Universal Knowledge Solutions s.a.l 219


N7"4 !""
+:5;)
.( E ?  RE !+ 
r  )* "8 C $  8  ! 9  )$$ 
r  !)

9 B  $ JE 9


98 9 1+
$ < (SA+:  ) + < ?a   ! 3? 9
98 5 8 98
c $7   ! 3$   E 9
  8   ! R )*  G  ) 
V,+ $ 1 ! ;+M
 )  9 B  $   + )$$ 
r  ! ;A+H ? SQL Server 9H* =? +A
8
X ,8X !+  )* $7   ! 3$ F  )  E 9 B  1%+ ! )* ?   !
   ;B  N'  !+  3:  )$$ 
r  ! *.H ? V+ $ 9 ;"+ 

r , 9  ;B '( M F   >A+   9B  $8 1$! C' )$$ ! )$$ 
r  !  O 9 
I)  9 B  $   ;+M
  ! 3$ 
 )  E *8
,+ ),* (SA+: L )   ?    !   C  $ T $ ;: +
;,+M
 )  E J  C  N$  7   + < J* 
r  ;B ' %+ C N'    
I)  9 B  $  
N,$ J,*  ;B   B )  9 B  $   ;+M
 ) !+   B 1+
J  -+
@,+/ ) =.
  T $ )  9 B  $ 1$ C' 9B 3$ = .
&  MS   $8
.98  !
  ! 3$ A+ " * 98 ) % )* )  9 B   $ 9 + '( ;H

-+ , ‫أط ت‬


M   !  7,? - , M

I(SA+: L 8 )  9 B  $  O 9 =   ! 9 V+ ;A+H $ &'( ?

, F    ! 8 )  9 B  $ 9 T
  ! ;B7 )  9 B  $ 
I  7 8 )  V+ $ '+   )*  E " * $ )    V+ ?*

B  &'(   .   !  3$  ! @  7 <  C 9> SQL Server "G ? )   &'( @
I  !  : -+ )* (* )E+ =  (

I  ! 8 T $ 


= 
?+ 9

B   T $  ? ! )E+

Universal Knowledge Solutions s.a.l 220


:.
9 B,  , $ ;H, +! N'  D   $    ! 8 )  9 B  $ ;H +! ++
R%+
, ,  ,! )*  A* F  9Z R%+  $ 5+ )* ) 8A   ! 9 ;B7 ) 
:    J+ 9
?%   T ?+ )8 )E+ ) = ;MM
I). D    =   "+ B   )   ! 8   T $ ;H 
= 
?+ X
I $ 5+ )* 9 M    + C
 +GB  2B   9 +  O T N'  )E+ X
,+8 )  7  3:   ? $ X(   )*–    T ' %+ N'  98 X
. $8A F  ! " $

:  ! 9 %$  ;B7 )  9 B  •


$  O 9 =   ! 9 V+ ;A+H $ &'( ? SQL Server 9 7.0  0 '+ B  &'(  j
y
I(SA+: L 8 )  9 B 

,  ! 8 )  9 B  $ 9 . T
  ! ;B7 )  9 B  $ 
I  7 8 )  V+ $ '+   )*  E " * $ )    V+ ?* C F 

&'(   .   !  3$  ! @  7 &'( <  C 9> SQL Server "G ? )   &'( @
I  !  : -+ )* (* )E+ =  ( B 

I  ! 8 T $ 


= 
?+ 9

B   T $  ? ! )E+

-+ , ‫أط ت‬


M   ?    - , M

I  .   ? )  9 B     )8 B  &'( 

IL
%$  " $ %$  
 Z $ 5$ )  9 B  $ C 9
98
I9 4$>  .   ! 9   + 3$  ?  &'(  9 ++8

Universal Knowledge Solutions s.a.l 221


,%$ , 3$ 9GB     3$   ! C  + )  9 B  )* ?  &'(   "-
IL
%$  3$   N' D"* 9 B  C 9  )*  + 

)*   T  $ ;: + !  * J$  * =   )  9 B  +
9 T+ '( (
B
.  .   !

:%$  %$$ )  9 B 


I  .   ? )  9 B     )8 B  &'( 
;: 98 ) L
%$  " $ %$  
 Z $ 5$ )  9 B  $ C 9
98
, 9> 100 GB  "+ 8 %$  9 +G8 500 GB o$  '   ? )  9 B   $
, ,$  )+M 5$   $  7 5$ V+  9
98 F  %$ N$ 9 5$ 8 3$ $ N$ ;:
I9 4$>  .   ! 9   + 3$  ?  &'(  9 ++8 ...'8(

,%$ , 3$ 9GB     3$   ! C  + )  9 B  )* ?  &'(   "-
IL
%$  3$   N' D"* 9 B   9  )*  + 

?    +8:  + ++


: ; 7 9  RU7 N'   ! )!   2A ? ?  
T, ),  9 B  ;: )E+ ': %$  
%$ Vk+  9   ? )  9 B 
9 B,  ;,: 3,:  &'( M )* >$+ 9
++8 1+
$ <   9
[ O )* ""*   3$ +B   $
I   A )* +   8 !+ 
r  5$ ) 

8 9 B  : 9  1+H* "+ ;B7 


  ! 8 )  9 B  ) $8 )* 1+H* =? + G  8
%$$ )  9 B  ?  )%8 1+
:   T .  )* ?%   T 
9   !
 * =   )  9 B  +
9 T+ '( (
B +( ?* . 5$ T  9
%$ 
I  .   ! )*   T  $ ;: + !  * J$

,( 98  3    5$ T ?+ 9


)%8  9 7 9  M8 )%* J  8 ( 
- )E+
, $ ;,: ,   ! 3$  E 9  ;H +! ! 98+ 9
98 9 ': .  5$
(S:  )  E *8 3$ C  
= G* 98 C'  5$ N$+ 9
4 ) 5$ N' )  9 B 
,: ++8   5$ T   N' ' %+   7 )  9 B  $  ? '+   ! 3$
. ?g  3:   !

Universal Knowledge Solutions s.a.l 222


-+ , ‫ أط ت‬1.9-10-11.07
M*   C ?)   - , M

N' )*    *8 5' M 


r  N' )* !+ *8 Vk+ !+ 
r  5$ )  9 B   9  •
I  * E N' XG%  d   X 5$

9 B,  , $ , ? ',+ (' %+ h  ) !+ *8   3$ C !+ 
r  5$ 9
 3$ •
,! 9, +GB   7 + T $  ? ;+M
%$ N$ T  ? ++8 )*   7 ) 
.A% 9
! " $ +8   O 3:   ! : 
9 N'  

:!+ 
r  5$ )  9 B 
N' )*    *8 5' M 
r  N' )* !+ *8 Vk+ !+ 
r  5$ )  9 B   9  •
I  * E N' XG%  d   X 5$

9 B,  , $ , ? ',+ (' %+ h  ) !+ *8   3$ C !+ 
r  5$ 9
 3$ •
,! 9, +GB   7 + T $  ? ;+M
%$ N$ T  ? ++8 )*   7 ) 
IA% 9
! " $ +8   O 3:   ! : 
9 N'  

 $ T $ ;H ?+ 9


++8 1+H* !+ 
r  5$ )  9 B  $ ;H  ? + •
I  * E X5$ N' 3$ = X

,G% , U !+ 5' )$% 5$ P!  3 !+ 


r  5 )  9 B  ;:  9
 •
, 2?$ +  $ ;: 4+ ?  &'( @ r '( )* "+ B  N )8 L
!+  0 N' 1+
.  !+$ ` 9 B   N  F  !+ 
r  5$ )*

6B&‫ذج ا‬

ISQL Server 9  0 '( 3: *.  1 SQL Server 2000 )*  )* Y'+  •
,8 + 9
1 9 < + F  SQL Server   ! 9   ! 8 )* Y'+  + 9
++8 •
)* $  ? ;+M
   )* 1 ` n" (   $ )  9 B  $  ?  9
98
I  9 ?* 8A 9
:)(  % "+ 8 `A ?+ )* Y'+ 9 T+
MM SQL Server 2000  •
 )* o

Universal Knowledge Solutions s.a.l 223


Bulk_logged Recovery o
  )* o

6B&‫ذج ا‬
M$ -EM

J$  * G  SQL Server "G ? ) L 7 )* Y'+ *8 9  !M/ M87 Y'+ (  )*  •
',( + GB 8 .?  
9   ! 9 8 ;
4 
9 B  2 A% =  +   9 ?*  
I $ T J$  * ?$ + Y'+

9 B,  , $ N',8   ! 8 )  9 B   $  8 8A  )* Y'+ ' %+  •
.!+ 
r  ) 

J$  * G  SQL Server "G ? ) L 7 )* Y'+ *8 9  !M/ M87 Y'+ (  )*  •
',( + GB 8 .?  
9   ! 9 8 ;
4 
9 B  2 A% =  +   9 ?*  
I $ T J$  * ?$ + Y'+

9 B,  , $ N',8   ! 8 )  9 B   $  8 8A  )* Y'+ ' %+  •
I!+ 
r  ) 

I  +B * )* +8 8X= – " 88   ! 9 B  :  )* Y'+  9  •

9.    ! 3$ G )  $ *8 -%  9
)E+ 4+ 8A Y'+ '( J   )8 •
ICREATE INDEX 3 
bcp  BULK INSERT  SELECT INTO 3  $ *8 N'

8A !+ 
r  5$  + $8A ) )* Y'+ 9 Y'+ '( )* ( 98 )  2   •
.  T . J$  *  !7 ( Y'+ '(  N'    *  8

Universal Knowledge Solutions s.a.l 224


6B&‫ذج ا‬
MBulk_logged RecoveryM

1,+
3: *.0   ! 8 9 B  H @  O )* Y'+ &  Bulk_logged Recovery  •
I!

r  BG  N$" F   .  $$ .*
;x 
]B

,  ,! 3,$ C 9


98 )  .  $   Bulk_logged Recovery Y'+  9  •
 .  $ N$ ' %+  <a! ; 7 9  @   +8 ?  >

6B&‫ذج ا‬
M)( -EM

),  9 B,  , $  ? 


9 1  98 C' 2  M87 Y'+ 9   )* Y'+ ] •
I  T

I)  9 B   $ ;0 )%8  ‚  3: B  X  Y'+ )*X !+ 
r  5$ 98  =  •

$ ) ?+ 3:   !  : 9. 98  F  8 )* ;:  +8: Y'+ '(   •
I  +B * )* " 3:   ! 0 Y'+ '(   9
98  8  $8A ( +

! 8 +8 ; +B  +  O T  9 2.   + 9


Y'+ '(  9 < + •
  )* Y'+   .%  N' =  +   )*  $  ? N'  )E+ F  "+ ;B 
 
I    ! - )*

3$ M8 = + " $ !+ 9  8  ;:   )   ! )*   =+ Y'+ '(  •
 $ + " * 98 F  )* Y'+ 9 T+ '( ?  -+7  )   ! -   N'
,! 9 T+ '( 3$ )  9 B   $ ;: 
9 ? Y'+  + 9
. D  .% +  
. 

Universal Knowledge Solutions s.a.l 225


-+ , ‫ة‬:‫أﺝ‬

I >A+   Vd+K 9 B  2 ;)A 


4+ 98 9 > )  9 B  B"
  •

I !S 2  )  9 B  B"


9 
= 8 SQL Server 2000  7   •

  VK+ 9 B  )* G  9 M87 "  98 ;A+0 ? B"


9 2  )  9 B  B"
 •
I >A+

G      + ;A+: ;+M


5hK B"
9 X" 9   8– !S )  9 B  B"
 •
I?* 

.2 9 & U 3$ 


 A 3$
5$ 3$ : >A+   VK+ 9 B  98 •

-+ , !,>?


M  <"1M

,  Vd+ 9 B  2 ;)A 


4+ 98 9 > ( )  9 B  B"
  9 5 " 9
+ G  •
I >A+

I2A 3:   V+ 9 B    2A   •

98  T% 3$ !G G    V+ G   9


98 8 ]  < = A B"7 &'(  9
)E+ •
I; 7 9  3: C S 9

$! "+
   ! + < ( s
< $?* <p$ $! ?+$ $! +O "+8   2A < •
IL 7 .7 
! 9 =  1+O 98
)* "+ B  98 * ?+$

, ," $ J$ * 2 " X2A 3$ 9 B   X )  9 B  %$  SQL Server  •
 Windows NT V,+  SQL Server V,+ 9, ,8 NA 9
98 ) Microsoft Tape Format (MTF)
I9 B   A D%+ Windows 2000

Universal Knowledge Solutions s.a.l 226


.2A 3$ )  9 B   $   ?+ 9
SQL Server  7  9 ++8 •

-+ , !,>?


M"  !,>?M

',( 9,8 9
)E  1+
$ < )a$ 4$ P? 3$  a$ )* =  9hB / 5$ 9 P!7 B"
9G8 •
I $7   9 B    P? 1%+ ( P?

T+ '( <  ;+M


9 ' 98+ 9
)E+ ++8  !M  J$  * 9  P!7 B"
< •
9, , M8 3,: C S 9
98 '( P? D%+ 3$ = $ "+ B   g VK+ 9
': )  9 B  B"
9
c47 9 4 $8>   %+ 
9. 9d* 8A

:M •
 ,  P! 3$ "+ B   F  15 MB " o$   ? )  9 B  $  ?$ )$   ;: 
)*  +M 47,241 88 N$ $ !E ! 10Mbps o$ ?+  Ethernet 8A  9 1 :    O
I)$ P? D%+ 3$ (;: G   + +M 4,766 $ N$ !E 9 

-+ , !,>?


M"1 $ "4 M

c A 
P?   .*
"
:) S 9Z `+ •
I  ! 9   V+ 9 B  
9 2A   = $? o

J$ 2  < 1+
: P?   9 =+
M8
   V+ 9 B   A   9
9 U 3$ o
I  T 
)  9 B $ ;x  1  9 + ;

,  ,%$8 , ,   V,+ 9 B,  P!7 ?    9 G  ) 7 2  +8 o
P!7 9
$8A 9 )++ B+  ++8 8
!M    8  ' P!
=  * 1+
:P!#
."'  X?+ $?  U–

c A 
P?   .*
"
:) S 9Z `+ •

I  ! 9   V+ 9 B  


9 2A   = $? o

Universal Knowledge Solutions s.a.l 227


J$ 2  < 1+
: P?   9 =+
M8
   V+ 9 B   A   9
9 U 3$ o
9, , B 4$ 2A 9
3: *.0 '(   T 
)  9 B $ ;x  1  9 + ;
I  T 
)  9 B  $ 4+  A   J$  * N' "   3 ;0

8A,–    V+ 9 B  P!7 ?    9 G  ) 7 2  +8 ). )* o
,  ,! 9, F +  +  B $8A &'( 9
$ < ! N' )* P!#  %$8 XA
, ++8 87 !M    8  ' P!7 *  B )+8  < 1+
:   .
I"'  X?+ $?  U– P!7 9
$8A 9 )++ B+

:`! •
3,$ ),  9 B  ?  P!7 3$ )  9 B  ?  9 
f 8 9 %  ?  <a+ 9
++8
,++8 $ &'( 9 ;"+  ) P? 3$ $ )  9 B  $ ;H 3
 8 ?+ F  2A
<  8A  
= $ M8

 A 3:  >A+   + N$ V+
+ 9
++8 F     3: ?+
1+   C
 * 1$ 9 1*? :  9
. D  ': SQL Server  7 9 ? 8A  $ &'( 9
$
.37   )* (SA+  ) P? 3$ +GB  + 9 

: - •
),* F,M 5  4$ )( Named Pipe Devices  5K )  9 B  B"> SQL Server 2000 + B
.9   A 3$   9 )  9 B  $ ;H ?+  + =   K "+
8 )  9 B  $

-+ , !,>?


M! !,>?M

 B"
G  3$ )  9 B   $ ;: +8: SQL Server    .   !  $  " •
I % )  9 B  $  =  1 : A/  '(


),  9 B,  9B 9  M8 B + 9
%$  B"
3$ )  9 B  ?  T  9 < + •
I  9
[ O )* B"
G  3$  $ N$ ;:  F    T

2, T+ F  9 $M <! *8 3$ B"7 98 9


% )  9 B  ?    + )E+ •
IL
)  9 B   $ < 5$ / YB ;: )E+  1+
3: *.0 9 B $  

Universal Knowledge Solutions s.a.l 228


@, ," ! L, 7 ;B,7 *8 . ?%*  %   +  ;B

2 " + •
.  $!  U " 

 B"
G  3$ )  9 B   $ ;: +8: SQL Server    .   !  $  " •
I % )  9 B  $  =  1 : A/  '(


),  9 B,  9B 9  M8 B + 9
%$  B"
3$ )  9 B  ?  T  9 < + •
I  9
[ O )* B"
G  3$  $ N$ ;:  F    T

2, T+ F  9 $M <! *8 3$ B"7 98 9


% )  9 B  ?    + )E+ •
IL
)  9 B   $ < 5$ / YB ;: )E+  1+
3: *.0 9 B $  

   + 9]8K  9 ;B8 &   % )  9 B  $ )*  B"    9
 •

9 L
G   B" N'   98  8  + N$ +]8 ;B7 ? 9 9 &  1  98 
I ? 1  5'  9 12 " :    )  9 B   $ ;:

@, ," ! L, 7 ;B,7 *8 . ?%*  %   +  ;B

2 " + •
I  $!  U " 

I %   +  9 =;B  !S 


2  )  9 B  B"
9 
= 8 98 9
98 •

: 2 B"
G  3: )  V+ $ ;: 9 /   R )$  * •

BACKUP DATABASE databaseName TO backup1, backup2, backup3

, <) *<  ?

9 B,  , $ ,+]8 3,$  $   $ 9 " , <) *<"  " , <)  ? " ]
I  B" ! 9   2 *8 9 9 B  2 2 ] F  ) 
:.
,A
   &  4a$ "+ B" 8 2A B"

9 +G8 )  9 B   +  1+
R%+
I9 B  2 $2 9 X7 B" ! 9  X   A7 *8 ] .   + 8 )8 L

Universal Knowledge Solutions s.a.l 229


.( <)  +]8 ? 3$ J$ 8 9 B  2 $2 +G8 9 9G8 
3$ -)) )  J$
I , <)  ?  =  9 B  2 2 *8 3$ J$

. A 20 9 J M )* 9 B  2  98 )

T-SQL $)( -+ , !,>? 71 #

I2 )  9 B  B" ;A+0 sp_addumpdevice() -+ 2:   ++8 •

:" ? 20 9    R )$  * •


Sp_addumpdevice ‘devType’, ‘logicalName’, ‘physical_name’

‫ ز‬6/#‫ ا‬L‫ا<ﺱ‬ ‫ ز‬67‫ی‬:?‫ ا‬L‫ا<ﺱ‬


‫ از‬Y ‫ م‬# ‫ ا]ي‬6‫ ا‬+‫وه‬ ‫ر‬0#‫ ا‬V ‫رة‬0@V +‫وه‬
62‫ أن ^ﺥ] أ ا‬- ‫ز‬0T&‫ ه]ا ا‬K‫رة إ‬0)` ‫ز‬0T&‫]ا ا‬T %RU‫ا‬
0‫ا‬
‘disk’ ‘tape’ ‘pipe’

:& 1  < P! ;A+: R M )$  * •


Exec Sp_addumpdevice ‘disk’, ‘bigDB_backup’, ‘E:\myBackups\bigDB_backup_01-05-06.bak’

:& 1  <  A ;A+: R M )$  * •


Exec Sp_addumpdevice ‘tape’, ‘bigDB_backup_tape’, ‘\\.\tape0’

:&  < !S P! ;A+0 1  98 C'   R M )$  * •
BACKUP DATABASE databaseName TO DISK = ‘D:\myBackups\temp_dev.bak’

3,$ + )X   + 5$  ;+ ?+ 9


1!S )  9 B  B"
   9 ++8 •
. >A+   +  ")+B  "   9  N'   .)8 + 8A X"2+

Universal Knowledge Solutions s.a.l 230


3: 20 &'(    .2 )  9 B  B" ;A+0 sp_addumpdevice() -+ 2:   ++8 •
ISQL Server 7.0  0 

:" ? 20 9    R )$  * •


Sp_addumpdevice ‘devType’, ‘logicalName’, ‘physical_name’

‫ ز‬6/#‫ ا‬L‫ا<ﺱ‬ ‫ ز‬67‫ی‬:?‫ ا‬L‫ا<ﺱ‬


‫ از‬Y ‫ م‬# ‫ ا]ي‬6‫ ا‬+‫وه‬ ‫ر‬0#‫ ا‬V ‫رة‬0@V +‫وه‬
62‫ أن ^ﺥ] أ ا‬- ‫ز‬0T&‫ ه]ا ا‬K‫رة إ‬0)` ‫ز‬0T&‫]ا ا‬T %RU‫ا‬
0‫ا‬
‘disk’ ‘tape’ ‘pipe’

:& 1  < P! ;A+: R M )$  * •


Exec Sp_addumpdevice ‘disk’, ‘bigDB_backup’, ‘E:\myBackups\bigDB_backup_01-05-
06.bak’

:& 1  <  A ;A+: R M )$  * •


Exec Sp_addumpdevice ‘tape’, ‘bigDB_backup_tape’, ‘\\.\tape0’

: - •
N'  9  )* sp_addumpdevice() 20   P? 3$ 2 B % )  9 B  B" %$ ;A+:  
IB" N'   " *  G  
 = A
.37 $ 1   3 B" N' )2 B *  +:   N'8

:&  < !S P! ;A+0 1  98 C'   R M )$  * •
BACKUP DATABASE databaseName TO DISK = ‘D:\myBackups\temp_dev.bak’

3,$ + )X   + 5$  ;+ ?+ 9


1!S )  9 B  B"
   9 ++8 •
! 3$ =   $ N' >A+   +  ")+B  "   9  N'   .)8 + 8A X"2+
.  5$ >A+  + d   9.+ )8 N'8 )  9 B  $ 1 *  C'
:) 8A X    + 9  C'X >A+  5$  ' >
dbname_db_YYMMDDHHMM.bak

Universal Knowledge Solutions s.a.l 231


Enterprise Manager ! $)( -+ , !,>? 71 #

I  $"   "  9   V+ B"


;A+0 Enterprise Manager  7   ++8

, + N,' , Enterprise Manager  7 A )* “Management” ?  9 ? "  ? < +
9, < ,+ ),  " "- F  “Backup” +? #   " 2! 9 “New Backup Device”
IB" N' )2 B %  3: *.0 12A+H ?+ C' B"$ )?+  + 9
"

X A 1+
3$ B" 5  4U+ +8  )*–  A   + @  k + 9
= .
? " )* < +
. G  a  A = G $* *   B  &'(   98  1+
$ <

I  $"   "  9   V+ B"


;A+0 Enterprise Manager  7   ++8

, + N,' , Enterprise Manager  7 A )* “Management” ?  9 ? "  ? < +
:) 8A . " "- F  “Backup” +? #   " 2! 9 “New Backup Device”

IB" N' )2 B %  3: *.0 12A+H ?+ C' B"$ )?+  + 9
" 9 < + )
X A 1+
3$ B" 5  4U+ +8  )*–  A   + @  k  = .
? " )* -+
.G  a  A = G $* *   B  &'(   98  1+
$ <

Universal Knowledge Solutions s.a.l 232


Tools 2! 9 "Backup Database"  + 9
++8 F   O J   9 ? " 3:  =.
++8
 , ," ,2! 9 All Tasks  + M +    !    ++8 
Enterprise Manager  7 )*
3$ "?  98 ) )  9 B   $  " N'  "- "Backup Database"  + M "  
I  !

Universal Knowledge Solutions s.a.l 233


  )  9 B  B" 5    " 3: + 9
SQL Server Backup "  9 N'  ++8
ADD B 3$ E.  9 N'

Universal Knowledge Solutions s.a.l 234


Backup Device    M

:"+ F+ ) " "-   B" *.:    M

Universal Knowledge Solutions s.a.l 235


  !  ) 71 #

9,8 ), 9 B  2 B"


3: *.0 "'+ )  9 B   $ +
? @2A )* +A!+ 9

I G $% )  9 B   $ ( 
(7 ;B 3: ?++ 9
9Z   $ N$ " 
, , $  , ++8 F     V+ ;A+0 9 ?  L :  + 9
SQL Server 2000 )* < +
I "  )  9 B   $   
;A+H + @   "  9 
T-SQL  
ISQL Server  8  9 )  9 B   $ ;0    ?+ 9
N'8 ++8

T-SQL $)(   !  ) 71 #

F,  ),  9 B,  $  ? 


9  T-SQL    + 9
SQL Server 2000 )* < +
IRE N' BACKUP DATABASE  $  

:  ! 8 )  9 B  $ 9   $ G

BACKUP DATABASE database_name TO bk_dev

ab(‫ !   ا ﻥ‬6‫ا‬


"  9   #‫ ﻥ‬cU.‫ﺏ‬

Universal Knowledge Solutions s.a.l 236


:  ! 9   + ;A+H  ? 9 S    )$ % M R )$  *
BACKUP DATABASE { database_name | @database_name_var }
[ <file_or_filegroup> [,…n] ]
TO <backup_device> [,…n]
[ WITH
[ BLOCKSIZE = { blocksize | @blocksize_variable } ]
[ [ , ] DESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] DIFFERENTIAL ]
[ [ , ] EXPIREDATE={date | @date_var } | RETAINDAYS ={days | @days_var }]
[ [ , ] PASSWORD ={ password | @password_variable } ]
[ [ , ] FORMAT | NOFORMAT ]
[ [ , ] { INIT | NOINIT } ]
[ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] MEDIANAME= { media_name | @media_name_variable } ]
[ [ , ] MEDIAPASSWORD = { media_password | @media_password_variable } ]
[ [ , ] NAME= { backup_set_name | @ backup_set _name_variable } ]
[ [ , ] { NOSKIP | SKIP } ]
[ [ , ] { NOREWIND | REWIND } ]
[ [ , ] { NOUNLOAD | UNLOAD } ]
[ [ , ] RESTART]
[ [ , ] STATS [ = percentage ] ]
]
}
< backup_device > ::=
{
{ logical_backup_device_name | @ logical_backup_device_name_var }
|
{ DISK | TAPE } =
{ 'physical_backup_device_name' | @ physical_backup_device_name_var }
}
< file_or_filegroup> ::=

FILE = { logical_file_name | @ logical_file_name_var }


|
FILEGROUP = { logical_filegroup_name | @ logical_filegroup_name_var }

Universal Knowledge Solutions s.a.l 237


:J* `A

 P  
BLOCKSIZE  k '( 9
$ < ( )9 B  $8 )2 B % 
$  / C' B" 4+ 2?$  !  SQL Server 9
 C:  U
.)  9 B 
DESCRIPTION .   +  )+ 5 9 
DIFFERENTIAL )  9 B  $ 9
9  $
. 2B )  9 B  $ )( (SA+:  )
EXPIREDATE +  & + )"+ C' V  
. + N$ J* 8 & + @/   
RETAINDAYS 1+ 5$ 1+8 J expiredate , M  k (
.V  9 = .  
   F 
PASSWORD $8 B )E+ F     +$  $8 aM
.   + N$ T $  ? + N$ 
FORMAT | NOFORMAT  , ,  3: *.0 )  9 B  B" 8 :   k  '(  %
,  T . 3: C S 1+
':  k  '( <  + ' )f  )E+ 9 B 
 skip 9 
= 8  % = 2?$   k  '(  % 88  9 B  2 
  8 H ?  format G  9
$ < )$  * "+ F + )
.= .
INIT   5     )  9 B  B"  9 B   
INIT | NOINIT )*  + d   1+
3$ 1 $ noinit  
3$  $ init     )  9 B  B"
.  + 8 H  ?
MEDIADESCRIPTION .8 9 B  2  )G+ 5 9 
MEDIANAME 1+
$ <  >A+ 9 B  2  )?+  9 
. + T $  ? ;+M
 '(    
MEDIAPASSWORD 8 9 B  2   $8 aM
$  ? + N$  $8 B )E+ F 
.  N$ T
NAME . >A+ )  9 B   
NOSKIP | SKIP noskip 9
$ <  $ ( 
2A 9 + ;! )E+ 98  ': 
.N$ ;? $ ;H  C' )2?$   (

Universal Knowledge Solutions s.a.l 238


NOREWIND | REWIND . 
 A (D8 
) : )E+ 98 ':  * 
NOUNLOAD | UNLOAD . 
 A   $ N
G * )E+ 98 ':  * 
RESTART = %a! )  9 B  $  EA 0  k  '(  d 
.!   RE N' 5! ?+ 9
STATS )  V+ $ G ? D ?   + 9 
.10% C 2?$  ? 9
$ <

:%*
':   ? V+ < ?* SQL Server 2000 @  F  BACKUP  $ 9 = . DUMP  $   98
ISQL Server 7.0 )*   ! 9   + ;A+: 9 S )(  $ &'( +8

:  ! 9   + ;A+H  ? 9 S    )$ % M R )$  *
BACKUP DATABASE { database_name | @database_name_var }
[ <file_or_filegroup> [,…n] ]
TO <backup_device> [,…n]
[ WITH
[ BLOCKSIZE = { blocksize | @blocksize_variable } ]
[ [ , ] DESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] DIFFERENTIAL ]
[ [ , ] EXPIREDATE={date | @date_var } | RETAINDAYS ={days | @days_var }]
[ [ , ] PASSWORD ={ password | @password_variable } ]
[ [ , ] FORMAT | NOFORMAT ]
[ [ , ] { INIT | NOINIT } ]
[ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] MEDIANAME= { media_name | @media_name_variable } ]
[ [ , ] MEDIAPASSWORD = { media_password | @media_password_variable } ]
[ [ , ] NAME= { backup_set_name | @ backup_set _name_variable } ]
[ [ , ] { NOSKIP | SKIP } ]
[ [ , ] { NOREWIND | REWIND } ]
[ [ , ] { NOUNLOAD | UNLOAD } ]
[ [ , ] RESTART]
[ [ , ] STATS [ = percentage ] ]
]
}
< backup_device > ::=
{

Universal Knowledge Solutions s.a.l 239


{ logical_backup_device_name | @ logical_backup_device_name_var }
|
{ DISK | TAPE } =
{ 'physical_backup_device_name' | @ physical_backup_device_name_var }
}
< file_or_filegroup> ::=
{
FILE = { logical_file_name | @ logical_file_name_var }
|
FILEGROUP = { logical_filegroup_name | @ logical_filegroup_name_var }
}

:J* `A

 P  
BLOCKSIZE SQL Server 9
 C:  U  k '( 9
$ < ( )9 B  $8 )2 B % 
.)  9 B  $  / C' B" 4+ 2?$  ! 
DESCRIPTION .   +  )+ 5 9 
DIFFERENTIAL . 2B )  9 B  $ )( (SA+:  ) )  9 B  $ 9
9  $
EXPIREDATE . + N$ J* 8 & + @/    +  & + )"+ C' V  
RETAINDAYS F  1+ 5$ 1+8 J expiredate , M  k (
.V  9 = .  
  
PASSWORD  $8 B )E+ F     +$  $8 aM
.   + N$ T $  ? + N$
FORMAT | NOFORMAT 9 B      3: *.0 )  9 B  B" 8 :   k  '(  %
   T . 3: C S 1+
':  k  '( <  + ' )f  )E+
) init  skip 9 
= 8  % = 2?$   k  '(  % 88  9 B  2
  8 H ?  format G  9
$ < )$  * "+ F +
.= .
INIT   5     )  9 B  B"  9 B   
INIT | NOINIT   )  9 B  B" )*  + d   1+
3$ 1 $ noinit  
.  + 8 H  ? 3$  $ init  
MEDIADESCRIPTION .8 9 B  2  )G+ 5 9 
MEDIANAME     1+
$ <  >A+ 9 B  2  )?+  9 
. + T $  ? ;+M
 '(

Universal Knowledge Solutions s.a.l 240


MEDIAPASSWORD N$  $8 B )E+ F  8 9 B  2   $8 aM
.  N$ T $  ? +
NAME . >A+ )  9 B   
NOSKIP | SKIP ( noskip 9
$ <  $ ( 
2A 9 + ;! )E+ 98  ': 
.N$ ;? $ ;H  C' )2?$  
NOREWIND | REWIND . 
 A (D8 
) : )
NOUNLOAD | UNLOAD . 
 A   $ N G * )E+ 98 ':  * 
RESTART 5! ?+ 9 = %a! )  9 B  $  EA 0  k  '( d 
.!   RE N'
STATS )  V+ $ G ? D ?   + 9 
.10% C 2?$  ? 9
$ <

:. 

:1M
:big_db   ! 8 )  9 B  $
USE MASTER
BACKUP DATABASE big_DB TO backup_dev
WITH
NOUNLOAD,
NAME= 'BIG_DB full database backup'
DECRIPTION = 'A full database backup for BIG_DB '

:2M
: big_db   ? 2B )  9 B  $
USE MASTER
BACKUP DATABASE big_DB TO DISK 'E:\backup\myBackup.bak'
WITH DIFFERENTIAL

:3M
:9 B  B"
G  3$ big_db   ? $8 )  9 B  $
USE MASTER
BACKUP DATABASE big_DB
backup_dev1, backup_dev2, backup_dev3, backup_dev4
WITH

Universal Knowledge Solutions s.a.l 241


NAME= 'BIG_DB full backup'
DECRIPTION = 'A full database backup for BIG_DB striped to four devices '
FORMAT,
MEDIANAME = 'big_db_stip'

)* < +SQL Server 2000    + 9


T-SQL 9 B,  , $  ? 
9 
 $   F  ) BACKUP DATABASEIRE N'

:  ! 8 )  9 B  $ 9   $ G

BACKUP DATABASE database_name TO bk_dev

ab(‫ !   ا ﻥ‬6‫ا‬


"  9   #‫ ﻥ‬cU.‫ﺏ‬

Universal Knowledge Solutions s.a.l 242


Enterprise Manager ! $)(   !  ) 71 #
MBackup Wizard $)(M

9 98 ? )  9 B  $ ;0 B    3$  Enterprise Manager  7 
I"%  4U )   *8  H   !   
  " 9 ?   " 
,
 ,: +8H X  8 < = +?   "   " 9 -+ RE– ?  &'( B 
I  ! )* &' %+  F   N'   
= A )  9 B  $ ' %+ +8: N' ?  ' %+$

++8 F  JK 4 


G  )  9 B  $  ?$ Enterprise Manager  7  + 9
X$+ 8– < +
Taskpad View ," ,  , , 9 N$ )  9 B  $   " 3: + 9

= M
I a 2? 9 ‘Backup Database’  + 9
++8 Maintenance " J* 

9 " :  98 )   9  9  Wizard 3$ =    V+ ;A+:    ++8 8
@, )  " 9  ?+ M Management 2! 9 Backup Wizard    N' Tools 2? 
.)  9 B  $ P2 *8 

9 98 ? )  9 B  $ ;0 B    3$  Enterprise Manager  7 
I"%  4U )   *8  H   !   
  " 9 ?   " 
,
 ,: +8H X  8 < = +?   "   " 9 -+ RE– ?  &'( B 
I  ! )* &' %+  F   N'   
= A )  9 B  $ ' %+ +8: N' ?  ' %+$

++8 F  JK 4 


G  )  9 B  $  ?$ Enterprise Manager  7  + 9
X$+ 8– < +
Taskpad View ," ,  , , 9 N$ )  9 B  $   " 3: + 9

= M
I a 2? 9 ‘Backup Database’  + 9
++8 Maintenance " J* 

:N'  Wizard 3$ =    V+ ;A+:    ++8 8

Universal Knowledge Solutions s.a.l 243


:Management 2! 9 Backup Wizard    N'

Universal Knowledge Solutions s.a.l 244


:  " 9  ?+ M

Universal Knowledge Solutions s.a.l 245


<"+   + -% 4U+ )   !    ">

<5   +   ">

Universal Knowledge Solutions s.a.l 246


<   + T+  ">

Universal Knowledge Solutions s.a.l 247


<   + P2  )  9 B  B"  ">

<   9 B  2  5   ">

Universal Knowledge Solutions s.a.l 248


<   +   ">

Universal Knowledge Solutions s.a.l 249


Enterprise Manager ! $)(   !  ) 71 #
MSQL Server Backup >? $)(M

 9 
 7 2!  9 )  9 B  $   SQL Server Backup " 3:  ++8 •
. ? @2A )* + G  8 "%+   ?   " 2!

" &'( 9
3: *.0 (     ? )  9 B  $ ?+ 9
" &'(  9 < + •
I $ &'" J$ ) P2  *8 5  +8:  

, 9, 
 7 2!  9 )  9 B  $   SQL Server Backup " 3:  ++8
: ? @2A )* + G  8 "%+   ?   " 2!

Universal Knowledge Solutions s.a.l 250


Universal Knowledge Solutions s.a.l 251
  " &'( 9
3: *.0 (     ? )  9 B  $ ?+ 9
" &'(  9 < +
)  9 B  B" 5  3$ " 9 + 9
= .
++8 8  $ &'" J$ ) P2  *8 5  +8:
IX ? @2A )* +  8–

:1 *   + 9 B  4U+ C' )2 B %  + 9


" &'( )* ADD B 3$ E. ++8

 ) ]  3$  A 5     & E 98  1+


 P? (   )2?$ 9 B    9
$ <
I " )* 2A J$  8   :  E ++8

:1 * )  9 B  $ ' %+ + C' V    9 " N$   ?+ 9
= .
++8

Universal Knowledge Solutions s.a.l 252


SQL  8  9 " :  98 ) “Jobs” "  9 (  H +! ) X" 
X " ! < +
  " N$   ++8 1+
3: *.0 Enterprise Manager A )* 'Management' ? 9. Server
: " N$  9 "2  E

Universal Knowledge Solutions s.a.l 253


T-SQL $)( *   C ?)   ) 71 #

9 B,  ;: $  N' !+ 


r  5$ 3: (' %+  ) !+ *8 8 ? SQL Server 9
 •
I=  ( $ 5$ '" ) 

$ N$ ;: 9


G
F  ?* )* $  : )* !+ 
r  5$ 9   + ;: 9 E+  •
9 , 3,: . C S  )$7 
r  9 X1+ G   + 9 B  G  C'X 
r  ;B P! 3: C S
I1+ "*'  ) !+ 98 
r  N' )*  !+ 9 B  +8: :  9  8A ; 7

:%*
9, X , ! !+ 3$ C C'X 
r  ;B P!   )*   Ta  9 SQL Server ?
I  &'( )* 
r  ' %+  9   T 98  ) 1+   + -%  ? 9

T- ,E$ 8  $  + 9


++8 F  J G  !+ 
r  5$ )  9 B  $  ? ++8 •
I $ &'"  ?$ SQL

 ,  $ N$ 9 = M8 !+ 


r  5$ 9   + -%   T-SQL  $ 5$   •
: $ &'( 9  $ 1  98 C' )7   )$  * "%+   ! 9   + -%

Universal Knowledge Solutions s.a.l 254


BACKUP LOG my_database TO my_device

‫ !   ا‬6‫ا‬


9 B  B" 6‫ا‬
#‫ ﻥ‬B‫ ﺏ‬ab(‫ﻥ‬
0Tّ%& ‫ ﻡ‬d0‫ا‬   ) 

:!+ 
r  5$ )  9 B   $ < "  98 ) P2  *8 )$  * n!++ •
BACKUP LOG { database_name | @database_name_var }
TO <backup_device> [ ,…n ]
[ WITH
[ { NO_LOG | TRUNCATE_ONLY } ]
[ [ , ] NO_TRUNCATE ]
[ [ , ] { NORECOVERY | STANDBY = undo_file_name } ]
]
}

J* `A

 % - D%+ " = 9$M 9   9 ( 


TRUNCATE_ONLY   +  F 
!+ 
r  9 G%  U ;B P! backup log  $ < "+ C

.5$ N' )  9 B  $ ' %+ 9 ;"+ 


 ? !   ! 8 )  9 B  $ ;H =  @+
.   &'(  % < !+ 
r  5$ )  9 B  $ ;H
NO_TRUNCATE . ?  $ = 8 B  )(   &'( 
NORECOVERY $ 9 =;B +8 F  SQL Server 2000 < 9  9 B  9 ( 
 ISQL Server 7.0  0 )* !+  r  5$ T
STANDBY = undo_file_name )* r  9   + 9 B   1+H* norecovery       +
  )* )*  )* =   /  '( )* <. )*   ! N 9 
I? 8A  )
  ! N "+
: =.
?   standby   1A
.
r $ )  9 B  $  ? ;+M
?* ;? <. )* 

Universal Knowledge Solutions s.a.l 255


:. 

:1.
:!+ 
r  )  9 B  $  ?$    $ R )$  * •
USE MASTER
BACKUP LOG BIG_DB TO my_device
WITH
NOINIT,
NAME = 'A LOG BACKUP FOR THE BIG_DB DATABASE',
NOFORMATE;

:2.
:8  !+ 
r    5'  ?$    $ R )$  * •
USE MASTER
BACKUP LOG BIG_DB WITH NO_LOG
:3.
," :  98    ! !+ 
r  )  9 B  $  ?$    $ R )$  * •
:A 8A
USE MASTER
BACKUP LOG BIG_DB TO my_device
WITH NO_TRUNCATE

9 B  ;: $  N' !+ 


r  5$ 3: (' %+  ) !+ *8 8 ? SQL Server 9
 •
I=  ( $ 5$ '" ) 

N,$ ;,: 9
G
F  ?* )* $  : )* !+ 
r  5$ 9   + ;: 9 E+  •
3,: ., C S  )$7 
r  9 X1+ G   + 9 B  G  C'X 
r  ;B P! 3: C S $
I1+ "*'  ) !+ 98 
r  N' )*  !+ 9 B  +8: :  9  8A ; 7 9 

T- E$ 8  $  + 9


++8 F  J G  !+ 
r  5$ )  9 B  $  ? ++8 •
I $ &'"  ?$ SQL

Universal Knowledge Solutions s.a.l 256


 ,  $ N$ 9 = M8 !+ 
r  5$ 9   + -%   T-SQL  $ 5$   •
: $ &'( 9  $ 1  98 C' )7   )$  * "%+   ! 9   + -%
BACKUP LOG my_database TO my_device

‫ !   ا‬6‫ا‬


9 B  B" 6‫ا‬
#‫ ﻥ‬B‫ ﺏ‬ab(‫ﻥ‬
0Tّ%& ‫ ﻡ‬d0‫ا‬   ) 

Enterprise Manager ! $)( *   C ?)   ) 71 #

,+ ;A,+H , ? 


9 X  ! 9   + ;A+0 "   )X " D%+   ++8
IEnterprise Manager  7   !+ 
r  5$ 9  

++8 1+
3: *.0 1  4U+ C' )  9 B  B" + M "Transaction Log" k 3$ 9G + 9
)E+
IN$   $   "  9 J ! " N$  + 9

3,: ,    V+ *.: 3$  ) )2?$ 8A  / "Append to media"  3: &+ )E+
I=? (SA+:  )  ?   V+

G , ! 1+
" * -+ F   9  X ? " 9. X Options % " ' >+ 9
.
)E+
9
G
,$ < )2?$ 8A 1 )  9 B  $ ;H  ?  !+ 
r  9 G%  U !+ B:   
INO_TRUNCATE 8 M  k  N' B:

: -
, "Transaction Log" k 97 ? "  9 !+ 
r  5$ )  9 B  $  ? <+  ':
3:   )* 4$
  )E+ )   )* )(   )*   9
3: N'  * =G* 98
. O T+

,+ ;A,+H , ? 


9 X  ! 9   + ;A+0 "   )X " D%+   ++8
IEnterprise Manager  7   !+ 
r  5$ 9  

Universal Knowledge Solutions s.a.l 257


++8 1+
3: *.0 1  4U+ C' )  9 B  B" + M "Transaction Log" k 3$ 9G + 9
)E+
IN$   $   "  9 J ! " N$  + 9

3,: ,    V+ *.: 3$  ) )2?$ 8A  / "Append to media"  3: &+ )E+
V,+ J* 8  3:  k  '(  E ?+ 
&+ 9 +  F  =? (SA+:  )  ?   V+
I   )  V+  $  +  + G  ?

G , ! 1+
" * -+ F   9  X ? " 9. X Options % " ' >+ 9
.
)E+
9
G
,$ < )2?$ 8A 1 )  9 B  $ ;H  ?  !+ 
r  9 G%  U !+ B:   
I ?  A )* + G ) NO_TRUNCATE 8 M  k  N' B:

Universal Knowledge Solutions s.a.l 258


: -
, "Transaction Log" k 97 ? "  9 !+ 
r  5$ )  9 B  $  ? <+  ':
3:   )* 4$
  )E+ )   )* )(   )*   9
3: N'  * =G* 98
:  ! P2 "  9 N'   (M   3$ 8 )*) O T+

<!+ 
r  5$ )  9 B  $ ;H  ? " 9 ++8  ) ">

Universal Knowledge Solutions s.a.l 259


.G*  U Transaction Log  k 9
" &'( )* -+

Universal Knowledge Solutions s.a.l 260


.1G*  U !+ 
r  5$ 3$ )  9 B  $ ;H  ) P2  9
" &'( )* -+
:$)  -E 92  "0 
:  ! P2 " 9

Universal Knowledge Solutions s.a.l 261


:“Options” % " 9

.4+ )* Y'+  +

$%     ) 71 #

>  F   ? $ )* + G ) -+   ? )  9 B   $ ;H ?+ 9
.
)E+
),   ! 9   + 3$ -% (
D%+ model msdb  master 9   + 3$ -%
,"+
 3$ tempdb   ! 9   +
3$ -*+ 9
C. 9 D  1+
$ < " $ +
I"+ B   )8 2   3$ C  !S

Universal Knowledge Solutions s.a.l 262


3,$  " $ )  9 B   $ ;:  )8 )2?$ 8A msdb  master   ! 9 8 G y

  ) ! 9
 3$ = . D  1+
: 8 )* Y'+   98 9 1+
= $   )* Y'+
I  E

)*, Y',+ 3,$  " $ )  9 B   $ ;:  )8 )2?$ 8A model   ! G y

JG )* Y'+ )*  E C


9
$ <   ! ;+ )*   1 $  C' D7  "+
': 8
I(;A+:   )     ! *8 3$ . aMS  &'(   ! 3$

  ! ?")


M>?") ( + Q)   I")M

;A+: $ M =    $"   $ &'( 9


  ! T 9 F 
+ 9
! A0 9 
I   V+

@ , B" ( 1 + C' )  9 B  B" 9


   ? 9 +    T $ ;  !
I" + ) +   + 3$ C C'

:4 
 $ N$  ? ++8
IEnterprise Manager  7  9 •
.4+ T-SQL   ' %+  9 •
;A+: $ M =    $"   $ &'( 9
  ! T 9 F 
+ 9
! A0 9 
I   V+

@ , B" ( 1 + C' )  9 B  B" 9


   ? 9 +    T $ ;  !
Enterprise  7 , 9 $ N$ 9 8> ++8 " + ) +   + 3$ C C'
I  R    M )  9 B  B" 3$ 9  ?+ N' Manager

Universal Knowledge Solutions s.a.l 263


I ?   V+ 9 B" N'   R N'  9 < + F 

Universal Knowledge Solutions s.a.l 264


:)$ 8 4+ T-SQL   ' %+  9 $ N$  ? =.
++8

RESTORE HEADER ONLY


    V+  
  + 5$   $ ?* R+ 9
?  $  9 ++8
N$ V  ! )  9 B  $ )* "  ) ?  9 B    + 5  3$ N' A 
I)$$ "! 3: *.0   +  $

RESTORE FILELISTONLY
),* "+ B   ) !+ 
r  %$ 
$7   !  $ R+ 9
 $ &'(  9 ++8
I    +

RESTORE LABELONLY
I  9 B     $ R ?*  $ &'(  

RESTORE VERIFYONLY
I ;?$ $!  $ $8   )  9 B   +]8 %$ *8 9
9 8>$  $ &'(  

Universal Knowledge Solutions s.a.l 265


T-SQL   $)(   ! ?")

"  98 9 1+


 4* .   ! T 
9 RESTORE DATABASE  $   
T
5$     ! 9 + T 
!+  
  %$ ?+8 L
RU
G 
I( U  $ 2B T $  ?$ 
"%$ " 
5$

:  ! T $ 9 G ) ?$ R )$  *


RESTORE DATABASE { database_name | @database_name_var }
[<file_or_filegroup> [,…n] ]
[FROM <backup_device> [,…n] ]
[ WITH
[PARTIAL]
[RESTRICTED_USER]
[ [ , ] FILE = { file_number | @file_number_var } ]
[ [ , ] PASSWORD = { password | @password_var } ]
[ [ , ] MEDIANAME = { media_name | @media_name_var } ]
[ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_var } ]
[ [ , ] MOVE 'logical_file_name' TO 'operating_system_file_name'] [,…n]
[ [ , ] KEEP_REPLICATION ]
[ [ , ] {NORECOVERY | RECOVERY | STANDBY=undo_file_name} ]
[ [ , ] {NOREWIND | REWIND} ]
[ [ , ] {NOUNLOAD | UNLOAD} ]
[ [ , ] REPLACE ]
[ [ , ] RESTART ]
[ [ , ] STATS =percentage ] ]

:J* `A

 P  
<file_or_filegroup> [,…n] ? 9
SQL Server 3$ )E+ ) %$  
%$
"%$ " 
5$ 9  $
;
9 9    ! 9 ?* . ;B T +8H B  &'( + @ "
." 9 B  N$ T
PARTIAL   ! 8 T $ <    SQL Server 2000 3: *.  B  9 
,? ,"+> ,%$ , 
5$ T $ 9 5$  )( "%$ 
.  L 7 %$  3: *.0 7 %$  9 8 T
RESTRICTED_USER ,?*  , @, F  "   )    ! + 3: Y   9 G 
. db_creator  db_owner  sysadmin

Universal Knowledge Solutions s.a.l 266


FILE L 7  9  9 "  ? )E+ )  9 B  

 8 ! " : A F  )  9 B  B" )* 
.= ?  B" )* +M  3$  2 
= M B" )*  N$ 4  3$
PASSWORD  $8 B )E+ F     +$  $8 aM
.   + N$ T $  ? + N$
MEDIANAME  >A+ 9 B  2  )?+  9 
. + T $  ? ;+M
 '(     1+
$ <
MEDIAPASSWORD 8 9 B  2   $8 Ma 
.  N$ T $  ? + N$  $8 B )E+ F 
NOREWIND | REWIND . 
 A (D8 
) : )E+ 98 ':  * 
NOUNLOAD | UNLOAD . 
 A   $ N
G * )E+ 98 ':  * 
RESTART 5! ?+ 9 = %a! )  9 B  $  EA 0  k  '( d 
.!   RE N'
STATS )  V+ $ G ? D ?   + 9 
.10% C 2?$  ? 9
$ <
MOVE   )2 B *  3$ + B   5$ T  k  '( @
! ?+ 4U+  +  k  '( (
B F 
  P! 3: !+ 
r  
 
  ! 9 B   C' P? < 8A +"  + (7 o = k / 8
.L?   O P! 3: N$   ! ?+ 4U+ =  1 $
KEEP_REPLICATION ':   ! 8 $   :   k  '(  
. O G  3: "  +! 
REPLACE   ! T $ ;H  k  '( + @
. $7   ! J* "8 :

Universal Knowledge Solutions s.a.l 267


 $   RESTORE DATABASE 98 9 1+
 4* .   ! T 
9
5$     ! 9 + T 
!+  
  %$ ?+8 L
RU
G  " 
I( U  $ 2B T $  ?$ 
"%$ " 
5$ T

T-SQL $)( *   C ?)  ?")

 )E+ N' 9 J
8A 
   !+ 
r  5$ + T RESTORE LOG  $  K •
IN$   ! +  !+  9   V+ *8 J  ?+ 9
+    ! T
)$$ 8A   ! 3$ (' %+  ) !+ *8 3$ !+ 
r  5$   + C •
I1 * "+ B   C' 4  D%+ !+ N$ J   9 5$ '( T  9
)E+ )
, $ 9, ,G ) ?$ R )$  * +   ! T $ 9 G ) ?$ + •
:    ? !+ 
r  5$ T
RESTORE LOG { database_name | @database_name_var }
TO <backup_device> [ ,…n ]
[ WITH
[ [ , ] { NORECOVERY| RECOVERY| STANDBY = undo_file_name } ]
[ [ , ] STOPAT = {date_time | @date_time_var }
| [ , ] STOPATMARK = 'mark_name' [ AFTER datetime]
| [ , ] STOPBEFOREMARK = 'mark_name' [ AFTER datetime]

J* `A
 5
NORECOVERY  U $!+
9 < $ C> ? 
SQL Server 3$ )E+ 1+
3$  $
.)* + )*   ! N )E+ 1+
C
!+ 
r  )* a8S
RECOVERY $ ;H ? 9
SQL Server 3$ )E+ 1+
C
 ? $ D8
  @ ) !+ 
r  )* a8S  U $!+
9 <
!+ 
r  5$ T $ ;"+  A   !
.)2?$  k  1+
$ <
STANDBY N 1+
: NONRECOVERY  X ‚  3:–  k  '( 1A
.?* ;?  )*   !
STOPAT $ 5? : & + )E+ C' ! V  9  
=  ' >
.!+ 
r  5$ T
STOPATMARK $ 5? H @ SQL Server 2000 3: *.   )(
I $!+ )*  ?+ + !+ 
r  5$ T

Universal Knowledge Solutions s.a.l 268


STOPBEFOREMARK 5? H @ SQL Server 2000 3: *.   )(
I $!+ )*  ?+ ! !+ 
r  5$ T $

T-SQL $)(   ?")  . 


(S,>? T ("?   T U    .  2 )

:1.
.    ? 8 T  ?$    $ R •

:2.
." < !+ 
r  5$    ? 8 T  ?$    $ R •

:3.
.  ! )*  ?+ 3: )* $  ?$    $ R •

:4.
.9  5$ T $  ?$    $ R •

:1.
:    ? 8 T  ?$    $ R )$  * •
USE MASTER
RESTORE DATABASE BIG_DB
FROM big_db_backup
WITH
FILE =1,
RECOVERY;

:2.
:" < !+ 
r  5$    ? 8 T  ?$    $ R )$  * •
USE MASTER
RESTORE DATABASE BIG_DB
FROM big_db_backup

Universal Knowledge Solutions s.a.l 269


WITH
FILE =1,
NORECOVERY

GO

RESTORE LOG BIG_DB


FROM big_db_LOG_backup
WITH
FILE =1,
NORECOVERY

GO

RESTORE LOG BIG_DB


FROM big_db_LOG_backup
WITH
FILE =2,
RECOVERY

:3.
:  ! )*  ?+ 3: )* $  ?$    $ R )$  * •

USE MASTER
RESTORE DATABASE BIG_DB
FROM big_db_backup
WITH
FILE =1,
NORECOVERY

GO

RESTORE LOG BIG_DB


FROM big_db_LOG_backup
WITH
FILE =1,
NORECOVERY

GO

RESTORE LOG BIG_DB

Universal Knowledge Solutions s.a.l 270


FROM big_db_LOG_backup
WITH
FILE =2,
RECOVERY
STOPAT= 'September 25, 2006 09:00 AM'

:4.
:9  5$ T $  ?$    $ R )$  * •

USE MASTER
RESTORE DATABASE BIG_DB
FILE = BIG_DB_FILE5
FROM big_db_backup
WITH
NORECOVERY

GO

RESTORE LOG BIG_DB


FROM big_db_LOG_backup
WITH
FILE =1,
RECOVERY

Enterprise Manager ! $)(   ?")  ( $4

I"+ a 9
98 ) 8A J$  *  M8 5$8 !   T $  ? ;+M
; 7 48 9: •

,  T, , $ B+: 3$    $"   " Enterprise Manager  7 9S •
I  8 + X $ &'( ;+M
X ;
F  +8 R% + 3: C S    " 4$>

,  , + 9

"+ B  H 4U+ +    ! + 9
  T "  9 ++8 •
I"8$+ )   + 3$  "2A+H 4U+ )   ?

5,$ T 4U+ ++


++ 9
++8 1+
$ < )2?$ 8A   ? 8 T Y'+     •
IP! 9   T 
"%$ " T 

Universal Knowledge Solutions s.a.l 271


,   +  O 9
$ <   T $ )* "  4U+   +
+ 9
N'8 ++8 •
I)2?$ 8A (    ) )(     ? >A+/

;H, ?+  + ( +   T $ 5a! )E+ ) ?+  " &'(  9 N'8 + 9
++8 •
I9  !+ 
r  5$ T $

,? = ?, ( ,  +! )   V+ *8 1 9 R+ 9
++8 ! = .
" N$ + R •
8A, )?+ F     + ;?+ $ + $ * Enterprise Manager  7 9
$ <    
N$ T $ ;0 B   + )2?$

.  T $ L


*.: P2 + 9
Options % "  9 < + •

I"+ a 9
98 ) 8A J$  *  M8 5$8 !   T $  ? ;+M
; 7 48 9: •
,  T, , $ B+: 3$    $"   " Enterprise Manager  7 9S •
I  8 + X $ &'( ;+M
X ;
F  +8 R% + 3: C S    " 4$>
D%+,– ,++8 ),  9 B  $   " 3:  % 8 +.  + = ? + G  8 •
9, 
Task pad "," 2"  9 : N'   T $   " 3:  X ? 
.All Tasks 2? 9. 9 Restore Database    M "%+   ! P2  9 
Tools 2? 

Universal Knowledge Solutions s.a.l 272


,  , + 9

"+ B  H 4U+ +    ! + 9
  T "  9 ++8 •
I"8$+ )   + 3$  "2A+H 4U+ )   ?

Universal Knowledge Solutions s.a.l 273


T, 4U+ ++
++ 9
++8 1+
$ < )2?$ 8A   ? 8 T Y'+     •
IP! 9   T 
"%$ " T 
5$

,+ , O 9
,$ <   T $ )* "  4U+   +
+ 9
N'8 ++8 •
I)2?$ 8A (    ) )(     ? >A+/  

;H ?+  + ( +   T $ 5a! )E+ ) ?+  " &'(  9 N'8 + 9
++8 •
I9  !+ 
r  5$ T $

,? = ? (  +! )   V+ *8 1 9 R+ 9
++8 ! =.
" N$ + R •
8A, )?+ F     + ;?+ $ + $ * Enterprise Manager  7 9
$ <    
N$ T $ ;0 B   + )2?$
:M o
:) + 3$ N' +    ! 9   + ;A+ +! ++
R%+
I  ! 8 )  V+ $ .1
I!+  MM )  V+ $ .2
I  ? 2B )  V+ $ .3

Universal Knowledge Solutions s.a.l 274


.!+ 
r  )%$ )  V+ $ .4
:   $ ;H )( N$   ! T $  ? 
9 (' %+ )E+ ) .*7   
I  ! 8   + T .1
I  ? 2B   + T M .2
."+ B   !+ 
r  )%$  O T M .3

XM7X  +  '(    3$  2?$  Enterprise Manager  7 9


3$ 8> J M 9 RE 98
.T $

:"+   T $ L


*.: P2 + 9
Options % "  9 < + •

28 2A   + N'   ! T $ ;: 9 ;"+  2A 4 ` +8: o
I9 B 
I  ! T $ ;H A !   : . o
I $7   ! J*  2+ 9 B    ! T $ J  o

Universal Knowledge Solutions s.a.l 275


: -) &  98  )2 B *  )* "   )    ! %$ 9 B  : +8: o
I(RESTORE DATABASE  $ )* MOVE  a8'
),  A <) STANDBY 
NORECOVERY 
RECOVERY    L :  +8: o
.( T-SQL $     ! T $  ? % 8 9 F 

) ZR‫ ) وا‬6R‫ ا‬+?‫ا‬

: 
   
Transact-SQL (1)

:   
.J* Glossary 5$ -+

:
.SQL Server   !  : -+   Transact-SQL E R ? '( )*
+

:  


:)$  3$ % '( )* 4 5
T-SQL $8 "  E )* 7   $ •
(Indexed Views) "%  -+ •
(Hyper Aggregaes) ?2%   •
(Subqueries) 2B/ +./ 0

Universal Knowledge Solutions s.a.l 276




I"+G8 R Transact SQL E   $ &'(  9 3+ •

3,$ DML (Data Manipulation Language) , $ R 3$ X@2A 9 )$  *X )
8A B8+ •
I  %$  DDL (Data Definition Language)  $ 3: *.0 T-SQL )*   3+

,8   8A * SQL E$   +8 3: *.0 T-SQL +8 - R+ 9
+ •
 -+ 
+GB  < 
*G  208 SQL Server )*  RU
  ;+  5 8  % `A+
.( U


 SQL 
"T-SQL  ANSI SQL "

+  " $ +  9  *.:  F    7 ( :  9


'+ = M8   SQL E  •
I"$  
" : '%+ 
  5   H @    $  * J$  *  7

IANSI SQL  SQL 9    0 3$ J$ •

SQL ,E , +8: < , @, ) *.0 P2  9  SQL Server  9 *8    •
I  

Transact , SQL Server   ) *8  ! 9   SQL E 3: *./   3$ J$ •
.T-SQL 
SQL

, ," $ +  9  *.:  F    7 ( :  9


'+ = M8   SQL E  •
I"$  
" : '%+ 
  5   H @    $  * J$  *   7 +

N,$ F ,
( SQL-99   ANSI SQL  SQL 9    0 3$ J$ •
I(A+  )    0 8

98 SQL-92 9
$ <  0

Universal Knowledge Solutions s.a.l 277


),*  7 B  *8  1+
C
ANSI SQL-92 C   0 < SQL Server 2000 J* •
3,$ Roles  7 5   8 ANSI-99  0 < * P2  R  1+
3: *.0  0 N'
IM  

SQL ,E , +8: < , @, ) *.0 P2  9  SQL Server  9 *8    •
R,   +8: 
SQL Server 1 $  C'  EA -+ J$ )  $ R   +8H8   
:  ?+  9 X 8A– ( 98 ) SQL E 3$ 
I` ?
<
+GB   208 ]  " 9  o
I ' %+ 8 % 8 o
I *G     +
3: *.0     +
o
I 2?$  ? ` ? ?8  *G   8 9. 4 
9 %$  T+
o
. *.: +G. < o

Transact , SQL Server   ) *8  ! 9   SQL E 3: *./   3$ J$ •
.T-SQL 
SQL

T-SQL
""

9 , N,' ),*  ': @. 8A SQL Server 7.0 3: SQL Server 6.5 9 ?+ + T-SQL E  •
F   )* -$  E 9  G ?  SQL Server 2000 3: ?+ 9

a :    B 9  *.:
;A,+: ,*G j  < ;A+: +8:   +
R *.:    * 1 J  0 9 T-SQL +8
I "%  -+

SQL E +8 R R = ? ?+ ++


$ <  P2  N$ B  @2A 9 )$  * ++ •
. % T-SQL E +8  

Universal Knowledge Solutions s.a.l 278


SQL Server 2000   T-SQL  
bigint –  
  


:)(    +


MM SQL Server 2000  ? •
bigint o
sql_variant o
table o

:bigint   + •


 !7 9B 9
98 C
  8 3:  9 B   )!   + 9 bigint   +  o
-2 =(-9223372036854775808) 9 
63

I263-1=(9223372036854775807) 3:
9,8 1,+
8 "+   int + <   !  !   . <!/  + + '(   98 o
Iint +   1 * @/ 98 C
)* bigint +    9
= !
:( bigint + 9 !  ? < $ 9 / 9  9  SQL Server 2000 + GB o
 , .%/ .bigint + 9  +  1+
: COUNT < = 1$ )* 1A < ( :COUNT_BIG( ) 
Iint +  9 "+   98   + <!+  + < '(
),X 7   1+
: @@ROWCOUNT < = 1$ )* 1A < ( :ROWCOUNT_BIG( ) 
M> 7  )*  8  + <!+  + < '(   .%/ .bigint + BG X&' %+    e M>
Iint +  9 "+   98  F  '%+/ 

SQL Server 2000   T-SQL  


sql_variant –  
  


,  ,+ N',8 1A, 8 Microsoft Visual Basic )*   variant   + + '( 1A •
IOLE DB )*   DBTYPE_VARIANT

< Y  ?8 
 )* 
 )* 
7 5  ;+M
:)( 98
G  )* + '(   ++8 •
I5h j 

9 B  " * 98 )  9   


9 98 N' 9 RE 9H* 7 5  ;+M
+ '(   + •
IL

)* ! =  !  
)* 5 9B  7 

= M  / 9>8   D%+ )* %$   !

Universal Knowledge Solutions s.a.l 279


,  =  ?+  ++
9 U 3$   8016 C sql_variant   + )-7 9 B   9: •
,+ 9, ,7  , ,++8 1+
$ <  
 < 1  + = 2?$  1+
': + '"  
.  900  N'  B   D"%8 
* @ %8 sql_variant

SQL Server 2000   T-SQL  


table –  
  


Itable   + (  O    + SQL Server 2000 + GB •

I < Y 8 1  98 8  +GB  2: 


5h j  < )* )$ 8 + '(   98 •

,8 table +,  , 98  1+


8 table + 9 N'8 98 9
+7 9 T+ '( 7 98  •
I< 
2:

  *.: )E+ 9  )*   !   ;A+: ! =  1A   +
9 T+ '( ;A+: ! 9: •
:table + 9 1+
3$  5  % 8 @. M R )$  * + '" < C'  3$  $ +
DECLARE @variable TABLE ( column definition | table_constraint [, …] )

`,% ),( " `  ? 9


: table   + 
3$  ! R* ++8 1+
J M 9 -+ •
  " 98 8  
U*  ! ' 98 9
98 7 9
8  2?$  ?    ! % `% )7
I  +
9 T+ '( 
3$ )  `% !   98  1+
: )2?$ B

:M •
DECLARE @title_info TABLE ( title_id int,
title varchar(64),
pub_date datetime,
price money null
)

Universal Knowledge Solutions s.a.l 280


SQL Server 2000   T-SQL  
  ! "#$  %&'(

,+8 <, N,$ 9


: T-SQL E  +8: <  E +h. < 9 =   = 2 SQL Server 98 •
I" $   ;: +8: `  SQL Server )* = +. 

,*h j , < ;A+: +8: =  @  SQL Server 2000 9


:  $ $!  U +h. < B  •
I"$ 

,  , "$ , 9,8 8 CREATE FUNCTION    *h   < ;A+: 98 •
D%+, < 9 M8
5  98  1+
$ < DROP FUNCTION   "*' 98  ALTER FUNCTION
I  ! )*   D%+ 
9 

,8   

  ! K 9
98 8   1024 3: 0 9 ' > 9
*h   < 98 •
IY 8

I )* M  ! 4$ 98 C


)*   ! K ) *h   <   98 •

. )*   8 1 * 98 98 C


)* 
G   ! K ) *h   <   98 •

SQL Server 2000   T-SQL  


*+,  -.
) 

I).*   "+>   8A  -+  98 •

(  ,: , F,    ! )*  RU


)* 9  -+ 9 + # )$* 9 B  ;:   •
I" : )+ )   
  9 = A "

I      "+
3$  8A  -+  •

Universal Knowledge Solutions s.a.l 281


)8 + , ;A,+0 $ 3$ R% )*.0 ;4  + @. 8A  -+ <  )* 8A "- •
I(;A+:  )8     $ ;: 4$ 
7 9  8  9 98  + =  -+$

D,"* ;A+H ?  -+ ;


9  ++8 F   -+ 3$ D"* ;A+: +8: SQL Server 2000  ? •
I(D"% $ <) " $ ?+

N,' ', %+  3 D"% -+ ;A+:  9


 1+
':     -+ 9  8 8A "%  -+ 5$  •
IC ?+ D"* '   <  8 =  ""* = 2 B * "+ B  1+ +   T -+

),* $,7   3$   N$ J   A   9 D"% -+      2?$  •
I"+ -+ N' ;A+:  )  

   $ 
    k ) ?  ;
9 X@. 8A– "%  -+ 9]K •
.  .   '   3$  M8

/ #*01 2 #1 3451 


67 
8 9 (

I  )*      


T   
 $ 
 ? SQL E a* •

IM8

  )*    T ?+ 9
SELECT  $  9 < + •

I    3:  
*.H ?+ 9
INSERT  $  9 < + •

I    )*  7   ?+ 9


UPDATE  $  9 < + •

I    )*  7 BH ?+ 9


DELETE  $  9 < + •

.L  3$  $ N$ 9 8 B  ) ?  @2A )* R+ •

Universal Knowledge Solutions s.a.l 282


SELECT 
:;

SELECT [DISTINCT] [TOP n [PERCENT] ] column1 [AS column_heading] [, column2 [AS


column_heading] , …]
[ INTO new_table_name ]
FROM table1 [ [AS] table_alias ]
INNER | {LEFT | RIGHT | FULL} [OUTER] ] JOIN table2 [ [AS] table_alias2 ] ON ( join_conditions ) ]
[…]
[ WHERE search_conditions ]
[ GROUP BY aggregate_free_expression]
[ HAVING search_condition ]
[ ORDER BY order_expression [ASC | DESC] ]
[ COMPUTE row_aggrigate (column_name) [, … ]
[BY column_name [ , column_name ] …] ]

I  F A J* ) 7 *8 )2?$ 8A SELECT  $  •

I  7 9  8 7 B:   1+H*   $ < DISTINCT     )* •

F, A J?  



"K F   )*  7 $* 
9 WHERE    •
I  &'( )* 

,++8 ,8 F, A  ;B


9   ?+ )8 ?+ AND 
OR   + 9
N'8 ++8 •
I U  7 9  $ "(" ")" D!7  

 7 4 N' 4 8A  )*  7 R 
9 ORDER BY    •
   9 = B+   + R ++8 1+
$ < "ASC" )2?$ 8A =  4  98    N$ )*
I"DESC" 

+ 
7 9 9   + 9
++8 F  " ?+ ) 7  + )8 TOP    •
I )*  7 9 2

.(   )* 8 7 T ?+ )8 N' TOP  < WITH TIES    ++8 •

:   $ 7 ? )$  * n!++ •

SELECT [DISTINCT] [TOP n [PERCENT] ] column1 [AS column_heading] [, column2 [AS


column_heading] , …]
[ INTO new_table_name ]

Universal Knowledge Solutions s.a.l 283


FROM table1 [ [AS] table_alias ]
INNER | {LEFT | RIGHT | FULL} [OUTER] ] JOIN table2 [ [AS] table_alias2 ] ON ( join_conditions ) ]
[…]
[ WHERE search_conditions ]
[ GROUP BY aggregate_free_expression]
[ HAVING search_condition ]
[ ORDER BY order_expression [ASC | DESC] ]
[ COMPUTE row_aggrigate (column_name) [, … ]
[BY column_name [ , column_name ] …] ]

LE"  6"1
I  F A J* ) 7 *8 )2?$ 8A SELECT  $  •
I  7 9  8 7 B:   1+H*   $ < DISTINCT     )* •
, 9 T+ '" Y  )  )* 8 8A DISTINCT    .%  : - •
9, P   3:  7 V+ ? "+
 =  =$   ;
3$ . MS "+7 N'
. 2"+  + : 8 B: 

F, A J?  



"K F   )*  7 $* 
9 WHERE    •
I  &'( )* 
:F A  )* "  98 )  $ 2! )   @. •

=   ! C ) 7 *8 T


<>   ! C  ) 7 *8 T
>   ! 9 8
 ! ' 7 *8 T
<   ! 9 E
 ! ' 7 *8 T
>=   ! C 
8
 ! ' 7 *8 T
<=   ! C 
E
 ! ' 7 *8 T
BETWEEN exp1 AND exp2 9   9  ! 9   <?  ! 3$ C ) 7 *8 T
IN (element1, element2, … )  )*  + 
" ! J? ) 7 *8 T
LIKE string_expression    ? 1A *  ! 3$ C ) 7 *8 T
5 9 98  C
8 +8: 9  "%" B 9
$ <
  98 1+
 ?*  5  +8: 9  "_" B 9

5
1A 9
98 "+? C ) 5 9
9
.9 ? 9 ? 9  

Universal Knowledge Solutions s.a.l 284


,++8 ,8 F, A  ;B
9   ?+ )8 ?+ AND 
OR   + 9
N'8 ++8 •
I U  7 9  $ "(" ")" D!7  

:. 
:1.
:D. 1000 9 "+M ? ) business T+ 9 48 *8 T $  ?$    $ R )$  *
SELECT title, type, price
FROM titles
WHERE type= 'business' AND price < 1000
:? 

title type price


--------------------------------- --------------------------------------- ----------
-   + business 700
 !"?  + business 800
  !"# "( business 400

(3 row(s) affected)

:2.
9 "+M ? ) business T+ 9 48 *8 T $  ?$    $ R )$  *
:D  10000 9 "   B ) business T+ 9 48 
D. 1000
SELECT title, type, price, sales
FROM titles
WHERE type= 'business' AND ( price < 1000 or sales > 10000 )
:? 
title type price sales
-------------------- -------------------------------------------------- ----------- -----------
-   + business 700 15000
 !"?  + business 800 22000
  !"# "( business 400 9000

(3 row(s) affected)

Universal Knowledge Solutions s.a.l 285


:3.

D. 1000 9, "+M ? ) business T+ 9 48 *8 T $  ?$    $ R )$  *
:D  10000 9 "   B ) 48
SELECT title, type, price, sales
FROM titles
WHERE type= 'business' AND price < 1000 or sales > 10000

:? 

title type price sales


------------------- ------------------------------------ ----------- -----------
-   + business 700 15000
 !"?  + business 800 22000
  !"# "( business 400 9000
.    IT 400 50000
sql server 2000 IT 1200 15000

(5 row(s) affected)

 7 4 N' 4 8A  )*  7 R 
9 ORDER BY    •
   9 = B+   + R ++8 1+
$ < "ASC" )2?$ 8A =  4  98    N$ )*
I"DESC" 
4,  9. 98  F    + 4  4U+  + @  8A ORDER BY    )E+ •
IGROUP BY 
DISTINCT   < 3  &'( 9   +
‫رة‬0@R‫ ا‬e]‫ ه‬V ‫ ث‬. :[2F]Comment
0ً2

:. 
:4.
, 4, =  4 8A "JA " +  9 9 %S *8 T $  ?$    $ R )$  *
: +8 M 7
SELECT FNAME, LNAME
FROM AUTHERS
WHERE CITY= 'JA '
ORDER BY FNAME , LNAME
:? 

Universal Knowledge Solutions s.a.l 286


FNAME LNAME
------------ --------------
" )  
" ) =
7 ) )
"  
"  )
A"E  
 

:1J)
:)$ 8  +8 3$ DESC  J  +%.
 ': ?  + @ 9
<! '

SELECT FNAME, LNAME


FROM AUTHERS
WHERE CITY= 'JA '
ORDER BY FNAME ASC , LNAME DESC

:2J)
:)$ 8 LIKE  J  +%.
 ': ?  + @ 9
<! '

SELECT FNAME, LNAME


FROM AUTHERS
6‫ "_" ﺙ‬6‫" أو ﺙ‬#‫ "ا‬:[3F]Comment
WHERE CITY= 'L1 'AND FNAME LIKE '$_A%' "%" 6‫" ﺙ‬6‫"ﻡ‬
ORDER BY FNAME , LNAME DESC

:ORDER BY  )* 7 ) 9  $ L


?  4M )*    $ : )$  * :5.
SELECT FNAME, LNAME
FROM AUTHERS
WHERE CITY= 'JA '
ORDER BY 1,2

.  )* 7 ) 4  9 !7  F 

Universal Knowledge Solutions s.a.l 287


+ 
7 9 9   + 9
++8 F  " ?+ ) 7  + )8 TOP    •
I )*  7 9 2

:6.
: 4 = B+  = %$8 48 5 3$7 T $  ?$    $ R )$  *
SELECT TOP 5 title, type, price
FROM titles
ORDER BY PRICE DESC
:? 
TITLE TYPE PRICE
------------------------- ---------------- ---------------
4  |  IT 1500
sql server 2000 IT 1200
   ! business 800
) ! business 700
M  $ IT 400

:%*
.8  N' ' %+  4$ 7   "+7 N'  TG  TOP  9
3: &+ )E+

,8 7 T ?+ )8 N' TOP  < WITH TIES    ++8 •
I(   )*
:7.
WITH    < 9Z 98  4 = B+  = %$8 48 5 3$
T $  ?$ 6M$ : )$  *
:TIES

SELECT TOP 5 WITH TIES title, type, price


FROM titles
ORDER BY PRICE DESC
:? 
TITLE TYPE PRICE
------------------------- ---------------- ---------------
4  |  IT 1500
sql server 2000 IT 1200
   ! business 800

Universal Knowledge Solutions s.a.l 288


) ! business 700
7  :  business 400
M  $ IT 400
 IT 400

, 9 , WITH TIES ,  , 98  1+


  )*   O ?* A 8 9
$ < •
.ORDER BY

SELECT INTO

SELECT [DISTINCT] [TOP n [PERCENT] ] column1 [AS column_heading] [,


column2 [AS column_heading] , …]
[ INTO new_table_name ]
FROM table1 [ [AS] table_alias ]
| {LEFT | RIGHT | FULL} [OUTER] ] JOIN table2 [ [AS] table_alias2 ] ON
( join_conditions ) ] […]
[ WHERE search_conditions ]
[ GROUP BY aggregate_free_expression]
[ HAVING search_condition ]
[ ORDER BY order_expression [ASC | DESC] ]
[ COMPUTE row_aggrigate (column_name) [, … ]
[BY column_name [ , column_name ] …] ]

I1 *   + 9 B     ;A+H ?+ 9


SELECT  $ )* +G. INTO   9 ++8 •

I  + )* "   )   +


 7 D%+    ;A+:  •

! '##' B 


'#' B *.: 9
h
$ < INTO   A &;A+:   C'       •
.!S   1+
3:  A   N' 

Universal Knowledge Solutions s.a.l 289


IM •

SELECT [DISTINCT] [TOP n [PERCENT] ] column1 [AS column_heading] [, column2 [AS column_heading] ,
…]
[ INTO new_table_name ]
FROM table1 [ [AS] table_alias ]
[ [ INNER | {LEFT | RIGHT | FULL} [OUTER] ] JOIN table2 [ [AS] table_alias2 ]
ON ( join_conditions ) ] […]
[ WHERE search_conditions ]
[ GROUP BY aggregate_free_expression]
[ HAVING search_condition ]
[ ORDER BY order_expression [ASC | DESC] ]
[ COMPUTE row_aggrigate (column_name) [, … ]
[BY column_name [ , column_name ] …] ]

I1 *   + 9 B     ;A+H ?+ 9


SELECT  $ )* +G. INTO   9 ++8 •

I  + )* "   )   +


 7 D%+    ;A+:  •

 ,   <, 
GROUP BY 
ORDER BY +8 ; SELECT $  -   ++8 •
ICOMPUTE  ;+M

 , 5   $  9 >A+/  9  


)  < 9 +    )* / ': •
, 4 ,
T: )E+ 1+
$ <     )* &;A+:  )8  N'   )E+ 1+H*  * <
I(  ;A+: $ <) *

! '##' B 


'#' B *.: 9
h
$ < INTO   A &;A+:   C'       •
  '( '%+ C'  $   1+
 tempdb   ! )* &;+   !S   1+
3:  A   N' 
I2   ;A+H  ? 
 ':   ;A+:  N$ 9
9

:. •
 N' 9 B   F   * "+
4 48 
) 9     $ R )$  *
:    )*
SELECT type, avg(price) AS 'Price Average'
INTO #type_avgPrices
FROM titles
GROUP BY type

Universal Knowledge Solutions s.a.l 290


order by 'Price Average' desc

SELECT * FROM #type_avgPrices


:? 
type Price Average
--------------------- -------------
IT 875
business 633

(2 row(s) affected)

UNION 1

3$ )E+ F  M8



9  9 + # )?+ <  ;H ?+ 9
UNION   9 < + •
  + F  9 ?* 7 N$ 98 9
)E+ 1+
3: *.0 7 9  D%+ 3$ C 9
 8
IJ* N' J? )8 +   ;: 9   1+H* : 4  3$ "+ 8 )*  

G ;7 9 8 UNION $ +G8  9  


)* %G 7       •
IN$ )?+ <  $ 2"+  + 
9

, *,.: ,++8 1,+


$ <  2"+   + 9 8 7 BH = 2?$ UNION  ? •
I"+ 8 3 7 *8 T UNION ALL

.UNION  +8 9    O  ORDER BY   2"+  + 4  ++8 •

3$ )E+ F  M8



9  9 + # )?+ <  ;H ?+ 9
UNION   9 < + •
  + F  9 ?* 7 N$ 98 9
)E+ 1+
3: *.0 7 9  D%+ 3$ C 9
 8
IJ* N' J? )8 +   ;: 9   1+H* : 4  3$ "+ 8 )*  

Universal Knowledge Solutions s.a.l 291


G ;7 9 8 UNION $ +G8  9  
)* %G 7       •
IN$ )?+ <  $ 2"+  + 
9

:. •
:JA +  )* 9 A+ 4g8 ;
9     $ R )$  *
(
SELECT fname '', city ' + '
FROM authers
WHERE city = 'JA '
)
UNION
(
SELECT fname '7 ', city ' + '
FROM publishers
WHERE city = 'JA '
)
ORDER BY fname

:? 
$)+   
----------------- -------------
" ) L1 
- ) L1 
7 ) L1 
"  L1 
"  L1 
A"E L1 
" L1 
 L1 
(8 row(s) affected)

, *,.: ,++8 1,+


$ <  2"+   + 9 8 7 BH = 2?$ UNION  ? •
I"+ 8 3 7 *8 T UNION ALL

Universal Knowledge Solutions s.a.l 292


:. •
:JA +  )* 9 A+ 4g8 ;
9     $ R )$  *
(
SELECT fname '', city ' + '
FROM authers
WHERE city = 'JA '
)
UNION ALL
(
SELECT fname '7 ', city ' + '
FROM publishers
WHERE city = 'JA '
)
ORDER BY fname

:? 
$)+   
----------------- -------------
" ) L1 
" ) L1 
- ) L1 
7 ) L1 
"  L1 
"  L1 
A"E L1 
" L1 
 L1 

(9 row(s) affected)

9
$ < UNION  +8 9    O  ORDER BY   2"+  + 4  ++8 •
 + 9
= .
++8 8 37   )* %G 7 < J* 9
)E+ 
9 ORDER BY +8
.1
3$ B% $ ;H 4U+ C'  4  9  $ !7
(
SELECT fname '', city ' + '
FROM authers

Universal Knowledge Solutions s.a.l 293


WHERE city = 'JA '
)
UNION ALL
(
SELECT fname '7 ', city ' + '
FROM publishers
WHERE city = 'JA '
)
ORDER BY 1

GROUP BY and HAVING

SELECT [DISTINCT] [TOP n [PERCENT] ] column1 [AS column_heading] [, column2 [AS


column_heading] , …]
[ INTO new_table_name ]
FROM table1 [ [AS] table_alias ]
[ [ INNER | {LEFT | RIGHT | FULL} [OUTER] ] JOIN table2 [ [AS] table_alias2 ]
ON ( join_conditions ) ] […]
[ WHERE search_conditions ]
[ GROUP BY aggregate_free_expression]
[ HAVING search_condition ]
[ ORDER BY order_expression [ASC | DESC] ]
[ COMPUTE row_aggrigate (column_name) [, … ]
[BY column_name [ , column_name ] …] ]

I   < < = HAVING  GROUP BY 9  9 8   •

I  9 %$  2B  3$     $ ;H GROUP BY  @ •


= 
, $*  1+
C
GROUP BY  ! (' %+  1+H* WHERE  3$  C  + •
I $  + 4 <  $ ;:  N' 

$ ;:   $*  1+


C
<   9  7   HAVING  + @ •
. $  + 4 < 

Universal Knowledge Solutions s.a.l 294


SELECT [DISTINCT] [TOP n [PERCENT] ] column1 [AS column_heading] [, column2
[AS column_heading] , …]
[ INTO new_table_name ]
FROM table1 [ [AS] table_alias ]
| {LEFT | RIGHT | FULL} [OUTER] ] JOIN table2 [ [AS] table_alias2 ] ON ( join_conditions ) ] […]
[ WHERE search_conditions ]
[ GROUP BY aggregate_free_expression]
[ HAVING search_condition ]
[ ORDER BY order_expression [ASC | DESC] ]
[ COMPUTE row_aggrigate (column_name) [, … ]
[BY column_name [ , column_name ] …] ]

I   < < = HAVING  GROUP BY 9  9 8   •

I  9 %$  2B  3$     $ ;H GROUP BY  @ •

:. •
: * "+
4 48 
) 9     $ R )$  *

SELECT type, AVG(price)


FROM titles
GROUP BY type

:? 
type
------------------------ -----------
business 633
COOK 275
IT 875
PSYCHOLOGY 275

(4 row(s) affected)


= 
 $*  1+
C
GROUP BY  ! (' %+  1+H* WHERE  3$  C  + •
I $  + 4 <  $ ;:  N' 

Universal Knowledge Solutions s.a.l 295


:. •
:  A+ N' * "+
4 48 
) 9     $ R )$  *

SELECT type, AVG(price)


FROM titles
WHERE publisher_id = 150
GROUP BY type

:? 
type
------------------------ -----------
IT 400
PSYCHOLOGY 275

(2 row(s) affected)

$ ;:   $*  1+


C
<   9  7   HAVING  + @ •
IHAVING   (    ! J* N'  $  + 4 < 

:.
500 9, (, )  B ) "+
4 48 
) 9     $ R )$  *
:D.

SELECT type, AVG(price)


FROM titles
GROUP BY type
HAVING AVG(price) > 500

:? 
type
------------------------ -----------
business 633
IT 875

(2 row(s) affected)

Universal Knowledge Solutions s.a.l 296


ROLLUP

I"%+ GROUP BY  9. ?2*    $ 5/  


   $ ROLLUP  + GB •
, ,? , O 4$,> 
,
 9. 8   P  ROLLUP    •
J,  , F  GROUP BY  )*  7 *8 =   3: 9   9   ;A+H ROLLUP
I87 3: E7 9  8 3$ )  <

.. •

I"%+ GROUP BY  9. ?2*    $ 5/  


   $ ROLLUP  + GB •
, ,? , O 4$,> 
,
 9. 8   P  ROLLUP    •
J,  , F  GROUP BY  )*  7 *8 =   3: 9   9   ;A+H ROLLUP
I87 3: E7 9  8 3$ )  <

:. •
:48 T+ M A+ 4 G "  T 48 2! R 
= 
?+
SELECT publisher_id, type, SUM(sales) AS 'SUM_SALES'
FROM titles
GROUP BY publisher_id, type
:  +
publisher_id type SUM_SALES
-------------------- ----------------------------- -------------------
150 business 46000
150 IT 75000
170 IT 4000
170 PSYCHOLOGY 3400
230 COOK 41400

:J   3: ROLLUP  9Z 5 .+


SELECT publisher_id, type, SUM(sales) AS 'SUM_SALES'
FROM titles
GROUP BY publisher_id, type WITH ROLLUP

Universal Knowledge Solutions s.a.l 297


:  +

k‫ ﻡ ﻥ‬a-‫ت ا‬0R@‫ع ﻡ‬+&‫ﻡ‬


publisher_id type SUM_SALES business150 6P‫)( ر‬0%
-------------------- ----------------------------- -------------------
150 business 46000 k‫ ﻡ ﻥ‬a-‫ت ا‬0R@‫ع ﻡ‬+&‫ﻡ‬
150 IT 75000 IT150 6P‫)( ر‬0%
150 NULL 121000
()0% a-‫ت ا‬0R@‫ع ﻡ‬+&‫ﻡ‬
150 6P‫ر‬

k‫ ﻡ ﻥ‬a-‫ت ا‬0R@‫ع ﻡ‬+&‫ﻡ‬


IT170 6P‫)( ر‬0%
170 IT 4000
k‫ ﻡ ﻥ‬a-‫ت ا‬0R@‫ع ﻡ‬+&‫ﻡ‬
170 PSYCHOLOGY 3400 PSYCHOLOGY 6P‫)( ر‬0%
170 NULL 7400 170

()0% a-‫ت ا‬0R@‫ع ﻡ‬+&‫ﻡ‬


170 6P‫ر‬

k‫ ﻡ ﻥ‬a-‫ت ا‬0R@‫ع ﻡ‬+&‫ﻡ‬


230 COOK 41400 COOK170 6P‫)( ر‬0%
230 NULL 41400

NULL NULL 169800 a-‫ت ا‬0R@‫ع ﻡ‬+&‫ﻡ‬

()0‫ ﻥ‬- ‫ب‬0‫ آ‬iI‫ت آ ﺕ‬0R@‫ع ﻡ‬+&‫ﻡ‬


()0‫ت آ ﻥ‬0R@‫ع ﻡ‬+&‫وﻡ‬
-‫ت آ‬0R@‫ع ا‬+&‫وﻡ‬

,8 3: + M publisher_id 3: + M publisher_id, type 3: + 
= 
 <  $ 9
-+ •
.88 7

Universal Knowledge Solutions s.a.l 298


CUBE

, 9,. , ?*  +,:  $ ?2*    $ 5/  


   $ CUBE  + GB •
I"%+ GROUP BY
,
;A+H ? "+
9  )* ?*   3: 9   9   ;A+H ?  )"* ROLLUP 9 CUBE  5$ 
) ?2%   
 8   F  GROUP BY  )* %G 7 *8 9  >A+ 9
98 < 
.  + )* %G 7  (SA+: 98

I1. •

.2. •
I"%+ GROUP BY  9. ?2*    $ 5 /  
   $ CUBE  + GB •
CUBE , ,?  O 4$> 

 9. 8   P  CUBE    •
)  < J   F  GROUP BY  )*  7 *8 =   3: 9   9   ;A+H
I87 3: E7 9  8 3$

:1. •
:48 T+ M A+ 4 G "  T 48 2! R 
= 
?+
SELECT publisher_id, type, SUM(sales) AS 'SUM_SALES'
FROM titles
GROUP BY publisher_id, type
:  +
publisher_id type SUM_SALES
-------------------- ----------------------------- -------------------
150 business 46000
150 IT 75000
170 IT 4000
170 PSYCHOLOGY 3400
230 COOK 41400

:J   3: CUBE  9Z 5 .+


SELECT publisher_id, type, SUM(sales) AS 'SUM_SALES'
FROM titles
GROUP BY publisher_id, type WITH CUBE

Universal Knowledge Solutions s.a.l 299


:  +
publisher_id type SUM_SALES
-------------------- ----------------------------- -------------------
150 business 46000 ()0‫ ﻥ‬- ‫ب‬0‫ آ‬iI‫ت آ ﺕ‬0R@‫ع ﻡ‬+&‫ﻡ‬
150 IT 75000
150 NULL 121000 ()0‫ت آ ﻥ‬0R@‫ع ﻡ‬+&‫وﻡ‬
-‫ت آ‬0R@‫ع ا‬+&‫وﻡ‬
‫ب‬0‫ آ‬iI‫ت آ ﺕ‬0R@‫ع ﻡ‬+&‫ﻡ‬
170 IT 4000
170 PSYCHOLOGY 3400
170 NULL 7400

230 COOK 41400


230 NULL 41400

NULL NULL 169800

NULL business 46000


NULL COOK 41400
NULL IT 79000
NULL PSYCHOLOGY 3400

:2. •
:"+ 8   T  48 % + T+> 2! R ?+
SELECT type, SUM(sales) AS 'SUM_SALES'
FROM titles
GROUP BY type
:  +
type SUM_SALES
----------------------------- -------------------
business 46000
COOK 41400
IT 79000
PSYCHOLOGY 3400

:J   3: CUBE  9Z 5 .+


SELECT type, SUM(sales) AS 'SUM_SALES'
FROM titles
GROUP BY type WITH CUBE
:  +

Universal Knowledge Solutions s.a.l 300


type SUM_SALES
----------------------------- ------------------- ‫ب‬0‫ آ‬iI‫ت آ ﺕ‬0R@‫ع ﻡ‬+&‫ﻡ‬
business 46000
COOK 41400 ‫ت‬0UI‫ ا‬0‫ت آ‬0R@‫ع ﻡ‬+&‫وﻡ‬
IT 79000
PSYCHOLOGY 3400
NULL 169800

GROUPING Function

+ G  8   + )*      ! 9  $ NULL  ? ROLLUP  CUBE 9   •

CUBE , 9, ,a NULL ,,  ,! 9     F  3: C S 9
98 '( 9
:  ? $M7 )*
I U*  ! 9 
= * G ) NULL ,  !  ROLLUP

C,  + 0  ?  9  )* )  < 9 +   ! 98  + 1  ? GROUPING <  •
I U%  ? 3$  N'

1. •

2. •

+ G  8   + )*      ! 9  $ NULL  ? ROLLUP  CUBE 9   •

CUBE , 9, ,a NULL ,,  ,! 9     F  3: C S 9
98 '( 9
:  ? $M7 )*
I U*  ! 9 
= * G ) NULL ,  !  ROLLUP

C,  + 0  ?  9  )* )  < 9 +   ! 98  + 1  ? GROUPING <  •
I U%  ? 3$  N'

Universal Knowledge Solutions s.a.l 301


:1. •
:48 T+ M A+ 4 G "  T 48 2! R 
= 
?+
SELECT CASE WHEN GROUPING(publisher_id) =1 THEN
'ALL PUBLISHERS'
ELSE
CONVERT(VARCHAR(20),publisher_id) END AS 'Pub_id',
CASE WHEN GROUPING(type) =1 THEN
'ALL TYPES'
ELSE
type END AS 'type',
SUM(sales) AS 'SUM_SALES'
FROM titles
GROUP BY publisher_id, type WITH CUBE
:  +
Pub_id type SUM_SALES
-------------------- ----------------------------- -------------------
150 business 46000
150 IT 75000
150 ALL TYPES 121000

170 IT 4000
170 PSYCHOLOGY 3400
170 ALL TYPES 7400

230 COOK 41400


230 ALL TYPES 41400

ALL PUBLISHERS NULL 169800

ALL PUBLISHERS business 46000


ALL PUBLISHERS COOK 41400
ALL PUBLISHERS IT 79000
ALL PUBLISHERS PSYCHOLOGY 3400

:2. •
:"+ 8   T  48 % + T+> 2! R ?+
SELECT CASE
WHEN GROUPING(type)=1 THEN 'ALL' ELSE type
END as 'type_name',
SUM(sales) as 'SUM_SALES'

Universal Knowledge Solutions s.a.l 302


FROM titles
GROUP BY type WITH CUBE
:  +
type_name SUM_SALESS
----------------------------- -------------------
business 46000
COOK 41400
IT 79000
PSYCHOLOGY 3400
ALL 169800

<1 =&

IJOIN $   R ". <   9   $  ? T-SQL + @ •

I) `% )


`% !  N' M  = U F  9   3$ =    9      •

:9 %$  9 ?    9   $ 9   98 •


I !7 =  A M87 4$7 ( WHERE   9 : o
.ANSI-92   < ?  &'( J* F  FROM   9 
o

:1. •
:WHERE    @ % 3$ =  9   9  

SELECT fname, lname, SUM(sales) AS 'sum'


FROM publishers P, titles T
WHERE P.pub_id = T.publisher_id
GROUP BY fname, lname

:  +
fname lname sum
------------- ----------------- ---------------------
 C 7 41400
9 
$ 7400
 + )* 121000

Universal Knowledge Solutions s.a.l 303


:2. •
:FROM    @ % 3$ =  9   9  
SELECT fname, lname, SUM(sales) AS 'sum'
FROM publishers P INNER JOIN titles T ON P.pub_id = T.publisher_id
GROUP BY fname, lname
:  +
fname lname sum
------------- ----------------- ---------------------
 C 7 41400
9 
$ 7400
 + )* 121000

:  RE T+ 8      9     T+


5$  •
:INNER JOIN o
= $M 7 T  F    9   $  ? ;+M
= $M  ? 3$ INNER JOIN 
I?*
:M
.2M <

:OUTER JOIN o
, $ ;A+:  1 * FULL OUTER JOIN  RIGHT  LEFT :)( OUTER JOIN ,$ T+
MM 
I  )   T+ 4 N' ?   )*   ? *8 <  

)*   ? 9 
:3.
< C   9  ! 8   1 * FROM    @ % 3$ =  9   9  ") 9 ) 
: $?  ?    3 C    ! *8 R  F  )+    )* "?
SELECT fname, lname, SUM(sales) AS 'sum'
FROM publishers P LEFT OUTER JOIN titles T ON P.pub_id = T.publisher_id
GROUP BY fname, lname
:  +
fname lname sum
------------- ----------------- ---------------------
 C 7 41400
9 
$ 7400
 + )* 121000
) 9 B NULL

Universal Knowledge Solutions s.a.l 304


  NULL
:M N'  %
.titles   )* "  

publishers   9 "  "  "9 B )" 9 8   1+
C

:4.
< )+    9  ! 8   1 * FROM    @ % 3$ =  9   9    9 ) 
: $?  ?    3 )+     ! *8 R  F  C   )* "?
SELECT fname, lname, SUM(sales) AS 'sum'
FROM publishers P RIGHT OUTER JOIN titles T ON P.pub_id = T.publisher_id
GROUP BY fname, lname
:  +
fname lname sum
------------- ----------------- ---------------------
NULL NULL 1000
 C 7 41400
9 
$ 7400
 + )* 121000
:M N'  %
.publishers   )* ? " D  
titles    1+
C

:CROSS JOIN o
)* 7 *8 7   9  8   1 * )8  ;     9   9 T+ '( 5/
I)+M  
, 3 =   8 8A  +   B 9
98 9 1+
 =   9 T+ '( <  ;+M
' )E+
98,  1000 ,    500,   9  )8 ;  ;: M   3$* = +  E   +8
I!!! 500,000 =1000×500  +
:5.
: ? $M7 )* 9   9   9  )8  ;  9  30 
T
SELECT TOP 30 p.fname, t.type
FROM publishers p CROSS JOIN titles t
:  +
fname type
------------ --------------------
 business
 business

Universal Knowledge Solutions s.a.l 305


 business
 IT
 IT
 IT
 IT
 COOK
 COOK
 PSYCHOLOGY
 PSYCHOLOGY
 METH
 + business
 + business
 + business
 + IT
 + IT
 + IT
 + IT
 + COOK
 + COOK
 + PSYCHOLOGY
 + PSYCHOLOGY
 + METH
) business
) business
) business
) IT
) IT
) IT
:%* •
),* ?* "   F  4  3$ =*  *= 9 B  9 )+    C  )    9   98
Iwhere  )* )    ;: 
:M

Universal Knowledge Solutions s.a.l 306


SELECT fname, lname, SUM(sales) AS 'sum'
FROM publishers P, titles T
WHERE P.pub_id *= T.publisher_id
GROUP BY fname, lname

subqueries )>8?  
/ #*0

I O  )* L  1+


3$  8 9G.  5  ++8 •

, ? R  1+


$ < )7  )*  8 1 * @ 98 C
)* 9G.  8 98 •
I   )*   
   !  9
)E+ F  9G.  3$

I"(" ")" 9 ! 9   9G.  8  9


)E+ •

IIN  9. N'  9 M8


    )2B    ++8 •

IEXISTS  9. N'  9 M8


    )2B    ++8 •

. 7   )* 2B    ?+ 9


=.
98 9 •

I O  )* L  1+


3$  8 9G.  5  ++8 •

, ? R  1+


$ < )7  )*  8 1 * @ 98 C
)* 9G.  8 98 •
I   )*   
   !  9
)E+ F  9G.  3$

I"(" ")" 9 ! 9   9G.  8  9


)E+ •

:M •
:")*  +" A+$ 48  M C'  $ R )$  *

Universal Knowledge Solutions s.a.l 307


SELECT title, type, price R ّ‫م ﻡ‬4R‫ا‬
FROM titles (6P‫ و ة )ر‬P
WHERE publisher_id = (
SELECT pub_id FROM publishers WHERE fname= ' +' AND lname=')*'
)

:  +
title type price
------------------------- ------------------ -------------------------
) ! business 700
   ! business 800
7  :  business 400
4  |  IT 1500
M  $ IT 400
sql server 2000 IT 1200

  )*  &'( )* C


9G.   +8  9 M8
  )* >  J M   •
.")*  +"  9 jA+

:)$ 8 IN  9. N'  9 M8


    )2B    ++8 •

:M
:4$ JA )+  )* 9 A+$ 2 48  M C'  $ R )$  *

SELECT title, type, price, city


FROM titles as t INNER JOIN publishers as p ON p.pub_id = t.publisher_id
WHERE publisher_id IN (
SELECT pub_id FROM publishers WHERE city='JA ' OR city='4$'
)

:? 
title type price city
------------------------- ------------------ ------------------- ----------------
) ! business 700 JA
   ! business 800 JA

Universal Knowledge Solutions s.a.l 308


7  :  business 400 JA
4  |  IT 1500 JA
M  $ IT 400 JA
sql server 2000 IT 1200 JA
" 9* COOK 200 4$
 8> COOK 350 4$

:)$ 8 EXISTS  9. N'  9 M8


    )2B    ++8 •

:M
:JA +  )* 9 A+$ 2 48  M C'  $ R )$  *

SELECT title, type, price


FROM titles t WHERE EXISTS (
SELECT * FROM publishers p WHERE t.publisher_id = p.pub_id and city='JA '
)
:? 
title type price
------------------------- ------------------ -------------------
) ! business 700
   ! business 800
7  :  business 400
4  |  IT 1500
M  $ IT 400
sql server 2000 IT 1200
False 
True  !  +:  "*" B  9 U 3$ =
? ? )*   J M )* )2B  9:
IEXISTS  4 N'  N'  +    
 3$ = 

:%* •
WHERE  )* = +.  A 1+7 =-+ N'  )2B   J M )* )2B  3$ J$
)2B  ' %+ SQL Server ? .(t.publisher_id = p.pub_id) )7  )*   3: 1 * 
SQL Server < 9$* )$    9 

 +  
+ )7  
9  8 
9
IEXISTS A J? 4 N' )2B  N' ' %+

Universal Knowledge Solutions s.a.l 309


), , )* ?  &'(    1+
: IN    1? ? 98 J  9
9 U 3$
IIN   9 1? ? 98  N' 97 =-+   9O )*  9 M8
+? 4$

:) M )* 8 "%+ 7   )* 2B    ?+ 9
=.
98 9 •

:.
), ,  9  48 
  + )* -+ (
< 48  R   R )$  *
:   N$  ) 48 *8 88 7 ) R+ 1%+   E ?+
SELECT TOP 12 title, type, price
FROM titles
order by type

:? 
title type price
------------------------- --------------------------- -------------------
) ! business 700
   ! business 800
7  :  business 400
" 9* COOK 200
 8> COOK 350
4  |  IT 1500
M  $ IT 400
sql server 2000 IT 1200
 IT 400
 4 METH NULL
9 $ 9 PSYCHOLOGY 350
 )* T $ PSYCHOLOGY 200

:  
SELECT title, type, ISNULL(price ,( SELECT AVG(price ) FROMtitles ))AS price
FROM titles

:   +
title type price
------------------------- --------------------------- -------------------
) ! business 700

Universal Knowledge Solutions s.a.l 310


   ! business 800
7  :  business 400
" 9* COOK 200
 8> COOK 350
4  |  IT 1500
M  $ IT 400
sql server 2000 IT 1200
 IT 400
 4 METH 590
9 $ 9 PSYCHOLOGY 350
 )* T $ PSYCHOLOGY 200

: " 
N$ 4+  48   48 *8 
) 9 ( R% + ) 48 R 4U+ ++
R%+
c $
:
:)$ 8  N' 8 + 9
A +  9
98
Select title from titles where price < avg(price)
),8 ),2B  8 9 +(  ) WHERE  )* )  < 8 98  ':  2  $ &'( 98
:)$ 8  $  + 3$  < +

:&‫ﺕ‬0‫^ ا‬n‫ ا‬0‫ر‬


Server: Msg 147, Level 15, State 1, Line 1
An aggregate may not appear in the WHERE clause unless it is in a
subquery contained in a HAVING clause or a select list, and the
column being aggregated is an outer reference.

Universal Knowledge Solutions s.a.l 311


Select title from titles where price < (SELECT avg(price) from titles)

 +
title price
---------------------- -------------------------
7  :  400
M  $ 400
 400
" 9* 200
 8> 350
9 $ 9 350
 )* T $ 200
:4$ `!
SQL Server :SQL Server ,, P,  Help , 3:  T. '(  =+ M8
$M
R 98
.SQL Server 4 + $ < "%+  7 < 1 +  C' Books Online

INSERT 8 9 # "#*


& @ * 
6

: *.0  $ 5 ) ?$   R )$  * •


INSERT [INTO] table_or_view [(column_list)] VALUES ( data_values )

I    3:  
INSERT  $   •

.= .
+7 J* 9
)E+ 8   7  < $   ?  J* 9
)E+ •

I=   ? *8  H ?+ a+8  ': 7 ;


 4+ ++8 •

 ! N$ 
NULLS U*  ? @ 7 ? 98 9
A ?* " !  : 7 9 9    ++8 •
I 0 $  ? +   )* 7 4  3$ -% )E+ 1+
$ < )2?$ B   < 
2?$

Universal Knowledge Solutions s.a.l 312


:"?* ) >  2  : ;
9 $M

.VALUES 9 = . SELECT       3: 


 *.: •

: *.0  $ 5 ) ?$   R )$  * •


INSERT [INTO] table_or_view [(column_list)] VALUES ( data_values )

I    3:  
INSERT  $   •

:M •
:titles   3:   *.:
INSERT INTO titles(title, type, price, sales, pubDate, publisher_id )
VALUES ('SQL Server Step by Step', 'IT', 1000, 0, null , 150 )

.= .
+7 J* 9
)E+ 8   7  < $   ?  J* 9
)E+ •
I=   ? *8  H ?+ +a 8  ': 7 ;
 4+ ++8 •
U*  ? @ 7 ? 98 9
A ?* " !  : 7 9 9    ++8 •
,+  , )* 7 4  3$ -% )E+ 1+
$ < )2?$ B   < 
2?$  ! N$ 
NULLS
I 0 $  ?

:"?* ) >  2  : ;


9 $M

:1 .
: % 7 $   ?  )* J*  
INSERT INTO titles(title, type, price, sales, pubDate, publisher_id )
VALUES ('SQL Server Step by Step', 'IT', 1000, 0 , 150 )
:>  
Server: Msg 109, Level 15, State 1, Line 2
There are more columns in the INSERT statement than values specified in the VALUES
clause. The number of values in the VALUES clause must match the number of
columns specified in the INSERT statement.
:2 .
: % 7 $   ? + )* J*  
INSERT INTO titles(title, type, price, sales, pubDate, publisher_id )
VALUES ('SQL Server Step by Step', 1000, 'IT', 0, null, 150 )
:>  
Server: Msg 245, Level 16, State 1, Line 1

Universal Knowledge Solutions s.a.l 313


Syntax error converting the varchar value 'IT' to a column of data type int.
:3.
:W  
INSERT INTO titles(title, type, priceee, sales, pubDate, publisher_id )
VALUES ('SQL Server Step by Step', 'IT', 1000, 0, null, 150 )
:>  
Server: Msg 207, Level 16, State 1, Line 1
Invalid column name 'priceee'.

),E+ F  INSERT  < VALUES     9   9 M8


*.H ?+ 9
< +  •
),* 
 *.0 INSERT  < SELECT    ++8 1+
: 
 *.0   8
:)$ 8 N'     9O
IINSERT   N' " :   *.H 4U+ ) 7   + 9
)E+ 
o
."  + D%+  7  D%+  C' 4+  8 )E+ M o
:M
9Z ?+, .  5 A
9 B     titles   + = M ( titles_archive    R%+
 , 3,:  , ,* Xtitles  , 9, ", X 
 *.H + @ C'   8
:titles_archive
INSERT INTO titles_archive
SELECT * FROM titles WHERE type = 'business'
: -
,  < 5 "   )* 7 
 98  SELECT *    +!  ': `+ ? $  9
:   "-   N'      ! *.:  &'( )* ++8  ': )2?$ B
Server: Msg 8101, Level 16, State 1, Line 1
An explicit value for the identity column in table 'titles1' can only be specified when a
column list is used and IDENTITY_INSERT is ON.

<, = , $ `+ 9.   N' 9


$ < "$ EA : M 7 *.: M   N$ 5? : )E+ )
.  N' 3$ 
= M )
`% T+ 9  ! 

Universal Knowledge Solutions s.a.l 314


UPDATE 8 9 # "#*
& *A 2 (

ID8$ $!  U $ &'(      )*  7   UPDATE  $   •

:   $ 5 ) ?$   R )$  * •


UPDATE table_name
SET { column_name = expression } [ ,...n ]
[WHERE < search_condition > ]

7    ? "$  4U+ ) 7 1$  4U+ C'    =
UPDATE ,  $ )*  •
I $ " $ J+ 9
)E+ )

I  


8 3$  E J    1+H* UPDATE  $ )* WHERE  (:   )* •

I  $ 9. JOIN  $ ;H ?+ 9


N'8 ++8 •

I  $ )* G 2B  ;H ?+ 9


= .
++8 •

ID8$ $!  U $ &'(      )*  7   UPDATE  $   •

: *.0  $ 5 ) ?$   R )$  * •


UPDATE table_name
SET { column_name = expression } [ ,...n ]
[WHERE < search_condition > ]

7    ? "$  4U+ ) 7 1$  4U+ C'    =
UPDATE ,  $ )*  •
I $ " $ J+ 9
)E+ )
:M
UPDATE titles
SET price = 1000
WHERE id = 15
I  
8 3$  E J    1+H* UPDATE  $ )* WHERE  (:   )* •

I  $ 9. JOIN  $ ;H ?+ 9


N'8 ++8 •
:M
:%5 + 150 ! A+ 48 *8   B ?+
UPDATE titles

Universal Knowledge Solutions s.a.l 315


SET price = price * 1.05
FROM publishers p join titles on pub_id = publisher_id
WHERE p.pub_id =150
I  $ )* G 2B  ;H ?+ 9
= .
++8 •
:M
:%5 + JA +  )* 9 A+ 48 *8   B ?+
UPDATE titles
SET price = price * 1.05
WHERE publisher_id IN ( SELECT pub_id FROM publishers WHERE city='JA '
)

DELETE 8 9 # "#*


& *A 34B

I    )*  7 B0 UPDATE  $   •

:5'  $ 5 ) ?$   R )$  * •

DELETE [ FROM ] table_name

[ WHERE < search_condition > ]

I  


8 5'   1+H* DELETE  $ )* WHERE  (:   )* •

I  $ 9. JOIN  $ ;H ?+ 9


N'8 ++8 •

I  $ )* G 2B  ;H ?+ 9


= .
++8 •

I    )*  7 B0 UPDATE  $   •

:5'  $ 5 ) ?$   R )$  * •

DELETE [ FROM ] table_name

[ WHERE < search_condition > ]

:M
DELETE FROM titles
WHERE price <= 100
I  
8 5'   1+H* DELETE  $ )* WHERE  (:   )* •

Universal Knowledge Solutions s.a.l 316


I  $ 9. JOIN  $ ;H ?+ 9
N'8 ++8 •
:M
:190 ! A+ 48 5' ?+
DELETE FROM titles
FROM publishers p join titles on pub_id = publisher_id
WHERE p.pub_id =190
I  $ )* G 2B  ;H ?+ 9
= .
++8 •
:M
:JA +  )* 9 A+ 48 *8 5' ?+
DELETE FROM titles
WHERE publisher_id IN ( SELECT pub_id FROM publishers WHERE city='JA '
)

Universal Knowledge Solutions s.a.l 317


"1 A  "1 5(" 

: 
   
Transact-SQL (2)

:   
.J* Glossary 5$ -+

:
.SQL Server   !  : -+   Transact-SQL E R ? '( )* <+

:  


:)$  3$ % '( )* 4 5
.  * SQL Sever < •
! V  < •
   < •
-+ < •
97 < •
  < •
 3+ •

Universal Knowledge Solutions s.a.l 318


SQL Server %&'(

 < 9  8 8 4+ 3: SQL Server 7.0  0 3:  < 30 9 M8
*8  *.

, +8: 9 >  P2   SQL Server 2000  0 3: L 7 < 9  =.
*.
8 =?
I<$ *.:

:<   5GK ) ? •


FUNCTION_NAME([parameter1 [,parameter2 [,…] ] ] )

o‫ﺏ‬0‫ ا‬6‫ا‬ :o‫ﺏ‬0‫ت ا‬4‫ﻡ‬0R‫ﻡ‬


‫رة‬0@V 0‫ت إﻡ‬4‫ﻡ‬0R‫ن ا‬+-‫ أن ﺕ‬-
‫ أو‬q‫ﺏ‬0‫ﺥ(( أو ﺙ‬p o‫ﺏ‬0‫د أو ﺕ‬+V 6‫)ا‬
‫ص‬0‫ز ﺥ‬0‫رﻡ‬

I  < T+ 3$ "+  +   ! <  •

:)( "% - 4  G  )* < 5 + 98 •

G * < o
.  < o
9B V  < o
   < o
-+ < o
97 < o
 P+ < o
7  < o
Niladic < o
  < o

 < 9  8 8 4+ 3: SQL Server 7.0  0 3:  < 30 9 M8
*8  *.

, +8: 9 >  P2   SQL Server 2000  0 3: L 7 < 9  =.
*.
8 =?
I<$ *.:

Universal Knowledge Solutions s.a.l 319


<, , 9, < ,+ ,M   3$* J G  " $  98  *./ < 9   ? •
RE N' 5G 9 F ++8H 1+
$ < =? 1 5+ 9  RU 5]/ 3$ + 9
OBJECT_ID( )
Isysobjects   9

' 4 ++8 M   3$*  .  < R8 "  C. 9 D  <  9 U 3$ •
I G * M8
G / < '(   9
:  $ N$ P  <   9 9 ) 

:<   5GK ) ?$ R )$  * •


FUNCTION_NAME([parameter1 [,parameter2 [,…] ] ] )

o‫ﺏ‬0‫ ا‬6‫ا‬ :o‫ﺏ‬0‫ت ا‬4‫ﻡ‬0R‫ﻡ‬


‫رة‬0@V 0‫ت إﻡ‬4‫ﻡ‬0R‫ن ا‬+-‫ أن ﺕ‬-
‫ أو‬q‫ﺏ‬0‫ﺥ(( أو ﺙ‬p o‫ﺏ‬0‫د أو ﺕ‬+V 6‫)ا‬
‫ص‬0‫ز ﺥ‬0‫رﻡ‬

I  < T+ 3$ "+  +   ! <  •

:)( "% - 4  G  )* < 5 + 98 •

I G * < o

I .  < o

I9B V  < o

I    < o

I-+ < o

I97 < o

I  P+ < o

I7  < o

Universal Knowledge Solutions s.a.l 320


INiladic < o

.   < o

Books ) SQL Server ,, P  J M$  98 1+


$ < < N$ (
9   @2A )* R+
. *.: $ 3$ $ (On Line

> C %&'#

I5  3$ @ 4!    $ ;H G * < + @ •

:SQL Server (* ) G * < *8 2! )   R •
< 5
ASCII (char) I< '(     " 9 7 5$ ASCII , B   <
:‫ل‬0‫ﻡ‬
SELECT ASCII('ABC')
:&‫ا‬
65

CHAR(int) IASCII B  4  / !$ )* B   <


:‫ل‬0‫ﻡ‬
SELECT CHAR('65')
:&‫ا‬
A
CHARINDEX(char_pattern, char, [int_start]) 5, , 3: + 7  )*  5 4   <

& , C', ! 9 = F


+ 9
++8 8 )+M  )* $ /
IJ     )* % 
IFM 
:‫ل‬0‫ﻡ‬
SELECT CHARINDEX('ABC','ABCDE ABC',2)
:&‫ا‬
7
DIFFERENCE(char1,char2) )$,$ 9 , )-%$ 5  L  3$  $ 4  0 9  `  !  <
I 8 8A = -% 9? 9 $$ 9
4  ?  F  5

Universal Knowledge Solutions s.a.l 321


:‫ل‬0‫ﻡ‬
SELECT DIFFERENCE( 'university' , 'universe')
:&‫ا‬
4
LEFT(char, int) I $ / $$  9   ! C  *  ! V+
:‫ل‬0‫ﻡ‬
SELECT left('university', 3)
:&‫ا‬
uni
LEN(char) I $$  O )* U% ;+M  * $$   <
LOWER(char) I E <. 3: $ / $ )* +  5 + G <
LTRIM(char) )*  U% P!  * $  <
I $$ N$  
NCHAR(int) IUnicode B  4   !$ )* B   <
:‫ل‬0‫ﻡ‬
SELECT NCHAR('1602')
:&‫ا‬
‫ق‬
PATINDEX(char_pattern, char) 5  3: + 7  )*  5 4   <
IJ     )* % 
I)+M  )* $ /
REPLACE(char1, char2, char3) , char1 ,$ )* )+M )* $  C
  ? <

:‫ل‬0‫ﻡ‬
SELECT REPLACE('ABC ABC AAA','BC','X' )
:&‫ا‬
AX AX AAA

QUOTENAME(char, [char_quote])   +  +   N' [] T+ 9 9 ?    $$  <
  3$– + 
'H* .9  B  D%+ 1  9  $ * $$
N' 9 + 9
)E+ 1+H* date  V  M 9   )+ 9

SQL  # B $8 M  '( 97 [date] 8A  )* 

, 9   $$ i 1  4U+ C' 5 T+  ++8
IC   )+M 

Universal Knowledge Solutions s.a.l 322


:‫ل‬0‫ﻡ‬
SELECT QUOTENAME('NAME','''')
:&‫ا‬
'NAME'
REPLICATE(char, int) , C,   7  )*  $$ 8   <

REVERSE(char) I   )*  )* 5 D8   <


RIGHT(char, int)   ! C  *  ! V+ ? <
I $ / $$ 9  9
RTRIM(char) I $$ N$ "+ )*  U% P!  * $  <
SOUNDEX(char) )$,$ 9 , )-%$ 5  L  3$  $ 5 
9  !  <

:‫ل‬0‫ﻡ‬
SELECT soundex('university') , soundex('universe')
:&‫ا‬
U516 U516
SPACE(int) I / ! C U* 9 +8 * $$  <
STR(float, [length, [decimal ]]) . * 3: !  !     <
+   5 A C )2?$ Y   ? 
I% C $%  )2?$
:‫ل‬0‫ﻡ‬
select str(40.04)
:&‫ا‬
40
STUFF(char1, start, length, char2) char1 3: char2 9      <
I  <! 9 =
:‫ل‬0‫ﻡ‬
select stuff ('ABC',2,3,'DEFG')
:&‫ا‬
ADEFG
SUBSTRING(char, start, length) I  <! 9 = 5 $$ 9   P!   <
:‫ل‬0‫ﻡ‬
select substring('ABCDEFGH',2,3)
:&‫ا‬
BCD
UNICODE(char) '(     " 9 7 5$ Unicode , B   <

Universal Knowledge Solutions s.a.l 323


I<
:‫ل‬0‫ﻡ‬
SELECT UNICODE('a%P')
:&‫ا‬
1602
UPPER(char) I 8 <. 3: $ / $ )* +  5 + G <

I5 9  $ + $   ++8 •

:M •
:authors   )* 9 %S +8  9 7 5 Y  C'  $ )$  * R+

SELECT substring(fname,1,1)+'.'+substring(lname,1,1) as 'Initials'


FROM authors
:  +
Initials
----------
`.D
D.T
†.T
`.D
.C

.5
.D

> 6
 %&'#

 +8 ! =  ! K < N$  )* $ /  ! 3$ =    $ ;H .  < + @ •
I N$

ISQL Server 7.0  0 9  .  <


SQL Server 2000  0  ?  •

Universal Knowledge Solutions s.a.l 324


:SQL Server (* ) .  < *8 2! )   R •
< 5
ABS(numeric) I / !$ ?k$m/   ?  <
ACOS(float) I / !$ arccosine  !  <
ASIN(float) I / !$ arcsine  !  <
ATAN(float) I / !$ arc tan  !  <
ATAN2(float1, float2) I9 $ / 9 ! 9   9  B - arc tan  !  <
CEILING(numeric) I / ! C 
8
   ! E
 <
COS(float) I / !$ 4   !  <
COT(float) I / !$ arc cotangent  !  <
DEGREES(numeric) I 3: 9  9 $   ?   3$  <
EXP(float) I / ! exp  <
FLOOR(numeric) I / ! C 
E
   ! 8
 <

LOG(float) I / !$ )2+M  U$  <


LOG10(float) I / !$ CAj  U$  <
PI( ) Iπ  ?  <
POWER(numeric1, numeric2) I)+M !  ? 3: 7 ! <* ? <
RADIANS(numeric) I9  3:  9 $   ?   3$  <
RAND([seed]) 9 seed     % 9  2A  ! ) <
I 2A  ? ;+ )* 1 $  98 C' D7
ROUND(numeric, length, func) I / !$ %$  4 ?  $ ? <

Universal Knowledge Solutions s.a.l 325


:‫ل‬0‫ﻡ‬
SELECT ROUND(123.4545, 2)
:&‫ا‬
123.4500

:‫ل‬0‫ﻡ‬
SELECT ROUND(123.45, 2)
:&‫ا‬
100,00

:‫ل‬0‫ﻡ‬
SELECT ROUND(150.75, 0 )
:&‫ا‬
151.00

SIGN(numeric)  + 0  =  98  + 1X  =   / ! 98  + 1  <


I% 98
SIN(float) I / !$ 4   !  <
SQUARE(float) I / !$ <G  !  <
SQRT(float) I / !$ )  '  !  <
I / !$ -  !  <

I    9  % / * X +  $   ++8 8 •

1 D
# %&'(

,"$ 98 F  datetime + 9 RU7 3$ (' %+ ++8 )  $ 8 9B V  < + @ •
I! 
V  
! 
* = ! 98 9
98 * " 
! 
V 

+, 9, = , =;B, M ( V  ;B  1 $ J$ =  
=  ! V  < T+
R ' > •
 ,! 3,: *.0 +M ;B 
+M 
? !  
 
  
"A 
+ 98 9
98 F  DATETIME
:)   )* " . ?+ L

Universal Knowledge Solutions s.a.l 326


:V  ;B  
V  ;B   (' > )  ? 5
year yy, yyyy 1753-9999 +
quarter qq, q 1-4 (%) + <
month mm, m 1-12 "A
dayofyear dy, y 1-366 + )*   4 
day dd, d 1-31  
week wk, ww 1-53 T7
weekday dw 1-7 T7 )*   4 
hour hh 0-23 
minute mi, n 0-59 ? ! 
second ss, s 0-59 +M
millisecond ms 0-999 +M 9 C2 ;B

:SQL Server (* ) 9B V  < *8 2! )   R •
< 5
DATEADD(datepart, int, date) )*  V  ;B 3: )+M    ! *.H ? <
FM  )*  V $ N' 7 

' > 9
98 (7  C
) V  ;B 9
$ < IDATETIME + 9 Y 
I"V  ;B"   )* G.  ?
:‫ل‬0‫ﻡ‬
SELECT DATEADD(YEAR ,2, '2000-09-25 14:00:000' )
:&‫ا‬
2006-09-25 14:05:00.000

:‫ل‬0‫ﻡ‬
SELECT DATEADD(DAY ,2, '2000-09-25 14:00:000' )
:&‫ا‬
2000-09-27 14:00:00.000

:‫ل‬0‫ﻡ‬
SELECT DATEADD(HOUR ,2, '2000-09-25 14:00:000' )
:&‫ا‬
2000-09-25 16:00:00.000

Universal Knowledge Solutions s.a.l 327


DATEDIFF(datepart, date1, date2) J% C
  V  ;B 3$ =  9  9  9  J%  <
+M ;B

)+M 
J2!  
 
 7 
"A7 
+
I)! + 9 Y  (V  ;B   -+) L
 ! 3: *.0
:‫ل‬0‫ﻡ‬
SELECT DATEDIFF(HOUR,'2000-09-25 14:00:000', '2000-
10-25 14:00:000' )
:&‫ا‬
720

:‫ل‬0‫ﻡ‬
SELECT DATEDIFF(MONTH,'2000-09-25 14:00:000',
'2000-10-25 14:00:000' )
:&‫ا‬
1
DATENAME(datepart, date)  980 98 ':   V  ;B   <
I("A 
  C
) ;B N'
:‫ل‬0‫ﻡ‬
SELECT DATENAME (WEEKDAY,'2000-09-25 14:00:000')

:&‫ا‬
Monday
:‫ل‬0‫ﻡ‬
SELECT DATENAME (MONTH,'2000-09-25 14:00:000')
:&‫ا‬
September
I  V  ;B  !  1+
8
:‫ل‬0‫ﻡ‬
SELECT DATENAME (YEAR,'2000-09-25 14:00:000')

:&‫ا‬
2000
DATEPART(datepart, date) I / V  9  V  ;B 4  <

Universal Knowledge Solutions s.a.l 328


:‫ل‬0‫ﻡ‬
:0‫ ا‬v‫ر‬00‫ دة ﺏ‬.‫ ا‬#‫(  ا‬Tw‫ ا‬a‫ ﺕ(ﺕ‬% 0
SELECT DATEPART (MONTH,'2000-sep-25 14:00:000')
:&‫ا‬
9
:‫ل‬0‫ﻡ‬
:0‫ ا‬v‫ر‬00‫ع ﺏ‬+@‫ ا‬a‫ ﺕ(ﺕ‬% 0
SELECT DATEPART (WEEK,'2000-09-25 14:00:000')

:&‫ا‬
40
:‫ل‬0‫ﻡ‬
:0‫ ا‬v‫ر‬00‫( ﺏ‬Tw‫م  ا‬+‫ ا‬a‫ ﺕ(ﺕ‬% 0
SELECT DATEPART (DAY,'2000-09-25 14:00:000')
:&‫ا‬
25
:‫ل‬0‫ﻡ‬
:0‫ ا‬v‫ر‬00‫ ﺏ‬#‫م  ا‬+‫ ا‬a‫ ﺕ(ﺕ‬% 0
SELECT DATEPART (DAYOFYEAR,'2000-09-25 14:00:000')
:&‫ا‬
269
:‫ل‬0‫ﻡ‬
:0‫ ا‬v‫ر‬00‫ د ﺏ‬.‫ع ا‬+@‫م  ا‬+‫ ا‬a‫ ﺕ(ﺕ‬% 0
SELECT DATPART (WEEKDAY,'2000-09-25 14:00:000')

:&‫ا‬
2
&‫ﺕ ل ا‬2  ‫م‬+‫ ا‬a‫ أن ﺕ(ﺕ‬K%V x‫ﺏ‬0#‫ل ا‬0‫ ا‬
K%V y‫ ذ‬R‫ و‬،‫ع‬+@‫ ا‬y‫ﻥ  ذ‬0‫ ا‬+‫ر ه‬0‫ ا‬v‫ر‬0‫ا‬
‫ع؛‬+@‫ن ﺏ ا ا‬+- - R‫م ا‬+‫ا‬
‫ﻡ‬0R‫ل ا‬4‫ع ﻡ ﺥ‬+@‫م ﺏ ا ا‬+ ‫ د‬.
@@DATEFIRST y‫ ذ‬K%V ‫ ﺕ ل‬P‫ ر‬P ]‫ ^ﺥ‬Q.‫ﺏ‬
2‫@( ا‬R‫ ﺕ‬Q.‫ ﺏ‬،‫م‬+‫ا‬1 2‫ وا‬،‫م اﺙ‬+ V 2 V
2‫ وا‬... ‫ء‬0‫ﺙ‬4‫ا‬7‫؛‬R&‫ ا‬V
:% 0‫ع آ‬+@‫م ﺏ ا ا‬+  .‫ ﺕ‬0-
SET DATEFIRST 6
‫ وﻡ‬،00‫ ﺏ‬،‫ع‬+@‫م ﺏ ا ا‬+ +‫ ه‬q@#‫م ا‬+ 0‫@(ﻥ‬V‫ ا‬Q.‫ﺏ‬
‫م‬+ ‫} أن‬#‫ أن ﻥ‬0- ،0‫ل ا‬0‫ ا‬0R‫ﻡ‬01/01/2006
y‫م ا )ﺕ^آ ﻡ ذ‬+ ‫ أي‬،‫ع‬+@‫ﻥ  ا‬0‫م ا‬+‫ ا‬+‫ه‬
:(y  a0.‫ ا‬v‫ر‬0‫ ام ﺕ‬0‫ﺏ‬
SELECT @@DATEFIRST 'Date First',
DATEPART(dw, '2006-01-01') 'Date Order'

Date First Date Order


------------- -----------------
6 2

Universal Knowledge Solutions s.a.l 329


DAY(date) I / V  9 "A 9    !  <
GETDATE()  4 ) ! V  C
  ! V   <
I]   3$ 5h (
GETUTCDATE() In+ U  ! 4 C
)  ! 4   ! V   <
MONTH(date) I / V  9 "A  !  <
YEAR(date) I / V  9 +  !  <

:  V  9  P?+: 
*.0 X +  $   ++8 •
:M
SELECT GETDATE( )'Today', GETDATE( )+5 'After 5 Days'
:  +
Today After 5 Days
---------------------------------- ----------------------------------------
2005-02-02 17:01:24.950 2005-02-07 17:01:24.950

 
$ 
  %&'(

;,
T8 "'      ? J$  $ T    <   •
I( U D"% @ % 
  ;

7

I(-+   ! $ <) -+   < A 8A    < -  •

 ,0 J$  *  A 8A -+    9 


=     <   =  @+/ •
, * ;
F    9. N$   $   SQL Server <   9
': SQL Server 9 %$ 
I-+   3$   M  ':

:SQL Server (* )    < R 2! )   R •
< 5
COL_LENGTH(table, column) I  )*    <

Universal Knowledge Solutions s.a.l 330


:‫ل‬0‫ﻡ‬
SELECT COL_LENGTH('authers','fname')
:&‫ا‬
50
COL_NAME(table_id, column_id) 5G      <
I1  C'   5G  N'
DB_ID([db_name])     ! 5G  <
I    ! 5G 

DB_NAME([db_id])   5G '   !   <


I    !  

FILE_ID(file_name) I    5$ 5G  <


FILE_NAME(file_id) I  5G '   5$   <
FILEGROUP_ID(filegroup_name) I  %$  5G  <
FILEGROUP_NAME(filegroup_id) I  %$   <
OBJECT_ID(object_name) I  RU 5G  <
OBJECT_NAME(object_id) I  5G ' RU   <

I(Books On Line) SQL Server , P  J M 3$ Ta0 98     <  $ 9 B$


E) %&'(

ISQL Server   :  k   ? J$  $ T -+ <   •

:SQL Server (* ) -+ < R 2! )   R •
< 5
APP_NAME( ) I< '( ' %+ ? C' J    <
U‫رﺕ  أ‬+‫ﺝ ﺹ‬+ :[4F]Comment
:‫ل‬0‫ﻡ‬ ‫ع‬+‫ﺽ‬+‫]ا ا‬T ‫ن‬0R‫ﺏ‬0‫ ﺕ‬.(w‫ا‬

MS SQLEM - Data Tools

SQL Query Analyzer

CAST(expression AS dataType) I O   + 3: 9      1" CONVERT < = M < (

Universal Knowledge Solutions s.a.l 331


:‫ل‬0‫ﻡ‬
DECLARE @myval decimal (5, 2)
SET @myval = 100.05
SELECT CAST(@myval AS varbinary(20))
&‫ا‬

0x0502000115270000

DB_ID([db_name])     ! 5G  <


I    ! 5G 

COALESCE(expr1, [expr2, …]) )* NULL C   


 <
I 8   2!
CONVERT(dataType[(length)],  /   + 3:   +   ? <
expression, style)
I! V    
9 =       Y'+ 3$ = 

Universal Knowledge Solutions s.a.l 332


:‫ل‬0‫ﻡ‬
:(.‫ ﻡ‬k‫( ﺏ‬R#‫د ا‬+V ‫(ض‬V

select title, type,convert(varchar(20),price)+' S.P' as 'price'


from titles
where type='business'
:&‫ا‬

title type price


---------------------- --------------- -----------
0R‫د ا‬0IP‫ا‬ business 771 S.P
‫رة ا و‬0&‫د وا‬0IP‫ا‬ business 882 S.P
‫ل‬0V‫رﺹ وإدارة ا‬+@‫ا‬ business 441 S.P

:‫ل‬0‫ﻡ‬
:U%‫ت ﻡ‬0T‫ ﺏ‬v‫ر‬0‫(ض ا‬V
mon dd yyyy hh:miAM (or PM)

select convert(char, getdate(),100)


:&‫ا‬
Mar 25 2005 2:47PM

:‫ل‬0‫ﻡ‬
mm/dd/yyyy
select convert(char, getdate(),101)
:&‫ا‬
03/25/2005

:‫ل‬0‫ﻡ‬
yyyy.mm.dd
select convert(char, getdate(),102)
:&‫ا‬
2005.03.25
:‫ل‬0‫ﻡ‬
Mon dd, yyyy
select convert(char, getdate(),107)
:&‫ا‬
Mar 25, 2005

:‫ل‬0‫ﻡ‬
hh:mm:ss
select convert(char, getdate(),108)
:&‫ا‬
14:56:23

:‫ل‬0‫ﻡ‬
yy/mm/dd
select convert(char, getdate(),11)
:&‫ا‬
05/03/25
Universal Knowledge Solutions s.a.l 333
:‫ل‬0‫ﻡ‬
:‫&(ي‬T‫ ا‬qP+‫ا‬
dd mon yyyy hh:mi:ss:mmmAM

select convert(char, getdate(),130)


&‫ا‬
3:06:40:553 1427 (U‫ ﺹ‬3PM
:‫ل‬0‫ﻡ‬
dd/mm/yy hh:mi:ss:mmmAM

select convert(char, getdate(),131)


&‫ا‬
3:07:26:590 1427/02/3PM

DATALENGTH(expression) N' 9. F       <


IU% 3

datalength((select title from titles where id = 2 ))

select datalength(' abc ')

HOST_ID( ) I5 . 4 5G  <


HOST_NAME( ) I5 . 4   <
ISDATE(char) 8A

9   / )*  98 ': 1  ?  <
IN' 5 )* 0  ?      DATETIME
ISNULL(expression, value)   +8 ':  * )+M  )*  value  ?  <
INULL U*  ! C 7  )*

select title, type, isnull(price, 0) as 'Price'

title type price


---------------------- --------------- -----------

Universal Knowledge Solutions s.a.l 334


0R‫د ا‬0IP‫ا‬ business 771
‫رة ا و‬0&‫د وا‬0IP‫ا‬ business 882
‫ل‬0V‫رﺹ وإدارة ا‬+@‫ا‬ business 441
‫ب‬+0.‫ ا‬V ‫دئ‬0@‫ﻡ‬ IT 1653
 .‫ﺕ ا‬0‫ﻡ‬+%R‫ا‬ IT 441
sql server 2000 IT 1323
&‫ا@(ﻡ‬ IT 400
+Tn‫ ا‬ COOK 200
(.@‫ت ا‬+‫ا^آ‬ COOK 350
‫ ون‬%‫اﺏ ﺥ‬ PSYCHOLOGY 350
‫ر‬+n  ‫ع‬0‫ اﺝ‬6%V PSYCHOLOGY 200
‫(وادة‬d ‫(ب‬ METH 0
SQL Server Step by Step IT 1102

:2‫ل‬0‫ﻡ‬
select title,type, isnull(cast(price as char),'NA')as 'Price'
from titles
:&‫ا‬

title type price


---------------------- --------------- -----------
0R‫د ا‬0IP‫ا‬ business 771
‫رة ا و‬0&‫د وا‬0IP‫ا‬ business 882
‫ل‬0V‫رﺹ وإدارة ا‬+@‫ا‬ business 441
‫ب‬+0.‫ ا‬V ‫دئ‬0@‫ﻡ‬ IT 1653
 .‫ﺕ ا‬0‫ﻡ‬+%R‫ا‬ IT 441
sql server 2000 IT 1323
&‫ا@(ﻡ‬ IT 400
+Tn‫ ا‬ COOK 200
(.@‫ت ا‬+‫ا^آ‬ COOK 350
‫ ون‬%‫اﺏ ﺥ‬ PSYCHOLOGY 350
‫ر‬+n  ‫ع‬0‫ اﺝ‬6%V PSYCHOLOGY 200
‫(وادة‬d ‫(ب‬ METH NA
SQL Server Step by Step IT 1102

ISNUMERIC(char)  / )*    980 98 ': 1  ?  <
IN' 5 )* 0  ?   ! 3:
NULLIF(expr1, expr2) I9 / 9 L ': NULL  ?  <

I(Books On Line) SQL Server , P  J M 3$ Ta0 98 -+ <  $ 9 B$

Universal Knowledge Solutions s.a.l 335


:J$

APP_NAME() < ' %+ Enterprise Manager  

Universal Knowledge Solutions s.a.l 336


APP_NAME() < ' %+ Query Analyzer  

A %&'(

I 7 9   J$  $ T 97 <   •

:SQL Server (* ) -+ < R 2! )   R •
< 5
HAS_DBACCESS(database)   98 ':  * $  <
I    ! 3: Y   N$ )
IS_MEMBER(group | role) )* =. )   98 ':  * 1  ?  <
    ! 3: Y     

IN' 5 )* 0  ?  
IS_SRVROLEMEMBER(role [, login])
 ?            )   98 ':  *
I=  9    5G  980 1+
$ < IN' 5 )*

Universal Knowledge Solutions s.a.l 337


USER_ID([username]) I    
)   5G  <
USER_NAME([user_id]) I  5G '    
)     <

I(Books On Line) SQL Server , P  J M 3$ Ta0 98 97 <  $ 9 B$

 8F# %&'#

, )* 7 9  3$  $ ;H ? "+> L 7 SQL Server < 9   < 5$  •
I7 N$    + K 9 

:SQL Server (* )   < (> 2! )   R •
< 5
AVG([ALL | DISTINCT] expression) I $ /    ? )  <
COUNT([ALL | DISTINCT] expression |*) <    )* NULL C  )  ?  ) <
I* B  /  +  9  U%  ? '
 1+
$
COUNT_BIG ([ALL | DISTINCT] expression |*)
Ibigint + 9 Y  9
: = COUNT < 1A <
GROUPING(columnname)   rollup 
cube    group by  3$ "*.:  ) #
IN' 5 )* 0  ?
MAX([ALL | DISTINCT] expression) I   )* 87  ?  <
MIN([ALL | DISTINCT] expression) I   )* E7  ?  <
SUM([ALL | DISTINCT] expression) I   )*  ? T  <

)( ALL  ? 9
$ <  8  U  ? <    1+H*  ? < < DISTINCT  ?     + •
I 2?$  ?
:)  < )* * B      9  U%  ? '
  •
:M
:?* %$  7 ' 48  h/ 48  48 8  2! )   R
SELECT
COUNT(*) 'ALL BOOKS',
COUNT(price) 'ONLY PRICED BOOKS',
COUNT(DISTINCT price) 'DISTINCT PRICES'
FROM titles

Universal Knowledge Solutions s.a.l 338


:  +
ALL BOOKS ONLY PRICED BOOKS DISTINCT PRICES
------------------- --------------------------------- ---------------
13 12 9

:M
:  48 
)    !
  3$> 2! )   R
SELECT
MAX(price) 'MAX PRICE',
MIN(price) 'MIN PRICE',
AVG(price) 'AVERAGE PRICE '
FROM titles

:  +
MAX PRICE MIN PRICE AVERAGE PRICE
------------------- --------------------------------- ---------------
1653 200 676

:M
9 , h,  U 48 '
<  48 
)    !
  3$> 2! )   R
:0 C 48 N'  / F  
SELECT
MAX(price) 'MAX PRICE',
MIN(price) 'MIN PRICE',
AVG(ISNULL(price,0)) 'AVERAGE PRICE '
FROM titles

:  +
MAX PRICE MIN PRICE AVERAGE PRICE
------------------- --------------------------------- ---------------
1653 200 624

:) M )* 8 GROUP BY  <   <  d K


:M
SELECT type, AVG(price) 'AVERAGE PRICE '
FROM titles
GROUP BY type

:  +
type AVERAGE PRICE
----------------------- --------------

Universal Knowledge Solutions s.a.l 339


business 698
COOK 275
IT 983
METH NULL
PSYCHOLOGY 275

COMPUTE BY  COMPUTE    •


I"%+     9. 
= % M8
$ 3$ $ compute by  compute 9  $8  

M )* 8 "%+   9.  + "-: 9   3$ )  < J  COMPUTE   kK
:)

:M
: 2?  O )* 7 ) 3: *.0 (
 "% + 48 ;> 2! )    9 R+

SELECT title,type,price
FROM titles
COMPUTE AVG(price)

:  +
title type price
--------------------------------- --------------------------- ----------------
) ! business 771
   ! business 882
7  :  business 441
4  |  IT 1653
M  $ IT 441
sql server 2000 IT 1323
 IT 400
" 9* COOK 200
 8> COOK 350
9 $ 9 PSYCHOLOGY 350
 )* T $ PSYCHOLOGY 200

Universal Knowledge Solutions s.a.l 340


 4 METH NULL
SQL Server Step by Step IT 1102

avg
===========
676

,"-: , 2B  8 3$ )  < J  N' ORDER BY  < COMPUTE BY   kK
:) M )* 8 "%+   )*  N$ 9.  +

:M
, 2B , 8 )*  8
3: *.0 (
 "% + 48 ;> 2! )    9 R+
: 2?  O )* 7 ) 3: *.0 +G8

SELECT title,type,price
FROM titles
ORDER BY type
COMPUTE MAX(price) BY type
COMPUTE AVG(price)

:  +
title type price
--------------------------------- --------------------------- ---------------
) ! business 771
   ! business 882
7  :  business 441

max
===========
882

title type price


--------------------------------- --------------------------- ---------------
" 9* COOK 200
 8> COOK 350

Universal Knowledge Solutions s.a.l 341


max
===========
350

title type price


--------------------------------- --------------------------- ---------------
SQL Server Step by Step IT 1102
 IT 400
M  $ IT 441
sql server 2000 IT 1323
4  |  IT 1653

max
===========
1653

title type price


--------------------------------- --------------------------- ---------------
 4 METH NULL

max
===========

title type price


--------------------------------- --------------------------- ---------------
 )* T $ PSYCHOLOGY 200
9 $ 9 PSYCHOLOGY 350

max
===========
350

avg
===========
676

Universal Knowledge Solutions s.a.l 342


.(Books On Line) SQL Server , P  J M 3$ Ta0 98    <  $ 9 B$

 GH I:

:  2  MM )*   !  : -+


<  ) E$ =  5a+K •
SELECT,  $8     ;? @ ) E$ )( DML(Data Manipulation Language) o
IINSERT, UPDATE, DELETE

CREATE  $8  + B  3+   ;+ @ ) E$ )( DDL(Data Definition Language) o
IALTER TABLE  TABLE

 $8   3: Y   @+ 5  @ ) E$ )( DCL(Data Control Language) o
.GRANT, REVOKE, DENY

"., < DML  $  @ ) 8 L 7 %  $  9 B T-SQL 9. •
I +GB / 2: 9. R

:IF   •
I1?? 3$ =  +   $ ' %+ 9  A   IF  $ + @

:IF  $ 9 G ) ?$ R )$  *


IF Boolean_expression
Statement_block
ELSE
Statement_block
Ifalse 
true  ? C/ 9
)E+ )+    9  ( =  
=  IF  $ ' >
"+8 1+
8 END  BEGIN ) $   $ 9 $8 9 ? ? )* Statement_block  
IEND  BEGIN    &'( )* C. 9 D  )    $ 9  9

I +M $8 ' %+  * J?  ': 37  $ $8 ' %+   ) )+  A J? ':

:M •
3,: &,+ )E+ 1+
$ <)   ! )* &     titles   5' )    9 ?+
9, ,"  ,"+  ,+ =  " $   ;H ?+ )   ! 9   +  .
(  T )  9 B  $ < . 

Universal Knowledge Solutions s.a.l 343



'9   J K L#  
  %&'( B
<1A 2
  MC N 3>  <'B
O
P 2
  MC Q
R <'B1

IF OBJECTPROPERTY(OBJECT_ID('titles'), 'istable') = 1
BEGIN
PRINT "Dropping table titles"
DROP TABLE titles
END
ELSE
PRINT "Table doesn't exists"

:CONTINUE  BREAK  WHILE   •


I=?? ?$ N$ ' %+ A   8 8A  $  ' %+ WHILE  $ + @

:WHILE  $ 9 G ) ?$ R )$  *


WHILE Boolean_expression
Statement_block

"+8 1+
8 END  BEGIN ) $   $ 9 $8 9 ? ? )* Statement_block   
+M 
"+ Y  ?$ 8 3: (' %+ + 37 C S F  CONTINUE  BREAK 9  $ 3$ C 9

I $8 N$ )*   $ ? 9 -+ RE  9  $ 8   9 ?$ A ' %+ *

:M •
= ,8 N,+(  ,  B )* + F  5% + titles   )* 48 
 B )    9 ?+
,++
: 4,8$ D. 1000 9 8
)  + 3  B )*  )E+ 1+
8 D. 150 9 !
(
:D. 2000 3: 48 
   )* ?$ 8+

Universal Knowledge Solutions s.a.l 344


WHILE ( SELECT AVG(price) FROM titles) < 1000
BEGIN
UPDATE titles SET price = price * 1.05

IF (SELECT COUNT(*) FROM tiltes WHERE price < 150) > 0


CONTINUE

IF (SELECT MAX(price) FROM tiltes) > 2000


BREAK

END
:%*
: ?  $ ' %+  + )*   "-
Warning: Null value is eliminated by an aggregate or other SET operation.

(13 row(s) affected)


I  )* NULL  ? C ) 7     F 

: " 
C,  ' 7 N$   F   9  U%  ? ' >  J   3: +   5.

c" $ $   J  9 98+ D. 50

:CASE   •
I   +  A G   ?  $ 9  )(    SQL E  $ 9 CASE  $ 


WHERE 
SELECT  )* C
 M  
 !   1 * @/ 98 C
)* CASE    98
IORDER BY 
GROUP BY

:9 $> CASE  $ N$ ! 9   98 ) 9 %$  9 ?  CASE  $   98
CASE expression
WHEN value1 THEN result1
[ WHEN value2 THEN result2 ]
[…]
[ELSE resultN ]
END

Universal Knowledge Solutions s.a.l 345


CASE
WHEN boolean_expression1 THEN expression1
[ [ WHEN boolean_expression2 THEN expression2 ] […] ]
[ELSE expressionN ]
END

:) M )* 8  7 )*    !    $ )* =  G* CASE  

:M •
4 N' titles   )* * ) 48  5 R CASE    )    9 ?+
:CASE  < $ 9 %$  9 $7 R+ 8 "% +

SELECT title AS 'Book Title',


CASE type
WHEN 'business' THEN 'Business Related Books'
WHEN 'IT' THEN 'Information Technology Related Books'
WHEN 'MYTH' THEN 'Mythology Related Books'
ELSE 'Other Books'
END AS 'Type', 'Price Rated to be '+

CASE
WHEN price < 500 THEN 'Low'
WHEN price BETWEEN 500 AND 2000 THEN 'Average'
WHEN price > 2000 THEN 'High'
ELSE 'Unknown'
END AS 'Price Rate'
FROM titles

:  +
Book Title Type Price Rate
------------------------ -------------------------------------- -----------------------------
) ! Business Related Books Price Rated to be Average
   ! Business Related Books Price Rated to be Average
7  :  Business Related Books Price Rated to be Average
4  |  Information Technology Related Books Price Rated to be Average
M  $ Information Technology Related Books Price Rated to be Average
sql server 2000 Information Technology Related Books Price Rated to be High
 Information Technology Related Books Price Rated to be Low

Universal Knowledge Solutions s.a.l 346


" 9* Other Books Price Rated to be Low
 8> Other Books Price Rated to be Average
9 $ 9 Other Books Price Rated to be Average
 )* T $ Other Books Price Rated to be Low
 4 Other Books Price Rated to be Unknown
SQL Server Step by Step Information Technology Related Books Price Rated to be Average

IUPDATE )* SET  $ M  F      CASE    N'8 ++8
:M •
4,8  B+ F  48 
  UPDATE  < CASE    )    9 ?+
:5% + 48 ? 8% + $ 48 10% + !

UPDATE titles
SET price =
CASE type
WHEN 'business' THEN price*1.10
WHEN 'IT' THEN price*1.08
ELSE price*1.05
END

:&"   •
B%?$   ) GOTO  $8   3+    )  $ 9 B SQL Server 2000 )* *
' %+  >   ) WAITFOR  $ 
(  +( -+ " 9  $ &'(    @+ )  $ 9 
I +GB   20 ;  
' %+   ) EXECUTE  $ 
  )+B  >
IBooks On Line  9 8
 % ". 98 L
 $ 3: *.0

 GH I:
(0'T# )

:8  +  •
I +GB   20 )*  8 8A  K !S 8A  ? 9 B  $  + @

Universal Knowledge Solutions s.a.l 347


G, N' 4+   +  =.
 8 DECLARE    )$  9 @  =  
I(  ! ;+ $ <) *G   +
9 
-a+ +
9 + N' 98 9
98 F 

128 3,: , 9


9,8 C' = A   J F  @ B  9 )$  3: A0 =  
I5

SET   9  3:  ? +: 98 1+


8  2   ?8 NULL U%  ? G $  3: +/
3,:  ? +0 SELECT   K 9  )*      ! +0   37 9
$ < SELECT 

I  9O )* M8



:M •
DECLARE @user_msg varchar(255)
SET @user_msg = 'Empty Message'

PRINT @user_msg

SELECT @user_msg = 'There are '+


CONVERT(varchar(5), (SELECT COUNT(*) FROM titles)) + ' books in the
titles table '
PRINT @user_msg
:  +
Empty Message
There are 13 books in the titles table

9,8 ,   ? 9 B  3: C S +0 $ 9


F     ! 9 M8
3$ )$  C 9
98 
  ! 9 B  3: C S  
 K +  SELECT   9 +: $ ;: 9
8  ?  ?
U%  ? +:  9 1+H*  C
T    )* 1+
$ <  )* X  7 N$ 9X  7
I"8$ 98 )  7  ? 3$ -*  F   3:

:;  +  •


&'( 9
: < 9   3: Ai SQL Server 9 ?  0 )*   @$ j K
C
9, 1, :  98 F  %   P G 9 G  G @$ 9
F   M 98  
 @  =   &'( ;E:  ?* N' "+ FG + ) "  " 9 5 " 98  '( 9
: < 
;:
I<  N$

Universal Knowledge Solutions s.a.l 348


, 8 %$  RU7 "  98 F  "%+ SQL Server  7  $ 9  $ < &'(  
IM   3$ (' %+   $  O 9   >  B

9, @ ,$ B, ',(  , ++8 1+


$ < "@@" B  9 < 9 T+ '( 3: A0 =  
I"@"B M =  G $ 

, 9,8  $ 3$ C < N$ R 9


F  "+GS ) $  9 < &'( (
98
IL
?  " :  4 $ + GB  Z ". 9
8 " :

:(Books On Line)  9 < ? R ++8 F  < N$ R 2! )   )* R+

<  5


@@CURSOR_ROWS I1   CURSOR  O )* 7 
@@DATEFIRST ...'8( 9 +M 3$ 1  7  3$ 7 !  F  T7 )*  

@@ERROR ; 7  = M8 < '( % (' %+   $  O 9   >  !
I` ? 
+GB   20 )* 8
@@LANGID I  ! < >A+  7   9   E$ 5G !
@@LANGUAGE I  ! < >A+  7   9   E$ 
@@PROCID I=  (' %+  ) +GB  20 5G !
@@ROWCOUNT I(' %+   $  e M> ) 7 
@@SPID I>A+/ )  5G !
@@CONNECTIONS I  7  EA $ '+ SQL Server 3$  ) Y  
@@TOTAL_ERRORS  8 
;? ;+M
;
" * F  )  
ISQL Server ,  7  EA $ '+
@@TOTAL_READ ISQL Server ,  7  EA $ '+  2 B % ;?  $ 
@@TOTAL_WRITE ISQL Server ,  7  EA $ '+  2 B % 8  $ 
@@DBTS I    ! )*  /  7 m
k   !
@@MAX_CONNECTIONS I=  4h+  0 " 9
98 ) )-7  
@@MAX_PRECISION ICA 
)!   + '  ? )* SQL Server " ) -7 ! 
@@VERSION I / SQL Server  : !

Universal Knowledge Solutions s.a.l 349


@@SERVERNAME I  G  

CURSORS

T, " 9 ?+ F    E "+


3$ XL 7  E - D8– SQL E  •
F, A, N,$ 7   F  7 9 L
 5' 
  7 9 
I )* %G

 $ &'( M  ? 9


:   L 3$   3$  $ J  3$ - ;  9  •
8   7   A 8A    9 + 
   9 SQL Server   3$
I=   R )*  9
98 1+

? ) 48 *8  B+ F  titles   )* 48 R 


  4U+ ++
R%+ M   3$* •
*8  P?++ 10% + D. 500 9 ( B ) 48 *8  P?++ 15% + D. 500 9 (
I25% + ! 48

:)$ 8  $%+ UPDATE  $ MM  ?$ X


  -+ " 9 – Y+  ?   J 
UPDATE titles
SET price = price * 1.15
WHERE price < 500

UPDATE titles
SET price = price * 0.9
WHERE price >= 500

UPDATE titles
SET price = price * 0.75
WHERE type = 'business'

, $ A J?  ) D. 480 & 48  R%+$* J   )* ?+ $8A  A -+
$ ' %+ + ) D. 552 , =  48 N'   @  15% + &  B   37  
C S,  !!!... 496.8  ?$ =   & @  =.
$ N$ A 1%+ 48 '( <.   +M  

+( =.
! 48 9. 9 5a+ 48 N' 98  ' 98  +GB    )* )?+ $ F  3:
I = ? M8
$8A

Universal Knowledge Solutions s.a.l 350


$G)( 1G  S   ' S2 = ?  5) E HCASE !"( ?( " +   I"E( H 
K")  ? ? =)
: ? $8A  @  G  )$  * n!++
),* , E 7   M 9  !S   MM 3: %$  7 V+ ?+ 9
 +  -+ " 9 ++8 •
I ? MM !S   9      9 titles  
 , 3:   ?+ titles   3$     $ MM ;H 
= 
1 9 ?+ ++
': = M  '(  
 $ MM ;H ?+ N'   !S   3:   N$ *.0 INSERT  $ ;H = +M ?+ F  !S
I !S   9 1 :   ?+ 
9 titles  $ @
 ++
: ; 7 9 9 ! table + 9  !S     9
9 U 3$ =  5$8  '( 
I+* ( J?+ )8 titles  $ @  $   ?$ Y+ B+

 ? 1 * 9B + F  )2?$ 8A 0  ? 3$ C bit + 9  *.H ?+ 9
L
-+ " 9 ++8 •
?+  + N$ 7 D%+ 3$ L
  ;:   + @  titles   )*   " $
 ) 7 )* 1
I  ? ;H
3,: *,.0 titles  $ $%+ @  $ MM ;H ?+ B+  ++
: ""+ ) $8A ?  &'( 
r 
IN$ ? $ 9 ;"+     ! ;E0  @ $

J  L  3$  8 P* " 9 ++8 ':  M8 


 "
cursors   ?  ;:  •
I1?? C'   3$   1 $ +  
),* ,7 ,
  -% 
7 9  8 +G8 9   ?+ ?+ 9
CURSOR   < + •
. $ &  @ $  9 7 3$    $ ' %+ %$   J  
  

Cursors Syntax

:Cursor , 5  •


I      
9 Cursor , 9 @  

:Cursors , 9 @ $ C    9  ) ? )$  *

DECLARE cursor_name [INSENSITIVE] [SCROLL]CURSOR


FOR select_statement
[ FOR { READ ONLY | UPDATE [ OF column_name [ ,...n ] ] } ]

Universal Knowledge Solutions s.a.l 351


:T-SQL E )* Cursors , 9 @  4$
9  ) ? )$  *

DECLARE cursor_name CURSOR


[ LOCAL | GLOBAL ]
[FORWARD_ONLY | SCROLL ]
[STATIC | KEYSET | DYNAMIC | FAST_FORWARD ]
[READ_ONLY | SCROLL_LOCKS | OPTIMISTIC ]
[TYPE_WARNING ]
FOR select_statement
[ FOR UPDATE [ OF column_name [ ,...n ] ] ]

, , 9,. INTO 


BROWSE 
COMPUTE BY 
COMPUTE ,  , ++8 
I ? ? )* select_statement

:  N' +8 n!++ Cursor 9 @ $    $ =   
= M )$  * R+ •
DECLARE titles_cur CURSOR
FOR SELECT title, price ,type FROM titles
FOR UPDATE OF price
I    3$ ?G     $  9  Cursor J M 5 o
, , 9, Cursor ,, ," 9
)E+ ) 7    9
 *8 )* )E+ o
= $, MS N$ 7   B 9
':  .  U *.: 
 Cursor,$ ` .%  F  WHERE
ICursor, ;
3$
1+
`G+ Cursor , 5+ ++H* ) titles   )*     J M  9 3+ ++
 o
I(FOR UPDATE)   $ 
9   
: N' 5 /      $   "+
3$ )2?$ 8A 3+ Cursors , 9
9 U 3$ o
I    P  >A+/ Cursor , 9> =  5  .% 1+

cursor , N' 9 @  ++8 )   + C' Cursor , )* 7     4U+  ': o
N,$ 9. + m%!k    Ta SQL Server  # @  (FOR READ ONLY) ?* ;?$ 1+
3$
I $
9
,$ <     )* " $   J    ) 7 
 column_list  9  o
I  N' 
*8 3$   C/ 9> >A+/  Cursor ,$ @  / '( 9 @   
. *  ! 3: Cursor ,  $ <.  o

Universal Knowledge Solutions s.a.l 352


:  $ cursors , •
I 
)$ 1+
3$ Cursor , 5  +8H SQL Server 7.0  0 3: *./   @ o

@ , 8A, "*' E : N' =   ! <    *G G cursors , 3? o
I2?  ;"+0 =  + = +. "*' E
IM   3$ ` ? 
+GB  20 C
1 * 1%   C' 9+8 )$ Cursor ,   o
I"  C' ` ? 
20 ' %+ ;"+ 
=  "*' E *G $ cursors , 3? o
.)a$ Cursor ( &     C' )2?$ T+ 9H*  %  ;+M
@  8A Cursor , T+    ': o

: % M8 +8 cursors , •


)* +M   +  T-SQL ! )* 37   F  = 9$M Cursor,$ 9? 9   o
I   SQL !
, 5  + tempdb   ! )* !S   )* Cursor , "   )   9 B   o
3,$  , F , +8: 9 -+ RE "  )   V+ ?+ ++H* =% M8 
= +8 98  Cursor
I $7  
 , M>, 9
Cursor , N'   +  ?* ;?$ Cursor ;+ 4U+  + G  &'(   o
I Cursor, ! 9  $   ;+M
  ! )* +B   
,G% 9  )* 1 * )2?$ 8A $G%   )( SCROLL   9> 5 M8 9 98 Cursor 5$ o
.(= ?   &'( n!++) )2?$ 8A 5 M8Cursor , )* FORWARD_ONLY  

:KEYSET  •
  J? ) # %  ! V+  * Cursor , 9 @  ;+M
KEYSET     + o
Itempdb   ! )* !S   3: N$ 7 8 V+ 9 
=      
I1 ?+ C'   3$ * D"* * 9
  &'(   < + )8 )E+ o
:G E Cursor , •
;+   
*.:   ': M   3$*   < M  ECursor , )* !   o
 , 9, "*',  
>* M . *.: ;  $ )* "   7 N$ 4$   1+H* Cursor,
I  ! Cursor , 9 N'8 "*'   ) 2
:FORWARD_ONLY  •
,, ,  , O T,+ 
, k C
    9  Cursor , (   ) 2?$   )( o
I1  )  4$ 9
?* 1+8 G E Cursor 1+
3$   &'" < C'Cursor
ICursor ,$   &'(  +  + G  9 M8
7 3$  98  o

Universal Knowledge Solutions s.a.l 353


F,  9, SELECT ,  $ < 1+?  9
98  1+
: T7 ( Cursors , 9 T+ '(  o
I; 7

: Cursors, @* •
I1 * +G.    $ ;A+: Cursor , @* + = A  o
, ', %+ , = ,A tempdb   ! )* !S   ;A+: 5 M8 
98 Cursor , )*  o
IOPEN
I7  J* <G. F  Cursor , N' AS 2 "  1* Cursor, ;A+:   + o
 ?   F  @@Cursor_ROWS <  9 Cursor , "+ 98 ) 7  R ++8 o
IFORWARD_ONLY   1 
G E Cursor (   Cursor, 9
3$ -1
.1 * +G. SELECT  $ ' %+ :   1+H*  * : Cursor, JU:   + o

: 9 @  •
c Cursor , 9 /  ?   5 8 o
=2 RE )%  ! N' 9
:  Cursor, 9.   +8  $  8 R+ 9
 ++8H o
  9  R )* * )   " 4U )  + 9  )   T .*7 9 F 
I $ 2 8A " : " $ +  ;H ?+ F  " * 7 R   9 B  $ 
8',  ", N,' "  ) 7 ;> " A Cursor , )*  ;
  =  .% o
I"+ RE
I( 5   A <) = ? (+$ ) ?  Cursor ,    5  ++8 o

:7 4$ •
9, N' Cursor, N' 9 7 ;! $ ;  980 @ Cursor , @* $ 9 ;"+  o
:FETCH  $ 
FETCH FROM titles_cur INTO @title, @price, @type

I   )* 1+ B  Cursor, 9 )  4$ )2?$ 8A FETCH  $ ? o
SELECT , ),* $ 7  C   9  < FETCH  $    )* o
:  >   :   1+H*  Cursor, 9 @  +  
Server: Msg 16924, Level 16, State 1, Line 21
Cursorfetch: The number of variables declared in the INTO list must match that of
selected columns.

Universal Knowledge Solutions s.a.l 354


:JB+/ Cursor , •
,( J,B+/ Cursor 9 `G+ N' ++H*  Cursor, 9 @  ;+M
SCROLL    +! ': o
?  1% ++8 C
" 4U+ ) ?  7 9 1+8 3: Y 9 ++a8   GB Cursor 9 
I FETCH  $  9 & + C'  3: A Y
,$M7 ),* , ( 8 )  4$ 3: C S JB+/ Cursor )* FETCH  $$ )2?$   9: o
I ?
:  $M7 )* 8 <! G  9 7 4$ FETCH  $ P  + 9
< + o
:)  4$ 
FETCH NEXT FROM titles_cur INTO @title, @price, @type

:J  4$ 


FETCH PRIOR FROM titles_cur INTO @title, @price, @type

:Cursor , 


 )* 7  4$ 
FETCH FIRST FROM titles_cur INTO @title, @price, @type

:Cursor , 


 )*  7  4$ 
FETCH LAST FROM titles_cur INTO @title, @price, @type

:Cursor , 


 )*  <! '  4$ 
FETCH ABSOLUTE 10 FROM titles_cur INTO @title, @price, @type

:Cursor , 


 )* " 5% 7 @% 
FETCH RELATIVE -4 FROM titles_cur INTO @title, @price, @type
‫ ﺏ‬i%% (n‫ أ‬R‫ل أرﺏ‬02‫ﻥ‬4
‫( اـ‬n‫أ‬Cursor

FETCH RELATIVE 3 FROM titles_cur INTO @title, @price, @type ‫م ﺏ‬0‫( ƒﻡ‬n‫ﺙ أ‬4‫ل ﺙ‬02‫ﻥ‬4
‫( اـ‬n‫أ‬Cursor

:%*
 U  4$ " * + )  3: &+ Cursors , T+
9 T+ C
)* 7 @%   + )E+ o
I=


Universal Knowledge Solutions s.a.l 355


I"$ + ) 7     A    9 ? $8A 4+ ++8 o
N,$ A%  + -1  ?      4$ $ @+  + 0  ? @@FETCH_STATUS <  o
C'  ?% /  + -2  ? =.
  Cursor , 
  Y   ! 98  + 
$
I1$ +

: 1 .
 ,  9 1 * +" +8 ) $8A  ?+  ?  A )* &+ C' M )$  * R+ o
:Cursor,

500 9 ( ? ) 48 *8  B+ F  titles   )* 48 R 
  4U+ ++
R%+ :P+
,! 4,8 *8  P?++ 10% + D. 500 9 ( B ) 48 *8  P?++ 15% + D.
I25% +

:

DECLARE titles_cur CURSOR ‫ اـ‬V „(I‫ا‬Cursor


FOR SELECT title, price ,type FROM titles
FOR UPDATE OF price

DECLARE @title varchar(50), @price int, @type varchar(50)


%.‫ت ا‬+.‫ ا‬V „(I‫ا‬
‫ ﻡ  اـ‬#‫ا‬Cursor

OPEN titles_cur
‫„ اـ‬Cursor

FETCH FROM titles_cur INTO @title, @price, @type 0‫( ا‬n#‫ ا‬6P a%‫ﺝ‬

‫د‬+‫ م وﺝ‬V 0 ‫ر‬0@‫اﺥ‬


IF(@@FETCH_STATUS = -1)
‫(  اـ‬n‫أ‬Cursor
BEGIN
PRINT 'NO BOOKS'
CLOSE titles_cur
DEALLOCATE titles_cur ‫ق اـ‬4b‫إ‬Cursor 1 B )+ B  B  ;E:

Universal Knowledge Solutions s.a.l 356


RETURN
END
WHILE (@@FETCH_STATUS = 0)
BEGIN
IF @type = 'business'
begin
UPDATE titles SET price=price*0.75 WHERE CURRENT OF titles_cur
PRINT 'Business book updated'
end
ELSE
BEGIN
IF @price < 500
begin
#‫ ا(ﺉ‬2%.‫ ا‬UPDATE titles SET price = price * 1.15 WHERE CURRENT OF titles_cur
PRINT 'book priced less than 500 SP updated'
end
ELSE
begin
UPDATE titles SET price = price * 0.9 WHERE CURRENT OF titles_cur
PRINT 'book priced more than 500 SP updated'
end
END
FETCH FROM titles_cur INTO @title, @price, @type
‫ء‬0‫ أﺙ‬%-w‫  وث ﻡ‬V (@R% ^n‫ ﺥ‬0‫(ض ر‬V
END 0‫( ا‬n#‫ع ا‬0‫ا(ﺝ‬
IF (@@FETCH_STATUS = -2)
RAISERROR('Attempt to fetch a row failed',16,1)
CLOSE titles_cur
DEALLOCATE titles_cur
‫ق اـ‬4b‫إ‬Cursor 1 B )+ B  B  ;E:
$ 8 ' %+ 9 ;"+ 

:? 
(1 row(s) affected)
Business book updated
(1 row(s) affected)
Business book updated
(1 row(s) affected)
Business book updated
(1 row(s) affected)
book priced more than 500 SP updated
(1 row(s) affected)
book priced more than 500 SP updated
(1 row(s) affected)
book priced more than 500 SP updated

Universal Knowledge Solutions s.a.l 357


(1 row(s) affected)
book priced less than 500 SP updated
(1 row(s) affected)
book priced less than 500 SP updated
(1 row(s) affected)
book priced more than 500 SP updated
(1 row(s) affected)
book priced more than 500 SP updated
(1 row(s) affected)
book priced less than 500 SP updated
(1 row(s) affected)
book priced more than 500 SP updated
(1 row(s) affected)
book priced more than 500 SP updated

"1 A) 

: 
   
.` ?  -+ *G   < +GB   20  : ;+

:   
.J* Glossary 5$ -+

:
, 20 9 8  % ++ F  ,  ! RU
9 T+
  : ;A+: % 8 $ &'( )* n!++
I` ?  -+ *G   < +GB 

:  


:)$  3$ % '( )* 4 5
SQL Server )*  -+  : ;+ •

5  o
 -+   o

: -+ ;A+: % 8 o

T-SQL    -+ ;A+: 


Enterprise Manager  7    -+ ;A+: 

Universal Knowledge Solutions s.a.l 358


c "%  -+
GB  -+ )(  o

SQL Server )* +GB   20  : ;+ •

5  o
+GB   20   2* o

+GB   20 | o

+GB   20 ;A+: % 8 o

T-SQL   +GB   20 ;A+: 


Enterprise Manager  7   +GB   20 ;A+: 

SQL Server )* ` ?  : ;+ •

5  o

` ?   o


:` ? ;A+: % 8 o

T-SQL   ` ? ;A+: 

Enterprise Manager  7   ` ? ;A+: 

Query Analyzer  7   ` ? ;A+: 


:` ? T+
o

AFTER ` ! 
INSTEAD OF ` ! 

SQL Server )* *G   <  : ;+ •

5  o
: *G   < ;A+: % 8 o

T-SQL   *G   < ;A+: 

Enterprise Manager  7   *G   < ;A+: 

Query Analyzer  7   *G   < ;A+: 

Universal Knowledge Solutions s.a.l 359


SQL Server  -.
)   M1 V
)&

:5  •
I  ! )* RE8 9GB /  1+
3$  -+ 5/
 -+$ A/  = U N' ; 7 F  9   9  1+   8 1A$ N' ).*   1+> -+ 5 98
I;+M R <   "+
3$ T-SQL  )*
9, +8 ; 7 
7 9  R aJ
8A 
  9 2B  R  -+  K
IUNION 
JOIN   9 R ". <    G  9 
9   

:5 •
 ), ),(  +GB      $ 9   -+ 9H*  ? @2A )* "+ +MG  ) "%  -+ ;+M
I)$* 8A   9 "  9GB   "+7 N'   ! 3$ = *.: =2 X= .*– 8A
( 9  9  =  A ; 7 M8
9 ". )  $ 9 B  B  Y  -+ 9
R% C' >  
I  ! )*  -+   9 9 N2
 3: C S ) 7 47 9

: -+   •


:  ! RU
9 T+ '" 2A   (
)$  * + ++
:  -+   9 RE 5$
I a?  )*   T  $   o
I  < A  4+ o
. 7 
7 L 3$   3: Y  $ 8 o

: a?  )*   T  $   


9  -+   o
, , $ ),* ,( U 
+G./ SQL < 
  < 
?    $  K  = M8
I!  <  ?  B 3: C S !   3$  $ &'(  8 9:  
 M 4+ -+ )* "+ B   9  N$ 9 + ? ;% H ?+ 9
 -+  9 ++8
I A -+ N' 9  

:" + )   + ;% 0  -+   o


  3: Y 8 @   $%   ?  9     ? 9  98  -+   98
I9   9 X  3$ "?  98 )X  E ;% H @ 8

Universal Knowledge Solutions s.a.l 360


C S ,  , 3$ )$?  E C
9: .9        ? ?  
9
R%+ M   3$*
9    ?8 -+    )* 
.   E J* )8   N' $ C' J    3: .
), ,  4,$  -+   )%8 1+
': J  3$   C
;: C. 9 D  1+H*   J 
,!  , J,  9  A  C
  )  +   / -+  * .J  N' "
I 

 B, ),   2B    ! T+


R )%* 
B   )*  -+   9 2% N'8 B
,   , + ;B, C
 X ;+ ;+M
X  F  ; 7 9  
9 !
G  3: =   8 8A "
5,/   9 N'     9 "+>8 N$  $ ;: ++8  -+   1+
: 1+ $
I  @2A )* J
a
8A 1A!++ C' |GB/ -+ 

:  9> 8$  -+   o


5  C. 9 D  1+
':    : $     3: Y  $  = .
 -+  K
T,+
,*8 +,: 98 F    N$   C' -+ 3$ $ N$   ':   3: Y  
I-+ L 9  
:( 9 
9 + 3:  -+   Y   5 + 98
: 7 L 3$  
I8    3: Y -+ )  `   
` 98 F 
:7 L 3$  
A J  N' 9   9  
3: Y -+ )  `   
` 98 F 
I-+ 5  ;+M
7 N$ 3$ WHERE    4+ $*

: -+ ;A+: •
:"+ ?+ G  3: &+ -+ ;A+: $ ;  ! )E+
I *  ? <. ( -+$ G    )E+ X
  9  "A ;7 ' 7 
)  < 9  98 ) N$   ’-+ 
 )E+ X
I-+ "  )
I-+ N' 9G8/ C'    $  9
-+ ;A+: ! =2 .%/ X
 COMPUTE  INTO :  % $8 9 C
3$ CREATE VIEW  $ C 9
98  X
ICOMPUTE BY
I=.
TOP      -+ )* ORDER BY    98  X
I" " + 9  
!S   3:  A 9
98  8   1024 9 M87 -+  A/ 9
98  X

Universal Knowledge Solutions s.a.l 361


)*  -+ 
  G  3:  A/ 9
-+$ 98 1+
$ <  G    ! 9. -+ ;A+:  9
 X
.( GB     )*)  O ]  3$ 3 
L
  !

:T-SQL    -+ ;A+: •


: -+ 9 @ $ C    9  ) ? )$  *

‫(و‬R‫ ا‬#‫ ا‬V‫ا‬+2 o +‫ وه‬،‫ر‬0†‫ ا‬6‫ا‬

CREATE VIEW [ < owner > . ] view_name [ ( column [ ,...n ] ) ]


[ WITH { ENCRYPTION | SCHEMABINDING | VIEW_METADATA } [ ,...n ] ]
AS
select_statement

[ WITH CHECK OPTION ] ‫ر‬0†‫ ا‬-w ‫م ا‬4R‫ ا‬%R‫ﺕ‬

:WITH ENCRYPTION o
9,8  F  T-SQL  $ 9 -+ L  %A RE N' -+ ;A+: ;+M
  &'(   ++8
I1   %A  -+ N'   
R
C., 9, 1+
$ < -+ L A+ 98  F  97 9. 
 0 RU7   &'(  K
I=? 1$  
12A+: : 
9 N' & %A ! -+ 9  C'   9 + 3$ -%
:WITH SCHEMABINDING o
I-+$ +G8 RU7 9 8 18  RE  9 8 9     &'( 4$
, ,  -+ 3$ MS ?  "$  
"*'  9
9 -+  ' RU7 *8  k  '( <+
.1 * G  &'(  % B: 
-+ N' 5'
:WITH CHECK OPTION o
,+G8 ,   , )* WHERE   9 -+ (  ) 7  ++8 1+
9 U 3$
:) M )* 8 -+ N' 3:  
*.: 
  9   <+  N' 9
: -+$
CREATE VIEW titles_view
AS
SELECT title, type, price, pubdate
FROM titles
WHERE TYPE IN 'business, IT'

GO

UPDATE titles_view SET price = 2000 WHERE title = 'SQL SERVER 2000'

Universal Knowledge Solutions s.a.l 362


GO

INSERT INTO titles_view(title, type, price, pubdate)


VALUES ('ABC' ,'IT' , 400, GETDATE())

)*   
*.0  $ ;H `   3: -+ ;+ ;+M
WITH CHECK OPTION  @  C S
:J M
CREATE VIEW titles_view
AS
SELECT title, type, price, pubdate
FROM titles
WHERE TYPE IN 'business, IT'
WITH CHECK OPTION

: $M

:1M
:    
3$ -+ ;A+:
CREATE VIEW titles_view
AS
SELECT title, type, price, pubdate

FROM titles

.‫(ر‬-‫ ﻡ‬-w‫ ﺏ‬R‫ ة  ﺝ ول ﻡ‬V‫ ﻡ ا‬V+&‫ ﻡ‬R#‫ ﻥ‬0‫ ﻡ‬V (‡0‫ع ﻡ ا‬+‫ م ه]ا ا‬#

:2‫ل‬0‫ﻡ‬

:‫ د‬.‫ ة ﺝ ول ﻡ‬V‫ أ‬K%V (Uw‫ر ﻡ‬0†‫ء ﻡ‬0w‫إﻥ‬

CREATE VIEW bublishers_view (fname, lname, pub_id)


WITH ENCRYPTION
AS
SELECT fname, lname, pub_id
FROM publishers

:3‫ل‬0‫ﻡ‬

:ّ‫ ﻡ‬o‫اﺏ‬+‫ ﺕ‬K%V ‫ي‬+. ‫ر‬0†‫ء ﻡ‬0w‫إﻥ‬

CREATE VIEW categories (category, average_price)


AS
SELECT type, AVG(price)
FROM titles
GROUP BY type
GO

Universal Knowledge Solutions s.a.l 363


:
B  -+ •
I   )* !
 3$
B   3: 
= ?*
?   3: Y$
B  -+  
3$ 3 
L
  ! )* 
  ! D%+ 3$ 
B   3$ C )   98 9
98
I  G  
 O ] 
N' UNION ALL  $  9 R ". < ".   N$ <  ? )
B  -+ ;A+: 
I-+$ +G8  9  8 )* 4+ ;B     3: A0 

:M
--create the tables and insert the values
CREATE TABLE SUPPLY1 (
supplyID INT PRIMARY KEY CHECK (supplyID BETWEEN 1 and 150),
supplier CHAR(50)
)
CREATE TABLE SUPPLY2 (
supplyID INT PRIMARY KEY CHECK (supplyID BETWEEN 151 and 300),
supplier CHAR(50)
)
CREATE TABLE SUPPLY3 (
supplyID INT PRIMARY KEY CHECK (supplyID BETWEEN 301 and 450),
supplier CHAR(50)
)
CREATE TABLE SUPPLY4 (
supplyID INT PRIMARY KEY CHECK (supplyID BETWEEN 451 and 600),
supplier CHAR(50)
)
INSERT SUPPLY1 VALUES ('1', 'CaliforniaCorp')
INSERT SUPPLY1 VALUES ('5', 'BraziliaLtd')
INSERT SUPPLY2 VALUES ('231', 'FarEast')
INSERT SUPPLY2 VALUES ('280', 'NZ')
INSERT SUPPLY3 VALUES ('321', 'EuroGroup')
INSERT SUPPLY3 VALUES ('442', 'UKArchip')
INSERT SUPPLY4 VALUES ('475', 'India')
INSERT SUPPLY4 VALUES ('521', 'Afrique')

--create the view that combines all supplier tables


CREATE VIEW all_supplier_view
AS
SELECT *
FROM SUPPLY1
UNION ALL
SELECT *
FROM SUPPLY2
UNION ALL
SELECT *
FROM SUPPLY3
UNION ALL
SELECT *
FROM SUPPLY4

Universal Knowledge Solutions s.a.l 364


MA "#*Enterprise Manager -.
)   M1 V
)& 

 , " 2! 9 New View     9 N' Enterprise Manager  7  9  -+ ;A+: ++8
I +   ! )* Views ,

SQL 
$ <)   3$ )
8A Enterprise Manager  7    -+ ;A+: 
I= +  -+ ;+  F  (Server

Universal Knowledge Solutions s.a.l 365


, 9, N'     -+ " $   )   *.: )( -+ ;A+0 (' %+ 4    
;+ ?+ =
 "  4U+ )    ?+ N'    )* Add Table +?
3$ E.
I-+ P  

Universal Knowledge Solutions s.a.l 366


:properties "  9 N' L 7 -+ P2  ?+ 9
N'  ++8

Universal Knowledge Solutions s.a.l 367


:-+     9 B  ++8 -+ ;+ 9 ;"+ 

SQL Server  X> "  


W@7  M1 V
)&

:5  •
I  ! )* C' %+ RE8 +GB / T-SQL  $ 9 M8

 $ 9 +GB  20 
IRU7 N$ + 2* 9 B   +GB   20 3: 9    98
.Y  +8 
 
 !  ! +GB   20 

: +GB   20 2*   •

Universal Knowledge Solutions s.a.l 368


,! RU
9 T+ '" 2A   (
)$  * + ++
:  +GB   20   9 RE 5$
: 
", ;B
 3: B  ?  F  
B/  "% <a+ 9
+GB   20  9 ++8 o
I" : $
N', ,?/  < 3$ =    3: Y "% 3$    3: Y  $  o
N,$ " , )   3:     N 9  + 3$   2: ' %+   : +8:
I 20
,%$  T-SQL  $ 9  9 +GB   20 98  + =   8A 3$ E. R %  o
I9B   9  "+ 8  ;  ;A+: 3:  9 = A   3$ (' %+  F 
, , 9
 =  T-SQL   ' %+  9 8
' %+  +BG   20 < o
C., 9 D    7 (' %+  8' )* "+ B   ' %+$ = %$8 !7 J      @  $
I 20 N$ ' %+ " *  G  8 )*   N$ ;+ :
I  J*
 4 N' = +  ; 7 R %  o
, 20 , 9,  , N$ 3$   *8 ' %+   ': =    8 9.  +8: o
. +GB 

: +GB   20 | •


: EA 2  3$ ) 2 8A  )  +GB   20   | R )$  * +
IL 7  E < = +? =  ?  E$ T-SQL E   o
9, ,  9
 = , " $  )  2  < 8 + 9 "%. +GB   20 B  o
    7 N$ 9  9
   2  <  
@ ?+$  
     ? 
I +GB   2i 8   *

:T-SQL   +GB   20 ' %+ ;A+: •


: +GB   20 9 @ $ C    9  ) ? )$  *

‫ﺹ‬0‫ا‬ 5
 N   < +GB  20 ;A+: 
CREATE PROC[EDURE] [ owner.] procedure_name
I *  A <. C' 20
;7 )* 1A )  20 <   / !
[ ; number ]

Universal Knowledge Solutions s.a.l 369


  &'(    9 98 F 

I  * +GB   2: G  5' ?+ 9

1+     F   2!


[ [(] @parameter data_type[ = default_value]
I 2  1 ! 3: *.0
[ OUTPUT ] IY  (   9
3$   ) % $8

[ ,...n ] [)] ] I +B  20  ? 


? B   9 B  )E+  1+
 )   )(

[ WITH { RECOMPILE |  +GB  2i $? ' %+  $ 


9

I' %+ !  8 )*   N$ ;+ :  F 


 +GB   20 L  %A   
ENCRYPTION |
I( -+ )*  %A  <)
RECOMPILE , ENCRYPTION } ]
I= 9 ? 9     +8: 9  $

I 2i +G8
AS sql_statement [ ...n ]
 +GB  20 (  ) X(   )*X Y   !

[return [integer_status_value]] )  )* RETURN 0    .% 1+


$ <
5,  O ! :  $ 8A +GB  20 ' %+ " * 
.N'

: $M

:1M
: ?     $ <   2: ;A+:
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'authors_info_all' AND type = 'P') ‫(ض‬b ‫د‬+‫ر وﺝ‬0@‫اﺥ‬
DROP PROCEDURE authors_info_all @P 6‫]ا ا‬T‫ﺏ‬
‫ء‬0w‫ وإﻥ‬C‫ا اﻡ‬
GO ‫ا"ﺝ(اﺉ‬
CREATE PROCEDURE authors_info_all
AS

Universal Knowledge Solutions s.a.l 370


SELECT au_lname, au_fname, title, pub_name
FROM authors a INNER JOIN titleauthor ta
ON a.au_id = ta.au_id INNER JOIN titles t
ON t.title_id = ta.title_id INNER JOIN publishers p
ON t.pub_id = p.pub_id
GO

:2‫ل‬0‫ﻡ‬

:‫ت دﺥ‬4‫ﻡ‬0R‫ﻥ ﺕ^ﺥ] ﻡ‬B‫ء إﺝ(اﺉ ﻡ‬0w‫إﻥ‬

IF EXISTS (SELECT name FROM sysobjects


WHERE name = 'au_info' AND type = 'P')
DROP PROCEDURE au_info
GO
USE pubs
GO
CREATE PROCEDURE au_info
@lastname varchar(40),
@firstname varchar(20)
AS
SELECT au_lname, au_fname, title, pub_name
FROM authors a INNER JOIN titleauthor ta
ON a.au_id = ta.au_id INNER JOIN titles t
ON t.title_id = ta.title_id INNER JOIN publishers p
ON t.pub_id = p.pub_id
WHERE au_fname = @firstname
AND au_lname = @lastname
GO

:3‫ل‬0‫ﻡ‬

:‫ت دﺥ وﺥ(ج‬4‫ﻡ‬0R‫ﻥ ﺕ^ﺥ] ﻡ‬B‫ء إﺝ(اﺉ ﻡ‬0w‫إﻥ‬

IF EXISTS(SELECT name FROM sysobjects


WHERE name = 'titles_sum' AND type = 'P')
DROP PROCEDURE titles_sum
GO

CREATE PROCEDURE titles_sum @@TITLE varchar(40) = '%', @@SUM money


OUTPUT
AS
SELECT 'Title Name' = title
FROM titles
WHERE title LIKE @@TITLE
SELECT @@SUM = SUM(price)
FROM titles
WHERE title LIKE @@TITLE

Universal Knowledge Solutions s.a.l 371


+GB   20  M1 V
)&  Enterprise Manager MA "#*

9 New Stored Procedure     9 N' Enterprise Manager  7  9 +GB   20 ;A+: ++8
I +   ! )* Stored Procedures ,   " 2!

P B " * "- 8  9 +GB  20 L 8 + @  " "- F 
:= ! 48     

Universal Knowledge Solutions s.a.l 372



9  ,$ ,+  , R,+ 9
" N$ )* Permissions B  9 ++8
:"2+   +B  2i 9   

Universal Knowledge Solutions s.a.l 373


:SQL Server Wizards >? $) *  ;,  <"?X 71 #
20 ;+ ?+ 9
+B   20 ;A+H   SQL Server Wizard "  9 < +
:   

Universal Knowledge Solutions s.a.l 374


: Database A 9. 9 Create Stored Procedure Wizard  + M

Universal Knowledge Solutions s.a.l 375


: +GB   20 ;A+H   Wizard , " 9  2 " N'  "-

:" * +GB  20 ;A+H 4U+ )   ! N'  +

Universal Knowledge Solutions s.a.l 376


?+ ) +B  20 9. " $   ;H 4U+ )   
  N'  +
*.: $ ;: 12A+H ?+ C' M )*  + F    
5' 
*.: + 9 "2A+H
:titles   3$  

: ? " 9 9G8 SQL     


R + @  " N'  "-

Universal Knowledge Solutions s.a.l 377


: *.0 $   Edit 3$ E.   " "-

Universal Knowledge Solutions s.a.l 378


Edit SQL… B 3$ E. T-SQL   2 ( 3$ "2H +! )   R < +
:= !        3$   ;: =.
++8 8

,! ),* ,+GB   20 2! 3: "*.: 9 +GB  9  2: ;A+: J M )*   X
I"2A+:   20 N$   ++8 1+
$ <     
.SQL Query Analyzer  7  9 +GB   20 ;A+H ?+ 9
N'8 ++8 X

: +GB   20 ' %+ •


I +GB   20 ' %+  ?+ 9
SQL Query Analyzer  7  9 < + •
M 4+     C
SQL Query Analyzer A )* 20 3:  
= 
)E+ •
), , 20 + =
 N$   ! )* +GB   20 $ M +   !
.Open  + (' %+ 4U+

Universal Knowledge Solutions s.a.l 379


:X  9:X   H   " N'  "-

C
) 1+ 
  + F  9 "+ 8  5 <  2! " N$ )* -+ F 
Set to null    < 9
$ <   ! *.H P B G 3: *.0 (Y 
 
. U%  ?    9
9   @

Universal Knowledge Solutions s.a.l 380


SQL Server 
Y
"#*1 ZM'

:5  •
I  )*   F  =  + = 2?$ (' %+  F   +GB   20 9   ` ? 
9   3$  E F  (' %+  F  M8

F  T! (' %+   8   3$ ` ? ;A+: 
.  
5' 
*.:

:` ? 2*   •


;H, ? "+
 =  "$8 9.   ! +  
9 "   ) "  7 9 ` ? 
I" $  )  E 8>  9
!   3$  ?  $

:"+ 7 9  8  ? 9


X(' %+ ;+M
X ` ? < 
I   E  ! +?  $  ? o
I  3$   ' %+ 9 < o
I %$    ! 9 
  ! D%+ 9   G  9   ;! o
I %$    ! 9 
  ! D%+ 9     o
I  $ +GB   20 ' %+ o
D,%+ 9,. , 7 R 3$  ) N$    7 3$ .% ?  ?   o
I %$    
 
I)aA ) 8 9. o
.  



 )*    3$  ) ? 2?$  ?  o

:%*
9 &BG  P2  < ` ?   9
:  ? " *8 ' %+ +GB   20   ++8 1+
9 U 3$
9  )*   3$ "?  98 )   T+
9 T+ C
;+M
)* ` ? ' %+ +80 N' +GB   20
3,$  , ;: + : (' %+   ?  B )* +. SQL   
+GB   20 B 9

. 

Universal Knowledge Solutions s.a.l 381


` ?  M1 V
)&  Enterprise Manager MA "#*

,   " 2! 9 All Tasks     9 N' Enterprise Manager  7  9 ` ? ;A+: ++8
IManage Triggers  + M 1 $ *G ` ?  H C'  $

L, 8 + @ 8   ` ! 9  C' )7 4? 3$ C  " "- F 
:= ! 48      P B " * "- 8  9  ` ?

Universal Knowledge Solutions s.a.l 382


9 ?  ` ?   ;A+: +8: SQL Query Analyzer  7  9 SQL Server 2000 
:)$ 8 9  
, RU7 *8 R+ 9
SQL Query Analyzer )* RU7 A  9 ++8 •
I` ? "+     ! )*

Universal Knowledge Solutions s.a.l 383


 , ,?+ 1     " 2! 9 Edit  + 4+ ` ? + 9
=.
++8 8
I  
 9 1 

4,? T+
*8 R ) Query Analyzer  7 )*  4? A  9 ++8 •
, 9, N,' ` ?$  7 4? R+ 9
SQL Server )* RU7 3$ ?
IN$ A )* Create Trigger $ 9. 9 Create trigger basic template   

 Replace Template Parameters  k  9 


=  : 4? N'    ++8
:SQL Query Analyzer )* Edit 2? )*

Universal Knowledge Solutions s.a.l 384


Universal Knowledge Solutions s.a.l 385
SQL Server ` ? ^W
[\1 ]'X

9, 9,8  F    ` ? 9  T+ )( After Triggers +8 SQL Server 2000  0 "- !
I` ? 9 T+ '( 3$  $ "After"    C.
"+ F + )) INSTEAD OF TRIGGERS  " $ J$ ` ? 9 =  =+ SQL Server 2000  7 G !
I` ? 9 ? T+7 3$  $ AFTER % $8   @  (=?

:AFTER Triggers •
 , 9 +   $  0 SQL Server  7 "G ! ) $7 Z ( ` ? 9 T+ '( 
I  3$ ?
 9  ('
)E+ ) " ?+ R N+( 9
: "% F  9   ` ? 9 T+ '(  ?  
IAFTER Triggers   +
,*8  , , F,    N$ 8> ! 98   3$   ' %+  AFTER Triggers J: 
` ,? ', %+ ),"+ 3 ( 8>   98 !+ 
r  5$ )* X"?   )   9 SX !+
I8
I1!H ! )   9 
` ?  9 "?   )   *8 9 < 98

:` ? ;A+: 9  ) ? )$  *

‫ﺹ‬0‫ا‬ 5
CREATE TRIGGER trigger_name I` ? N'   <  ` ! ;A+:  $
ON table_name I1 $ ` ? ;A+:   C'   
, ,"+
,$ < >A+ ` ? T+ 3$  

AFTER {INSERT | UPDATE | DELETE}


J,: 3: C S ) $ 3$    AFTER
 
9      
   *.:  : C
` ?

AS
. !:  ` ? ! 9 (' %+   )  $ 9 
Sql_statements

Universal Knowledge Solutions s.a.l 386


:.
3$    $ G  ;H ?+ M "$   ) 7    AUTHORS   3$ ` ! ;A+H ?+
:` ? Y +    N' 

:` ?  
CREATE TRIGGER AUTHORS_UPDATE_TRIG
ON authors
AFTER UPDATE
AS
PRINT 'TRIGGER OUTPUT:' + CONVERT(VARCHAR(5), @@ROWCOUNT) + ' rows
were updated '

GO

:K‫  او‬R‫ ا‬%V

UPDATE authors SET fname = fname WHERE ID=5

:( R‫ ا‬%V R‫ ﺏ‬CP4d‫ إ‬6 ‫دح ا]ي‬02‫ ا‬0‫دح )أي ر‬02‫ ا‬V }‫ﺕ‬0‫ا(ج ا‬

TRIGGER OUTPUT: 1 rows were updated


(1 row(s) affected)

:‫ﻥ‬0‫  ا‬R‫ ا‬%V

UPDATE authors SET fname = fname

:‫دح‬02‫ ا‬V }‫ﺕ‬0‫ا(ج ا‬

TRIGGER OUTPUT: 11 rows were updated


(11 row(s) affected)

:S

*,.0  $8   3$   J    AFTER Triggers ' %+ 9
$+

,7 3,$ ,.%  ? ' %+ 9.  (' %+  ) F 7 ? < N' !  98   
5'
c 
:AFTER Trigger ' %+ ! (' %+  ) F # R )$  * X
:  ?  o
I   ! p%  ! 7 @ % 3$ A N'  .%  ?  ` ? ' %+ ! 
:     ? o
@ ,% 9, +  ? C
  9  !  9  )  ?  ` ? ' %+ ! 
I  

Universal Knowledge Solutions s.a.l 387


:` ? J$
C' F  o
3, ( , 8> ,  98 &' %+ ! "?   F  1!: 3: G
)   *8 J  ` ? ' %+ ! = .

.&' %+ 9 ;"+

.` ?   ! =  "$ O "*  9  ?+ &'( '
)E+ )

: -
9,   )*  E $ 8 
9 ` ! 9 M8
;+ SQL Server 2000  SQL Server 7.0 9 8 @ X
I5' 
  
*.:
4,  J$  * =  8 R F  3: C S 9
98 "+
:  R )* %   &'(  X
I' %+ $
` !  O 
5  `  9 N$ N  9 = .  B 9
SQL Server 2000  0 T X
3? ,* = "!:  ` ! 
  )%* C' 8A $8A N$   1+
: 9   =  + "!: 
I5  U FM )+M 9  ? ' %+ 4$

:)(  MM ' > F  ` ? ' %+ 4   0 sp_settriggerorder 20  K X

Sp_settriggerorder (trigger_name,order_value,action)

e]U‫ ﺕ‬a‫  ﺕ(ﺕ‬.‫ ﺏ‬ab(‫دح ا]ي ﻥ‬02‫ ا‬6‫ا‬ :‫دح‬02‫ ا‬y] a‫ع ا(ﺕ‬+‫ﻥ‬ :‫دح‬02‫ق ه]ا ا‬4d" ‫ ا]ي Šدي‬RU‫ا‬
) FIRST | LAST | NONE( ) INSERT | UPDATE | DELETE(

:M
Sp_settriggerorder authors_update_trig,FIRST,'UPDATE'

:INSTEAD OF Triggers •
9 ` ? &'( <] INSTEAD OF Triggers  " $ J$ ` ? 9 =  = + SQL Server 2000  0  ?
I ?  0 )* "   ) AFTER , ` ? 
=   ?  8A ` ?$   +80

8 – INSTEAD OF Triggers )*  F  J T+ 9 1$ 4$


)*  8 8A ` ? 9 T+ '( 5$
I1%+ ` ? )* %  ` ? J: 3: G
)    – " 9  

:` ? 9 T+ '( ;A+: 9  ) ? )$  *

Universal Knowledge Solutions s.a.l 388


‫ﺹ‬0‫ا‬ 5
CREATE TRIGGER I` ? N'   <  ` ! ;A+:  $
ON table_name I1 $ ` ? ;A+:   C'   
I12+ ?+ C' ` ? T+ 3$   INSTEAD OF

3,: C S ) $ 3$    INSTEAD OF


INSTEAD OF {INSERT | UPDATE
9      
   *.:  : C
` ? J:
9, ` ,? L $ N$    F   5'  

AS
. !:  ` ? ! 9 (' %+   )  $ 9 
Sql_statements

:.
3$    $ G  ;H ?+ M "$   ) 7    AUTHORS   3$ ` ! ;A+H ?+
:` ? Y +    N' 

:` ?  
CREATE TRIGGER AUTHORS_UPDATE_insteadof_TRIG
ON authors
INSTEAD OF UPDATE
AS
PRINT '--TRIGGER OUTPUT:' + CONVERT(VARCHAR(5), @@ROWCOUNT) + ' rows
were updated '

GO

: R‫@ إﺝ(اء أي ﺕ‬P xw‫ ﻡ ﻡ  دﻡ‬UŠ‫ ﻡ ﻡ‬Authors ‫ت ﺝ ول‬0+.‫(ض أو ﻡ‬R#

SELECT * FROM AUTHORS WHERE city = '‫'د‬

Universal Knowledge Solutions s.a.l 389


:}‫ﺕ‬0‫ا(ج ا‬

fname lname city id


--------- ----------- ------ ------
  JA 1
  JA 2
  $ JA 4
;+ 9 JA 5
9 9  JA 6
D* 
JA 7
 4 JA 8

: R‫ ا‬%V

UPDATE authors SET fname = 'XXXXX'


where city ='‫'د‬

:}‫ﺕ‬0‫ا(ج ا‬

--TRIGGER OUTPUT:8 rows were updated

(8 row(s) affected)

: R‫ إﺝ(اء ا‬R‫ ﺏ‬xw‫ ﻡ ﻡ  دﻡ‬UŠ‫ ﻡ ﻡ‬Authors ‫ت ﺝ ول‬0+.‫(ض أو ﻡ‬R#

fname lname city id


--------- ----------- ------ ------
  JA 1
  JA 2
  $ JA 4
;+ 9 JA 5
9 9  JA 6
D* 
JA 7
 4 JA 8

, )  N$   $    ! 1+7 N'     $ " ? 9
R% )  E 9
-+
I` ? ! 9 " :

Universal Knowledge Solutions s.a.l 390


: -
:INSTEAD OF Triggers ' %+ (' %+  ) F # R )$  * X
:` ? J$
C' F  o
98 )  ` ? J: 3: 
)    INSTEAD OF Triggers ' %+  9 3
 8 
I` ? N' "+

:  ?  o
.INSTEAD OF T+ 9 ` ? ' %+     ! 
p%  ! 

@ % 9 .%  ?  N'  

.` ?   ! = "$ O "*  9  ?+ &'( '
)E+ )

>  "#$  %&'(


:  ?

<, 9, ,"" 5$  ) Transact-SQL E )* +G. 5  ? < 9  SQL Server + B
$ <) ( U   +
)*   ;0 < 
 .   ;0 < 3: 5  
I(SQL Server )* T-SQL  

3: 9 7 9  M8 )* RG+ 9


98 ++
: < 9   8  + B SQL Server 9
9 U 3$
I 2? N$ )* 5G  U  < " * Y+ 

, 20   9


: +  4+   +    ;A+H ?+ 9
+GB   20  9 < +
I M  ! 0  20  + 9
++8  M   3$* < <  4$
9 5$ +GB 

SQL <  8   M  !  9


"+8 *G   < ;+ ?+ 9
SQL Server 2000  9 < +
Itable + 9  9. 
 : "+8 N$ *G   < 9
3: *.0 '( . +G. Server

:T-SQL   *G   < ;A+: •


:5G   < ;A+: 9  ) ? )$  *

Universal Knowledge Solutions s.a.l 391


‫ﺹ‬0‫ا‬ 5
CREATE FUNCTION [owner.] function_name I18  < N'   <  < ;A+:  $
([{ @parameter_name scalar_datatype
I"+ 8 + < <$ (  98 )  
[ = default] } [ , … n ] ] )

RETURNS scalar_datatype I< ( / )  ? + 9 @ 

[ WITH {ENCRYPTION,
ISchema , 9. L
RU
< 1 
< L  %A
SCHEMABINDING}

[AS] I :    &'( 1  9 < 9 @  9  %$

BEGIN I<$ +G8  ;B   9  $

Sql_statements < "+ 98 ) T-SQL  $

RETURN scalar_datatype I< (  ) Y   !

I< ;"+ 9  $

:%*
:)$  3$ *   < 9.   ) T-SQL  A 9
98
, $ , 9, <, 9,. , $ Cursors , 
 9  $ 1      98 •
IDECLARE
ISET  $  9  3:  ? +:    •
I( U 
4$ 
5% 
JU: 
@* 9 Cursors ,  $ *8   98 •
...( U 
WHILE 
ELSE 
IF 9  3+  $ T+
*8   98 •
IDELETE 
INSERT 
UPDATE 9      $   98 •
.EXECUTE  $   N' < 9. 9 +GB   2: ' %+ ;  98 •
:.
WITH ,  5 , 3,$ +, ,8  ,+  , $ ;H, ,? <, ;A,+H ), M )* ?+
I< N' ;A+: ;+M
SCHEMABINDING

Universal Knowledge Solutions s.a.l 392


5', 
  98  F  "  )   ! RU
< >A+/ <  3:   &'(   C S
:1 * SCHEMABINDING  5? : 
< 5' ! RU7 N$

:<  
CREATE FUNCTION func_AVG_price (@price int= 0)
RETURNS @table table (type varchar(12) null, avgPrice int null )
WITH SCHEMABINDING
AS
BEGIN
INSERT @table
SELECT type, avg(price) as avgPrice
FROM dbo.titles
GROUP BY type
HAVING avg(price) > @price
RETURN
END

GO

:titles ‫ ة ا& ول‬V‫  أ أ‬R‫م ﺏ‬+2‫ول ا‹ن أن ﻥ‬0.

ALTER TABLE titles ALTER COLUMN price money null


GO

:a@#‫ ا‬V (@R% 0‫ ا‬0(‫( ا‬T†‫ و‬،^n‫  وث ﺥ‬K‫ إ‬y‫Šدي ذ‬

Server: Msg 5074, Level 16, State 3, Line 1


The object 'func_AVG_price' is dependent on column 'price'.
Server: Msg 4922, Level 16, State 1, Line 1
ALTER TABLE ALTER COLUMN price failed because one or more objects access
this column.

<  M1 V
)&  Enterprise Manager MA "#*

2! 9 New User Defined Function     9 N' Enterprise Manager  7  9 < ;A+: ++8
I" $ + )   ! 9.  *G   < $   "

Universal Knowledge Solutions s.a.l 393


8 " * ?+ 9
++8 8   j  < 9  C' )7 4? 3$ C  " "-
:= ! 48      P B "- 8  9  < L

Universal Knowledge Solutions s.a.l 394


<  M1 V
)&  SQL Query Analyzer MA "#*

 9 <   ;A+: +8: SQL Query Analyzer  7  9 SQL Server 2000 
CREATE    M Query Analyzer )* Templates 2!  9 " :  98 4! G 
I4+ 4?    M FUNCTION

Universal Knowledge Solutions s.a.l 395


New M File 2? 9 4? N$ 3: + 9
N'8 ++8

Universal Knowledge Solutions s.a.l 396


4? + M Create Function $ ". )  $ 9  9  +   " N'  "-
:4+

Universal Knowledge Solutions s.a.l 397


:)(  *G  $* < 4! MM 3$ SQL Query Analyzer C
:Inline Fuction •
:9    +  C' 5G   < M C' 4? (

Universal Knowledge Solutions s.a.l 398


:Scalar Function •
: M  !  5G   < M C' 4? (

Universal Knowledge Solutions s.a.l 399


:Table Function •
:  + 9   C' 5G   < M C' 4? (

Universal Knowledge Solutions s.a.l 400


5$"   4+ 3:  """ B 3$ E.  9 4? N$ 3:  N'8 ++8
 M Create Function    M SQL Query Analyzer  7 P   7  A )* " 
:1  4U+ C' 4?

Universal Knowledge Solutions s.a.l 401


Universal Knowledge Solutions s.a.l 402
"1 5) 

: 
   
.9    : SQL Server 9

:   
.J* Glossary 5$ -+

:
9 , ,"+  J,%    5  4 
  9 SQL Server  7 9
> $ &'( )* n!++
I9   3: ( +: % 8 Y   "%  3: *.0 9   

:  


:)$  3$ % '( )* 4 5
SQL Server 9
 : $ •

SQL Server )* " 9 J? J2 •


" 9 J? )* Windows  EA -+ Y'+ o
" 9 J? )* $  Y'+ o

" 3$ 5 Y'+  : % 8 •


" :    •

" : 9    •

( +: Y   "% •

: 7 •

" : M   


o
" : M   ! 
o

" : *h   


o

" : ?  


o

Universal Knowledge Solutions s.a.l 403


_"#$   M1 SQL Server 

), RU7 *8 1  ! SQL Server 3: Y $  : 3$ SQL Server 9
 : $ A •
IN$ Y  $ 9 9 S 9      3: *.0 " 

I %$    @+ % 8 N$ 97 $  H @ ) J2 *8 $ &'( )* R+ •

9 , 9 Y'+ D


3$ + $ N$ 9
N + 9
SQL Server 9
 : $  
+ 9
! )E+ •
! 3: Y  $ )+M L  +  "%+ SQL Server  7 3: Y  $ 7 L 8 F 
. %$   

), RU7 *8 1  ! SQL Server 3: Y $  : 3$ SQL Server 9
 : $ A •
IN$ Y  $ 9 9 S 9      3: *.0 " 

I %$    @+ % 8 N$ 97 $  H @ ) J2 *8 $ &'( )* R+ •

9 , 9 Y'+ D


3$ + $ N$ 9
N + 9
SQL Server 9
 : $  
+ 9
! )E+ •
! 3: Y  $ )+M L  +  "%+ SQL Server  7 3: Y  $ 7 L 8 F 
I %$   

SQL  7 3: Y  C'   ( 9 J? SQL Server 9


 : Y'+ 9 7 L )*  •
Ilogin  5/  
 4 N$ 1+
9 8>  F  Server

,! 3,: Y,$ 9     @+ $  : SQL Server 9


 : Y'+ 9 )+M L )*  •
1+
$ < J 7 L )* "+ J?  ) SQL Server  9   N2
  F   
IM8

  ? N$ Y    98

 ,   P A N' 9


9 3+ D 8> F  ;+ )* 9  48   4U  =  A 9
R%+ •
SQL 9,
Y',+ 9, 7 L N' 1 A 98   3: 1?* ?  1 *   ;: RE 3+ 3:
,  , 1 @  ! P A N' " *   )  )+M L 1 A ++8 9  )* Server
.3+ N' )* &  C' J 3: $

Universal Knowledge Solutions s.a.l 404


SQL Server  '`  aT# aWb

N$   " 9 J? $  "G 9 J?  SQL Server  7 3: Y $ 8 C' ;0 3$ J$/
J,?$ SQL Server  7 +M   9  )* 1'   EA -+ 3$ 37  F  9 %$  9 ?  $
I&;A+:  C'  ( 9

: " 9 J? )* Windows  EA -+ Y'+ •


? C' 1%+ Windows 4 3$ =  SQL Server 3$ (SA+:  )  9 J? Y'+ '( )* 
. 4$

: " 9 J? )* $  Y'+ •


. " 9 J?$ SQL Server  7 Windows  EA -+ 9 
= 8   X1 9   8X Y'+ '( )* 
 , " 9 J? $  "G 9 J?  SQL Server  7 3: Y $ 8 C' ;0 3$ J$/ •
SQL Server  7 +M   9  )* 1'   EA -+ 3$ 37  F  9 %$  9 ?  $ N$ 
I&;A+:  C'  ( 9 J?$

: " 9 J? )* Windows  EA -+ Y'+ •


Windows NT 
Windows 2000  EA, -+ 2  )* SQL Server ,  $  " Y'+ '(  
I4.0
? C' 1%+ Windows 4 3$ =  SQL Server 3$ (SA+:  )  9 J? Y'+ '( )* 
IN' 3$ ;x +  @+   sysxlogins   )* 1  login  SQL Server  F   4$
J?$ 1'   8 SQL Server JM F  JM   Y'+ '(  9 >A+/  3$ J$/
Ia ( 9
9,7 $   + @ 1+
8    4 + B 1+
)* Y'+ '(   9 "? ? 98 ) <*+ 98
,%! , $ 8, 3: *.0 "  G   $8  88 1%+  9
P2    9
."  3$ 5A0 
 %A 
4

: " 9 J? )* $  Y'+ •


I " 9 J?$ SQL Server  7 Windows  EA -+ 9 
= 8   X1 9   8X Y'+ '( )* 
*,.: , " R  " 9 J? )* $  Y'+   SQL Server 3:  ;A+:  + 
I $8   4   H  $ @
, 8,/ ," * < ,  ,2  )* SQL Server <  ;A+:  ) ?   )* Y'+ '( %
.M   3$ NetWare 8A )* 8 . 8A Y  $ 3$   9 Windows

Universal Knowledge Solutions s.a.l 405


'` c9; 3 # de' M;
 7 4 ,+ ,$ )* +  8) 4 + $ ;+M
: 1  4U+ C' " 3$ 5 Y'+  ++8
"    M   3$ )+   B E.  Properties     9 4 + $  
(SQL Server
ISecurity %

Universal Knowledge Solutions s.a.l 406



,?* Windows Y',+ : C
1  4U+ C' " 3$ 5 Y'+     " &'(  9 ++8
ISQL Server  EA : . 3: C S   E N$ J  9
$ <  " 3$ 5 )* $  Y'+

Universal Knowledge Solutions s.a.l 407


I1?  4U+ C' 9   3$ 5A0 L " &'( )* + 9
N'8 ++8


B
8$

) %$    3$ SQL Server 3:  ;A+: 9 ;"+    3$ "  ? 98 )  $ 5!
I    9  9  ) %$   7 3$ 
9    
9   3: (d +: 
,! ;A,+: , $8 Statement Permissions , RU7   ;A+H @ )   3$ J$ •
  9 T+ '( @+ +8: + .DDL   5  E  5/  C
"$  
  
 
Isysadmin, db_owner, db_securityadmin :   7 9 8 ;.> ?*
5' 
*.: 
    $8 Object Permissions  RU7 3: Y @ )   3$ J$ •
,! ) ,  , 9, T+ '( + .DML    E  5/  C
    

I 
5,  ?,  , , 9 ?, 9 ,  9 "+ 98  ) L 7   3$ J$ •
  98  + 
   7 R )* .  9 " $  98 ) Predefined Permissions
I  ! N (

Universal Knowledge Solutions s.a.l 408


SQL Server 
<'\ 
&
$B

ISQL Server  7 3: Y  +8H XLogins  5/  


X    + B •

IMaster   ! )* sysxlogins -+   )* "+ B    = .U


   M •

SQL Server  4 


Windows  
Windows  9     98 9
98 •
IStandard Login C    4  N'8 5/  ( " 9 J? )* $  Y'+    )*

:( 9  ;A+:  3 SQL Server  7 4 +  9


 •
, ;.,
,*8 @, ), builtin/Administrators  " $ J$ Windows  o
ISQL Server 3: Y Windows Local Administrators
.sa  1 $ J$ C   4 o
3,$ ,?$ B  "2H @  SQL Server )* sysadmin   )* ;x .
9 ? 9  8 
I  ! *8 3$ SQL Server

Universal Knowledge Solutions s.a.l 409


: -
4, 9
, ," 9, ), , 8 B,  <, , 9 ? 9  <  + ' )E+
4,U+  ': 
1  )* ' 4d Windows )* 9 $$ ;  *8 9. BUILTIN/Administrators
)* )E+ ': 1*' 98  sa 4 9
$ < ?* 9   9   *.: 4 N' 5' ++8 * N' `
.SQL Server 3: Y  $ 8 @ 1 +  $8 +: 9  N'

5,   7 N,$ 3: Y$ 9 ? 9   + 9


SQL Server  7 4 + $ 9 ;"+  ++8 •
.  9  
SQL Server 
_"#$ 

Y, $ 9 >  9  )* SQL Server  7 3: Y $ 9 >      =? +A
8 •
I9    9   ! 3:

),* "+ B,      N'   ! 9. (SA+:  )   ? 9 9   9
 •
Isysusers  

I  N' Y 9 > 


9 9   4 < 1  9
9    ;A+: +  •

:guest  dbo ( P T+ 9 9 d  SQL Server < •


:dbo o
I1*' 98  )   ! N ( dbo 4 
I    ? ;A+: 8 + = 2?$ 4 '( ;A+: 
:guest o
I 4    4 N$    ! Y +8: B guest 4  
,  ),X  ,  *8 ` 3: C S    ! )* &;A+: 98 = 2?$ 4 '( ;A+:  
I"  N$   ! 3: Y 9 X9   
.97 9 )+  L '   ! )* ?* 4 '(   )E+
Y, $ 9 >  9  )* SQL Server  7 3: Y $ 9 >      =? +A
8 •
I9    9   ! 3:

Universal Knowledge Solutions s.a.l 410


),* "+ B,      N'   ! 9. (SA+:  )   ? 9 9   9
 •
Isysusers  

I  N' Y 9 > 


9 9   4 < 1  9
9    ;A+: +  •

,! 3,: Y, G    9


3$  $ N'  D%+  4   4 ;A+:   =U •
 N,' 9

a : =, 9 %$  9 .U "+
9 U 3$ SQL Server 3: Y G    1%+ (  
M  4   ! 4  98 9 1+
':    4    !   9
)+
,! 4, ,   4  9 9   5O  : 98 ) Windows  9  8 
I   

:guest  dbo ( P T+ 9 9 d  SQL Server < •


:dbo o
I1*' 98  )   ! N ( dbo 4 
I    ? ;A+: 8 + = 2?$ 4 '( ;A+: 

Universal Knowledge Solutions s.a.l 411


!  H ;.7 N2S @    ! *8 )* dbo   4 sysadmin   ;.
*8  
IN$  
R,E ,  , ++8 )     ! *8 )* RU7 *8 )2?$ N 4 ( dbo 9

,++8 =M RE N'  O N 5  " *  )  )* : RE N' N 5  3:  9 = A
I= A table1 8A 
dbo.table1 8A : dbo 18$ 9    3$  

:guest o
I 4    4 N$    ! Y +8: B guest 4  
,  ),X  ,  *8 ` 3: C S    ! )* &;A+: 98 = 2?$ 4 '( ;A+:  
I"  N$   ! 3: Y 9 X9   
.97 9 )+  L '   ! )* ?* 4 '(   )E+

Universal Knowledge Solutions s.a.l 412


SQL Server 
1MA

I97  : $ )* =? =+ = '+  7 9S •

;.7 *.:  M 9       F  8A  : )*     7 1 A ++8 •
I  N' "8$ )   *8 . C
< ) 1 :

application ;+MX  #   T+


5$  +: 98 8 M8

 )* =.   98 9
98 •
I   0 ='+   ;A+H + @  X= ? "+ F + ) roles

:M •
I<  $ J$ )   *8 3$ C  =M "SAELS"  1 $ J$ P  ;A+: ++8
I  0 J$ )   *8 3$ C  =M "Managers"  1 $ J$  O  ;A+: ++8 8
I= 9 ? 9        98 8 )+M   ;  7     )   ++8 N' 

:)(  2 T+
MM  7 SQL Server 5+ •
I5  ?   N$ (8 . M   ! 
  M   
o
I9    0   ! 9. (SA+:  )  7 )( . *h   
o
.  ?  )* 97 9. J$ P2  < )( .?  
o

. 7 N$ 9 8 9    @2A 9 )$  * n!++

SQL Server 


1MA
: M   

I"*' 
"$  98    L 3$    0 X" 9   8X  7 &'(  K
;,: " 9 98 M   3$* 9  $  0   9     0 M   
 
I    5  SQL Server 3: Y 1+8 F  8A 3$ 9     
: M    > 2! )   R

Universal Knowledge Solutions s.a.l 413


   
sysadmin 
' %+
dbcreator   ! 5'   ;A+:
diskadmin %$ P!
 : ;A+:
processadmin SQL Server ;:  :
serveradmin 1!U: 
    :  E
setupadmin   4 + Replication   ! 8 $ 4 +
linked Servers 
securityadmin ; 7 
r  ;! ( $8 SQL Server    :
  ! ;A+:    :
bulkadmin  .    :  $ ' %+

5' 
*.: $  : sp_dropsrvrolemember()  sp_addsrvrolemember() -+ ) 2:  9 ++8
I M   
9 X4  3$X .
:M
:sysadmin   ;.
9 .8 Maher   *.:

Exec sp_ addsrvrolemember 'Maher', 'sysadmin'


GO

:M
:sysadmin   ;.
9  9 Maher   5'

Exec sp_dropsrvrolemember 'Maher', 'sysadmin'


GO

:)$ 8 ? $ ;0 Enterprise Manager  7   ++8


I M   
*8 2! N'  "- Server Roles  + Security $ 9

Universal Knowledge Solutions s.a.l 414


:1     " 2! 9 Properties  + M 1 :  . *.H 4U+ C'   N'   +

:    3:  . *.0 ADD B 3$ N'  E.+

Universal Knowledge Solutions s.a.l 415


:"*.H 4U+ 9 '  ;.7 
.  + M

Universal Knowledge Solutions s.a.l 416


:" ? 9
  $ 98 )   *8 2! Permissions % " )* -+

Universal Knowledge Solutions s.a.l 417


SQL Server 
1MA
: M   ! 

 ,  ! L 3$    0  K ) 7 9 5  ?    ! 8 N$
I"+ 98 )     98 9  )* 1*' 98  C' Public Role    * "*' 
"$  98

: M   !  > 2! )   R


   
public I  *8 3$ A C' )2?$   (
db_owner I  ! 3$ A+ C
' %+
db_ddladmin I  ! RU
9 RU C
  
5' *.:
db_accessadmin I  ! )* 

9   5' 
*.:
db_securityadmin I 7 .  :   +: 
db_backupoperator I  ! 9   + ;A+0
db_datareader I    9   C
9   (   
) ;?
db_datawriter I    9   C
)*   5' 
  
*.0
db_denydatareader I    9   C
9   ;! +8: ;E0
db_denydatawriter .    9   C
9   5' 
  
*.:

. 5' 
*.: $  : sp_droprolemember ()  sp_addrolemember() -+ ) 2:  9 ++8
I M   ! 
9 X4  3$X
:M
:db_owner   ;.
9 .8 Firas   *.:
Exec sp_ addrolemember 'db_owner' , 'Firas'
GO

:M
: db_owner  ;.
9  9 Firas   5'

Exec sp_droprolemember 'db_owner' , 'Firas'


GO

:)$ 8 ? $ ;0 Enterprise Manager  7   ++8

Universal Knowledge Solutions s.a.l 418


I M   ! 
*8 2! N'  "- Roles  + " $ + )   ! 9

:1     " 2! 9 Properties  + M 1 :  . *.H 4U+ C'   N'   +

:    3:  . *.0 ADD B 3$ N'  E.+

Universal Knowledge Solutions s.a.l 419


= ? N$   ! )  5   9
)E+ 1+
$ <) "*.H 4U+ 9 '  ;.7 
.  + M
:(<= ? +   8>

Universal Knowledge Solutions s.a.l 420


: -
:)$ 8 N' Enterprise Manager  7 )*  O 4$> ? $  ? < +
 , dbo C
,  ! )  *8 2! N'  "- Users  + " $ + )   ! 9
I(=?   ! 3: 9   *.: % 8 n!++) "*.:  9   9 & U )2?$

:1     " 2! 9 Properties  + M 9   3: 1*.H 4U+ C'   N'   +

Universal Knowledge Solutions s.a.l 421


   ++8 F    N' "8$  
" < ) M   !   *8 R " N'  "-
:" 4U+ )  

Universal Knowledge Solutions s.a.l 422


SQL Server 
1MA
: *h   

 , 9, ,   B X  ! 
 = .
5/  
X *h  / 
 K
I9   9  ( +: 98 ) 2A
3,$ 9,
Y'+ ;+ )* % 9
98  ;  3$  7 
9    *h   
9. 9
98
I  !  : -+ L
:.
;A,+: ,?+ N'  ,9  J   EA @ )   9  9 98 9  X  ;A+H ?+ ++
R%+
I" : 9 + 9   5 .K+ L
  Z  Y  7
)  98 C' J   EA ? 9
9 7 9   )  @+ 9
X   3: Z  Y  7 *.H ++8
I1$ EA ? 9
X  7  

Universal Knowledge Solutions s.a.l 423


3$X 5/    5' 
*.: $  : sp_droprole()  sp_addrole() -+ ) 2:  9 ++8
I X4 
:M
:dbo   18$ C' X   *.0    $ R )$  *

Exec sp_ addrole 'X' , 'dbo'


GO

:M
) 
1 8 *8 5' ! 9   5' ++8  1+
$ <  X   5'    $ R )$  *
:  N' 5' ! X   9 dbo N 5' ?+

Exec sp_droprolemember 'X' , 'dbo'


GO

Exec sp_droprole 'X'


GO

:)$ 8 ?  $ ;0 Enterprise Manager  7   ++8


New , + ,M  M   ! 
*8 2! N'  "- Roles  + " $ + )   ! 9
IRoles ,   " 2! 9 Database Role…

Universal Knowledge Solutions s.a.l 424


:    3:  . *.0 ADD B 3$ E.+     N'  +

Universal Knowledge Solutions s.a.l 425


I  ;A+: 9 )"++ 9
! 9      ++8 
(`!)

Universal Knowledge Solutions s.a.l 426


R M    R  7 2! 3:  M   ;A+: 9 ;"+ % 8 R  )E+ +()
(  " )* 8 1 

Universal Knowledge Solutions s.a.l 427


SQL Server 
1MA
:?  

I  ! )  N$  "+
)*  7 9 ( U 9 ?  
5$ 
I1 : +  $8 +H ?+ 9  )*   ! )  < 1 ?  
9  ;A+: + ?+ 
TG G  $)G  G  + -( 4E ?   9 RU#   9 > ?  
 K
(G)  ""      ! 5 N8   * 4  F2 =)  L( 01( $4 $   )
Y(  01  ) T# 

I ?*  $8 <  J   *.H ?+ 9


sp_setapprole() 20  9 ++8
:M
:abcdef  $8 < myAppRole   *.0    $ R )$  *

Universal Knowledge Solutions s.a.l 428


Exec sp_ setapprole 'myAppRole' , 'abcdef'
GO

:M
:abcdef %A  $8 < myAppRole   *.0    $ R )$  *

Exec sp_ setapprole 'myAppRole' ,{ENCRYPT N 'abcdef'}, 'odbc'


GO

:)$ 8 ?  $ ;0 Enterprise Manager  7   ++8


New , + ,M  M   ! 
*8 2! N'  "- Roles  + " $ + )   ! 9
IRoles ,   " 2! 9 Database Role…

: +  $8  H ?+ Application role  + M     N'  +

Universal Knowledge Solutions s.a.l 429


Universal Knowledge Solutions s.a.l 430
SQL Server <'\M 
&
$B  M

:T-SQL   SQL Server    : •


:    : 
9   +GB   2: 2?   )$  *
20 5
sp_addlogin ,   4 *.0
SQL Server
:M
EXEC sp_addlogin
( login_name, password, database_name)
sp_grantlogin ,   4 *.0
Windows

:M
Exec sp_grantlogin 'Domain1\Feras'
sp_droplogin  4 5'
SQL Server
sp_revokelogin  4 5'
Windows
sp_denylogin 4 Y R*
Windows
sp_password   4  $8  E
sp_defaultdb 2?$   !  E
sp_defaultlanguage   2?$ E$  E

:Enterprise Manager  7   SQL Server    : •


:)$ 8 ?  $ ;0 Enterprise Manager  7   ++8
," ,2! 9, New Login  + M Enterprise Manager  7 )* Security $ 9 Logins B  +
B N'  

Universal Knowledge Solutions s.a.l 431


I * " FM 9 98 F    4 5    " N'  "-
3,$ 5, Y',+  ++8 8     4   ?+ 9
General % "  9 ++8
 , 4, N' Y  +8: @+   
@+ " * ++8 8   4 N' < 1  4U+ C' "
I"    ) 2?$ E$ 2?$   !  3: *.0

Universal Knowledge Solutions s.a.l 432


: EA -+  9  9 &;?+    
  4   : N'8 ++8

Universal Knowledge Solutions s.a.l 433


)+ 9
   4 98 )   
*8 + 9
Server Roles +M % "  9 < +
:" :

  4 98 )   ! 


*8 + 9
Database Access MM % "  9 N'8 ++8
:" : )+ 9


Universal Knowledge Solutions s.a.l 434


Universal Knowledge Solutions s.a.l 435
SQL Server f"#$  M

:Enterprise Manager   SQL Server    : •


:)$ 8 +    ! 3:    *.0 Enterprise Manager  7   ++8

9 New Database User  + M Enterprise Manager  7 )* +   ! $ 9 Users B  +
:B N'   " 2!

 3: *.0     4   ?+ F     4 5    " N'  "-
I4 N'   !  

Universal Knowledge Solutions s.a.l 436


Universal Knowledge Solutions s.a.l 437
Universal Knowledge Solutions s.a.l 438
SQL Server 
B
g  M

:Enterprise Manager   SQL Server    : •


N,' SQL Server  7 )* +    ? +    0 Enterprise Manager  7   ++8
:Permissions )(  * " " * + F  N$   ! P2 "  9

Universal Knowledge Solutions s.a.l 439


Universal Knowledge Solutions s.a.l 440
3: *.0     ! 3$ >A+/ 9     7 *8 2! permissions " + R
, @++ 9
++8 F   7 
9   3: ( +:   
( +H 8 98 )    2!
I"+   9
  + 9

' %+

Universal Knowledge Solutions s.a.l 441


1," 9
9 , )* ...
+GB   20 
 -+ 
  ;A+H G   U Khalil   9
M R
I!+ 
r  5$ 9   ! 9   + ;H +

  3$*   ! )* RU


 )* Permissions  " $ J$/ * " 
B + 9
N'8 ++8 •
: +B   20 7   " 2! 9 Properties    ++8 M

Universal Knowledge Solutions s.a.l 442


)  7 9   2! (+ G  8) R+ 9
" N$ )* "- C' Permissions B  9 < +
 , 3$ +"* I  RE < J* " &'( )* ".  )   G9
-+ ++
: RE '" 
I +GB  20 ' %+   
' %+ )(    9
+ M

Universal Knowledge Solutions s.a.l 443


:2 M
:     R+

Universal Knowledge Solutions s.a.l 444


Universal Knowledge Solutions s.a.l 445
Universal Knowledge Solutions s.a.l 446
A 9M %

: 
   
.SQL Server )*  $kM

:   
.J* Glossary 5$ -+

:
, R, ?+ .*7 ?  ('%+  SQL Server  7 K 5 8 $ &'( )* n!++
I' %+  ;A+:  %$8 4 % 8 3: *.0  $kM
$ "  ) 

:  


:)$  3$ % '( )* 4 5
 $kM
$ •

 $kM
$ )* "   )   •
:1$kM
   •
DML   o

: $kM7 $  •

:  $ $ o


F   

?+ OR   

   
:D"%    $ o

?+ D"%   %$8 4 


?+  U D"%   %$8 4 

8   @ $   %$8 4 

:4+     $ o

:   $     


nested loop join B •

merge join B •

Universal Knowledge Solutions s.a.l 447


Hash join B •

' %+  ;? $ o

SQL Server  
/ #*0 9hP

I5  •
,?  ,  %   $ 
9 SQL Server  7 1  C' ;0 )(  $kM
$
I(' %+ " M7

I $kM
$ )* "   )   •

8 4$
9  )*  8  1 98 9
98 ' %+      5 8  $kM

 % 8 "* 9: •
.; 7 8A J S+ 
D"%    


I5  •
,?  ,  %   $ 
9 SQL Server  7 1  C' ;0 )(  $kM
$
I(' %+ " M7

: $kM
$ )* "   )   •
,$M

,? ': , ', %+ ,M7 ,?     
9 %$8 3$  "+ SQL Server  
,%$8 9., %$8 "% 9
$ < 98  T>   3: Y " 9  ' %+   
I;  3$ 2 B % ?+
;,  N$ RU
"+. ) $ 3$ – M =
SQL  P% $M7 
?
 ;A+:  X...( U 
D"% N$  *  20 
  D"% T+ 
  %  +8
I=? "+ F  ?+  G  9  98 2 ' %+

8 4$
9  )*  8  1 98 9
98 ' %+      5 8  $kM

 % 8 "* 9: •
I; 7 8A J S+ 
D"%    


1    + ? SQL Server 2000  0 SQL Server 7.0  0 )*  $kM
$  •
 ,  9 8 3+ 9
 $  9 + ++
:   Y  B 
%$8 4 Y'+ 9
.' %+   (   % 8  7 N$  4$
9

Universal Knowledge Solutions s.a.l 448


i#h9Ph1 / #*0 j(

, , $ N$  F  &' %+ "+ 3  J: 9 = 8 ;0 9   $ ]
I( : $kM7 $  

:DML   •


:  7   ' %+ = $* ? 1+H* DML  ' %+   SQL Server ?  +
? A  5/   8A  = ! T-SQL     
? A  -+ N'   
    
' %+   
2+ : ?   ' %+ 

: $kM7 $  •


9, , 3:  N' 2B $$   ' %+ X $M7 
3: &     ;A+: X 
I.*7 ' %+  ;A+: 1$ $ RE +G8
  $ $ X1
D"%    $ X2
4+     $ X3
' %+     $ X4

, , $ N$  F  &' %+ "+ 3  J: 9 = 8 ;0 9   $ ]
I( : $kM7 $  
E  $ ?* )( $kM# R )  $*   N$ 8 $kM
  1+
9  )* T-SQL  8  
, 2: 3,+ 9. )  ? 
 Delete Update  Insert  Select  $ C
DML   
I $kM
4$  "+8 ?+ ;H8 "  * ( U 
$  
WHILE 
IF  $8

:DML   •


:  7   ' %+ = $* ? 1+H* DML  ' %+   SQL Server ?  +

Universal Knowledge Solutions s.a.l 449


, $  , % $8 Y  "  F  = ! T-SQL     
= 
 
SQL Server " , ), " ? A"  5/   8A 5 " N'  N' "+ 98 ) *G
I 9  $
),* +h., ,   7    $ N$     ? A  -+ N'   
I( U 
D"*  2: 
U*  ! 
  +
9 N$ A
",  "  5/  a M DML  9 9G8  N' 98 ':  * SQL Server  
IJ a-+  3$  
I + "' %+  "       $kM
N'   
.2+ : ?   ' %+ SQL Server ? =


: $kM7 $  •


9, , 3:  N' 2B $$   ' %+ X $kM7 
3: &     ;A+: X 
I.*7 ' %+  ;A+: 1$ $ RE +G8
:  <7 ?+  9 (' %+ $kM7 
? )    98
:  $ $ X1
I    F  Y    $ $ &'( )* 
I M  ?   +?   + WHERE   9 F  9 @  
I O  9    9   +?   + WHERE   9   9 @  

:D"%    $ X2
, +  = ! D"% ;:  8 ( / 9:)   F  3$ =  4+ D"%    
ID"% N$ 20  ? 3$ =  N' "+ 
= 8   %$8 9

:4+     $ X3


, 9, N'   "  3: Y RE R ". <    4+7 4   $ &'( )* 
I $kM7 
"     B

:' %+     $ X4


." $kM7 
! )   9  9 = %$8 !7 ' %+      7   )* 

. % <7   N$ 9 8 R  @2A )* ?+

Universal Knowledge Solutions s.a.l 450


9hPA  98;  1A 'R
/ #*0 2 9k

   


F  Y     $ $ )(  $kM
$ )* 37   
I $ 4+ D"%    $ C
 +M   )* "    ) ?+ (OR)  

:F   •
I M  ?   +?   + WHERE   9  F  9 @  9
+ G
I ' %+ "+ F   ) 7  $kM7  7 F  @
I4+7 D"%     D"% < "+? 
9 ( F   9 ) 2 5 " 
:"+ F + ) F  9  ) ?$ R )$  *
Column operator constant_expression [and …]

‫د‬+R‫ ا‬6‫ا‬ %R‫ا‬ ‫ﺏ‬0‫ ا‬2‫ا‬

:   $ 
F  )*   $ 98 9
98
I(9 7 R )*) LIKE 3 
BETWEEN C 
E
E
C 
8
8
( ) =

I ?+ AND $  9 F  9 M8


9   98 1+
$ <

: $jM

Num = 5
Salary > 10000
City = 'Damascus'
Price BETWEEN 50 and 100
F_name LIKE 'sa%'


$,a 5, , 
9h. < 
)$  
.   F  )* M  ? 98 9
98
I)2B 

: -
,     =M* =M " * 7 5 98  + ?* F  "+
3$ LIKE   
:F
F_name LIKE '%sa'

Universal Knowledge Solutions s.a.l 451


5
G (!=  <>) !)G  $G   *
U . E H/( *  /( ") Z  + - "( "( + H$ 1(
=G -G +G -GE > !)+   + N   -E   $ ?# T ) A">E HL() L A 
YU*. L( $ T  "4

F,    < 98  + D%+   O  F  3$ C  C' )    ++8
I  <  ; 7 9   $kM
 7 ` 1 9 98
:1.
:(F  9 ) 7 
SELECT title FROM titles WHERE price != 0

:(F  <) )+M 


SELECT title FROM titles WHERE price > 0
I 9  $ 1  !   98  1+
 3$ N'

,$kM7 
9

a :  , + 3$ $   8 @ ;H 9  $8 )* ? SQL Server 9
9 U 3$
D,"% ,
   9 !7 3$ ; 7 9 9
9 )+M  )* `G F   9 < 
.  + 3: $
:2.
:F  "+> < 3$ C 
3$ ?   

:(F  9 ) 7 


WHERE substring(name, 1, 1) = 'A'

:(F  <) )+M 


WHERE name LIKE 'A%'
:3.
:) M )* 8 F  )*  3$  <  4++ 9
" * ++8    N+(
SELECT count(*) FROM titles
WHERE datepart(month, pub_date) = 5

8 ':  * ; 7 9  < + ++


: N$ F $ 3$ D"* C
J  9 XM '( )*X datepart < ++
:)$ 8 )*.: D"%   ;A+:  9 = M8  9 T+ '(  
‫د‬+V 0‫إﺽ‬
Alter table titles add pub_date_month as datepart(month, pub_date)
  ‫ﺝ‬
(Tw‫ا‬
Create Index date_part_month_idx on titles(pub_date_month)

Universal Knowledge Solutions s.a.l 452


0P ‫د ا]ي‬+R‫ ا‬K%V  ‫(س ﺝ‬T ‫ء‬0w‫إﻥ‬
C‫ﺉ‬0w‫ﺏŒﻥ‬

:)$ 8 J  8 : 9Z ++8


SELECT count(*) FROM titles
WHERE pub_date_month = 5

9
9, U, 3,$ ; 7 9  3: C S  $  + 3: $ >A+ D"%   $M7 
+( ?
  + 3$ $   @ ? )  9  1'  

: ?+ OR   •
OR  9 F " *  F     3: $kM7 
?+  )* F   9 ;"+ 
I ?+
IOR  $  9 R ".  F   " * * )  3$ ?+ OR   J$/

:"+ F + ) ?+ OR  9  ) ?$ R )$  *

SARG or SARG [or…]

Q.‫ﻡ ﺏ‬0R‫ﻡ‬ %R‫ا‬OR Q.‫ﻡ ﺏ‬0R‫ﻡ‬

:)$ 8 ?+ OR  9   .


98
Column = constant1 or Column = constant2 or …

:J $ D%+ <.  N'8 IN  9


3: *.0
Column IN ( constant1, constant2 ,…)

: $jM

Where F_name= '' or L_name = ' '


Where (type = 'IT' and price < 10000) or id = 120
Where f_name IN ('' , '9
' , 'C *' , 'B+')

Universal Knowledge Solutions s.a.l 453


1,+
,$ < "+   9 ' 9   
J* ) 7 *8 OR   X
I   = 9   J? ) 7 : )E+

J M 3: *   D"*  9 OR  J ?  9


=  98  X
: +
Where F_name= '' or L_name = ' '
( 7  9
J? ) 7 9 F 4U+  + = M8 +   7  M 7  3$ D"*  9:
", +8 9 ', P ,A7 *8 9 F 4U+  + ;)A + % 9 D"% N' 9
: " " (  7  ""
I $  + 3$ $ L
@ $ ;0 Y+ ) " "


r  9 $kM7 
F )   %$8 ?    @ $  X
C
OR ,  ;B
9 ;B 8 3$ D"*    9 98 9
98 C'  ?+ OR  >  
I ? D"%  :  5/  '(   F 

:   •
I  )( "+ F 3: $kM7 
3 )   $ $  9  7   
:)$ 8 Join % $8   N' FROM   9  A 9   

FROM table1 JOIN table2 ON table1.column= table2.column

‫ ا& ول اول‬6‫ا‬ ‫ﻥ‬0‫ ا& ول ا‬6‫ا‬ k‫ ة ا(ﺏ‬V‫أ‬

:)$ 8 Where   9  O 4$>  A 9   .


98
Table1.Column operator table2.Column

N' SQL Server  F  1%+ <    $ ;: 98 1+
: 9 %$  9   9   $   = 
I9 $%+ 9   1+
3$  

Universal Knowledge Solutions s.a.l 454


9hPA  98;   X
P 'R
l+,
#\

, 
 3   ?+ OR  F  *8      $ $ )"+ 9

%$8  3$M ?   )* $ 7 3$   )     " *  ) $kM7 $ 9 
I7 N$  0 "  98 ) D"%

2,+ N$ +?  M "+ 8 )*   ?+ Y /   $   9  D"% 5 8 D ! 
I $  + 3: $ %$8 !7 T7 ?   8 @ $ %$8 < R ". <

 , 2  8' )* % N$ 98  ': . % 3: Y " *   8 )* ?+ Y /  $ 4 
;,: , M 9 2  8' 3: % N$ 4$d " 9  2 B * Y / $ ;: 9 
= 
  )
I  9 ?+ Y /  $

, $ %$8 ' >  "+


8  ' %+   + 8' )* %    
 >G+ 9
$kM7 
<  
I $kM7 $  9 8 2 B % Y / 

, 9S  +   N' )* D"% 


9 7      + 9    =  % D"% 
IN$ F $ G  =$
XL > 
? X   N' )* F

 F   $  + 3$ $  $ @ $ ;H $kM7 
?    % D"* *   +
I1  98 C'  7  k  )( ?  &'(

: ?+ D"%   %$8 4 •



% D%+ 9. F  J ) 7 <  " *  ! 1+7 F  $ 2 ?+ D"% 
), ,7 *8 ;? ? M 37 % 3: J   97 SQL Server Y F    % 9.
 ,
3,:   + ?* 5!  " $ ) % $$ )* 
% N$ )* "+ F  )   J*
IF   J*
:)$ 8 ?+ D"%   ! ?+ Y /   $  ? %$8 4 
I ?  9. "   ) %  + C ?+ D"% )* D"%   

Universal Knowledge Solutions s.a.l 455


,7  3$ ? F  + J* 9
<!/ ) 7  D
3$ "   ) %   ? 
I % )*
:.
 ,? , J? ) 7  98 9    
9 N' % 8 )*  250 9B SQL Server 98 ':
= 250 ÷ 600 ,, =   ?  9. "   ) %  98 )  600 ( 1+ F  C'
.3
:C XC ?+ D"%$   MM   3$X a! ?+ Y /   $ %$8 98 )
I ?+ Y /  $ 6 = 3 + 3 = (250 ÷ 600) + (  ) 3
: -
:)$ 8 ?+ Y /   $ %$8 4K F 8  $ * C ?+ D"*  
IN$   % 3: Y$ (B )E+ ) D"%    +    %

" , , ), ' %+  9 $  2: R+ 9


SQL Query Analyzer  7  9 < +
Show Execution    "Query" 2?  9  ' %+  R ++8  (' %+  ) 
,  8 ' %+  @. " R N'    F  Ctrl + K   3$ E.  9 
Plan
I18

:)$ M
:)  ' %+ )$  * ?+
select * from titles where id =4
I  $ < F     9H* -+ 8 C ?+ D"* '   3$  '( ' %+ 
J  ' %+ 4$> ?$ $ ' %+  " )* R+ 9
< +

Universal Knowledge Solutions s.a.l 456

También podría gustarte