Вы находитесь на странице: 1из 1277

.

MS SQL SERVER 2000



- Microsoft SQL Server 2000.
,
, .
, ,
, ,
, .
, ,
.
SQL Server 2000.
.

I. SQL SERVER 200 0


1. SQL Server 2000







Web





2. SQL Server 2000
SQL Server 2000
MSSQLServer
SQLServerAgent
Jobs
Operators
Alerts
Microsoft Search
MSDTC
SQL Server 2000
Master

1
3
5
5
5
6
7
8
8
9
9
11
12
13
14
15
16
16
16
17
18
18
19
20
20
21
22

Model
Tempdb
Msdb
3. SQL Server 2000


SQL Server 2000
Enterprise Manager

SQL Server Service Manager


SQL Server Profiler
Query Analyzer
Upgrade Wizard
Import and Export Data
Client Network Utility Server Network Utility


. SQL SERVER 2000
4. SQL Server 2000





Windows NT
Windows 2000



Unicode
SQL Server 2000

Windows NT 4.0

Windows 2000





5. SQL Server 2000
SQL Server 6.x

24
25
26
28
28
31
32
32
33
34
35
37
37
38
38
41
43
45
46
50
50
51
52
55
57
63
64
65
66
66
68
69
69
70
73
74
74
75
78
81
82



-

SQL Server 7.0
SQL Server
6. SQL Server 2000


SQL Server 2000



.
7. SQL Server 2000
,
SQL Server Service Manager
Enterprise Manager
Services

Transact-SQL
SQL Server 2000

Enterprise Manager
Services
SQL Server 2000


8. SQL Server 2000
MSSQLServer
General
Memory
Processor
Security
Connections
Server Settings
Database Settings
Replication
SQLServerAgent
1
Advanced

84
85
87
88
90
90
92
94
113
113
120
121
125
131
133
134
135
137
140
146
147
147
149
150
153
155
157
159
161
161
163
167
169
174
175
178
181
185
185
186
187

Alert System
Job System
Connections
npone,nypbisp_configure
9. SQL Server 2000


Windows NT
SQL Server

Transact-SQL
SQL Server
Windows NT
Enterprise Manager






TransactSQL



Transact-SQL


Transact-SQL

TransactSQL


Transact-SQL




189
191
192
193
198
199
200
202
205
205
206
208
212
213
221
221
224
224
225
227
227
233
233
235
238
239
242
244
247
247
248
250
250
254
257
258
260


10.





Transact-SQL







Enterprise Manager





Transact-SQL







Enterprise Manager
11.



Data Transformation Service
DTS
DTS Export Import Wizard




262
264
265
268
269
279
280
283
283
288
289
292
293
295
298
298
300
303
304
306
307
308
308
311
312
315
317
318
319
319
323
324
325
328
328
330
335
336
338
341
342
344

Column Mappings
Transformations
Constraints













DTS Designer


File Transfer Protocol Task
ActiveX Script Task
Transform Data Task
Execute Process Task
Execute SQL Task
Data Driven Query Task
Copy SQL Server Objects Task
Send Mail Task
Bulk Insert Task
Execute Package Task
Message Queue Task
Transfer Error Messages Task
Transfer Databases Task
Transfer Master Stored Procedures Task
Transfer Jobs Task
Transfer Logins Task
Dynamic Properties Task


12. SQL Server 2000


346
350
352
355
356
357
359
361
362
363
365
366
370
372
374
375
376
378
379
3 81
384
387
417
415
422
427
425
430
436
440
446
448
453
453
454
456
463
465
468
469
470
471




Create Job Wizard
Enterprise Manager




Transact-SQL


Create Alert Wizard
Enterprise Manager
Transact-SQL

475
476
477
477
481
481
484
488
491
492
494
495
495
498
501
502

502

Enterprise Manager
Transact-SQL






Database Maintenance Plan Wizard
13.











Transact-SQL

502
505
505
507
507
508
512
513
515
525
526
527
529
530
532
534
535
538
539
541
542
543
544
549


Enterprise Manager

Transact-SQL



Enterprise Manager
14.



580

Snapshot Agent
Log Reader Agent
Queue Reader Agent
Distribution Agent
Merge Agent





582
583
584
585
586
588
596
597
601
605
608

550
551
558
563
563
565
566
567
572
574
576
576
579

614
615
619
620
625
626
628
638
645
646
647
662
669
669
670
681















15.

Performance Monitor
Task Manager
Event Viewer
SQL Server Profiler

Sessions
Objects
Scans
TSQL
Cursors
Stored Procedures
Error and Warning
Transactions
Locks
Databases
Performance
Server
Security Audit
User Configurable


Transact-SQL
16.

682
683
685
686
687
689
690
691
692
693
693
703
710
718
719
720
722
732
735
736
737
742
743
744
745
746
747
748
750
751
752
753
754
754
760
761
767
770
771
772
775


RAID


IV.
17.










18.









19.






,






777
778
780
781
783
785
785
787
788
789
794
795
797
801
801
804
806
807
807
811
820
821
825
827
835
839
845
845
848
851
852
853
855
856
858
859
860
861
864
867
869







20.







Transact-SQL



Enterprise Manager
Create Database Wizard

Transact-SQL
spdboption




Enterprise Manager



21.


Check
Null
Default
Unique
Primary Key
Foreign Key
No Action
Cascade

870
872
872
874
877
878
881
881
881
883
884
885
885
891
892
894
897
898
900
906
911
912
912
917
918
920
926
931
938
942
945
946
947
947
948
949
950
951
952
953
953




Transact-SQL










Enterprise Manager







22.

Transact-SQL
Enterprise Manager
Create View Wizard







23.





954
955
956
958
958
961
963
966
967
968
973
977
979
980
980
982
985
987
989
991
992
993
995
996
996
999
1005
1009
1009
1010
1011
1012
1014
1015
1017
1019
1020
1022
1024
1025
1027



Transact-SQL
Enterprise Manager
Create Index Wizard




24.




V.
25. Transact-SQL



CASE
COALESCE
ISNULL









BEGIN
END
IF
ELSE
WHILE
CONTINUE
GOTO
USE
WAIT...FOR
GO
26. SQL Server 2000

1025
1030
1030
1035
1038
1042
1043
1044
1044
1048
1048
1049
1052
1053
1055
1057
1058
1062
1062
1066
1069
1070
1072
1072
1073
1074
1075
1075
1077
1078
1082
1083
1083
1084
1085
1086
1086
1087
1088
1088
1089


" "





27. SQL Server 2000










,
Scalar
Inline
Multi-statement


28. ,

INSERT
SELECT...INTO



bcp.exe
bcp.exe
bcp.exe

BULK INSERT
29.
SELECT
INTO
FROM
WHERE

1091
1092
1093
1095
1096
1097
1099
1100
1100
1101
1103
1104
1105
1107
1108
1109
1110
1112
1113
1115
1117
1118
1119
1120
1121
1121
1122
1127

1134
1135
1136
1137
1145
1146
1153
1158
1159
1165
1165
1173

GROUP BY
HAVING
UNION
ORDER BY
COMPUTE
FOR
OPTION
30.










31.

Transact-SQL













32.





1177
1185
1186
1190
1192
1197
1198
1200
1201
1202
1204
1207
1208
1209
1210
1213
1214
1216
1217
1218
1220
1220
1221
1222
1223
1223
1224
1228
1229
1232
1234
1236
1237
1237
1239
1239
1241
1242
1246
1247
1247


1249

1253

ALTER FUNCTION 1119
@
ALTER PROCEDURE 1214
CONNECTIONS 1101
@@CPU_BUSY1112
ALTER TABLE 970
@@CURSOR_ROWS 1103, 1237
ALTER TRIGGER 1246
@@DATEF1RST11O1
ALTER VIEW 1011
@@DBTS 1101
AND 1078
@@ERROR1110
ANY 1079
@@FETCH_STATUS 1103, 1238
APP_NAME()1111
@@IDENTITY1111
AS 1162
@@IDLE1112
ASC1190
@@IO_BUSY1112
ASCII 1109
@@LANGID1101
ASIN1106
@@LANGUAGE1101
ATAN1106
@@LOCK_TIMEOUT 1102
ATN21106
@@MAX_CONNECTIONS 176, 1102
AVG1178
@@MAX_PRECIS1ON 1102

@@NESTLEVEL1102
BACKUP DATABASE 526, 544, 549
@@OPTIONS1102
BACKUP LOG 550, 926
@@PACK_RECEIVED 1112
BEGIN DISTRIBUTED TRAN 861
@@PACK_SENT1113
BEGIN TRAN 853
@@PACKET_ERRORS 1113
BEGIN...END 1083
@@PROCID1107
BETWEEN 1078
@@REMSERVER1102
bigint 1089
@@ROWCOUNT1111
binary 64, 1094
@@SERVERNAME 1102
bit 1098
@@SERVICENAME 1102
bitwise NOT 1072
@@SPID1102
BULK INSERT 1153
@@TEXTSIZE1102
bulkadmin 222
@@T1METICKS1113

@@TOTAL_ERRORS 1113
CASCADE 953
@@TOTAL_READ 1113
CASE 1066
@@TOTAL_WRITE 1113
CAST 1099
@@TRANCOUNT 864, 1111
CEILING 1106
@@VERSION1102
CHAR 1109
A
CHARINDEX1109
ABS1105
CHECK 948
ACOS1105
CLOSE 1236
ALL 1079, 1159, 1181, 1187
COALESCE 1069
ALTER DATABASE 938
COL LENGTH 1107

COLNAME1107
COLLATION PROPERTY 889, 1111
COLUMNPROPERTY 1107
COLUMNS_UPDATED() 1248
COMMIT IRAN 854
COMPUTE 1192 console.exe 39
CONTAINS 1176
CONVERT 1099
COS 1106
COT 1106
COUNT 1178
CREATE DATABASE 892
CREATE DEFAULT 828
CREATE FUNCTION 1115
CREATE INDEX 1030
CREATE PROCEDURE 1204
CREATE RULE 836
CREATE STATISTICS 1048
CREATE TABLE 958
CREATE TRIGGER 1242
CREATE VIEW 996
CUBE 1182
CURRENTTIMESTAMP 1111
CURRENTUSER 1111
cursor 1098
CURSOR_STATUS 1103
D
DATABASEPROPERTY 1107
DATABASEPROPERTY() 922
DATABASEPROPERTYEX() 922
DATALENGTH1111
DATE ADD 1104
DATEDIFF1104
DATENAME1104
DATEPART1105
datetime 1092
DAY 1105
dbaccessadmin 234
dbbackupoperator 234
dbdatareader 234
dbdatawriter 234
dbddladmin 234
dbdenydatareader 234

dbdenydatawriter 234
DBID1107
DBNAME1107
dbowner 234
dbsecurityadmin 234
DBCC:
DBREINDEX 1042
SETINSTANCE 725
SHOW_STATISTICS 1052
SHOWCONTIG 1044
SHRINKDATABASE 930
SHRINKFILE 927
SQLPERF925
dbcreator 222
dbo227
DEALLOCATE 1237
decimal 1090
DECLARE 1059
DECLARE CURSOR 1224
DEFAULT 950
DEGREES 1106
DELETE 1134
DENY 258
DESC1190
DIFFERENCE 1109
diskadmin 222
DISTINCT 1160
distrib.exe 40, 585
DROP DATABASE 945
DROP DEFAULT 831
DROP FUNCTION 1120
DROP INDEX 1044
DROP PROCEDURE 1216
DROP RULE 837
DROP STATISTICS 1053
DROP TABLE 980
DROP TRIGGER 1247
DROP VIEW 1016
dtsrun.exe 333
dtsrun.exe 39
dtswiz.exe 39
E
EXISTS 1080, 1176

1106
EXPAND VIEWS 1199
F
FAST 1198
FETCH 1229
FILE ID 1107
FILENAME1107
FILEGROUPJD1107
FILEGROUP_NAME 1108
FILEGROUPPROPERTY 1108
FILEPRQPERTY1108
float 1091
FLOOR 1106
FOR 1197
FORCE ORDER 1198
FORMATMESSAGE 1111
FREETEXT1176
FROM 1165
FULL OUTER 1169
FULLTEXTCATALOGPROPERTY
1108
FULLTEXTSERVICEPROPERT
Y1108
G
GETANSINULL1111
GETDATE()1105
GO 1087
GOTO 1085
GRANT 254
Grid Pane 391
GROUP BY 1177
guest 227
GUID 609, 1097
H
HAS_DB ACCESS 1108
HAVING 1185
HOST_ID()1111
HOST_NAME()1111
I
IAM813
IDENTINCR1111
IDENTSEED1111
IDENTITY 956, 1

IDENTITYCOL1161
IF...ELSE 1083
IN 1080
INDEXCOL1108
INDEXPROPERTYH08
INNER 1168
INSENSITIVE 1225
INSERT 325, 1122
int 1089
INTO 1165
IS_MEMBER1108
IS_SRVROLEMEMBER 1108
ISDATE1105
ISNULL1070, 1111
ISNUMERIC1106
isql.exe 39
isqlw.exe 39
itwiz.exe 39

KEEP PLAN 1199


KEEPFIXED PLAN 1199
L
LEFT 1109
LEFT OUTER 1168
LEN1109
LIKE 1081
LOG 1106
LOG10 1106
logread.exe 40, 583
LOWER 1109
LTR1M1109
M
makepipe.exe 39
Master 22
MAX 1178
MIN1178
Model 24
money 1091
MONTH 1105
Msdb26
msmergecontents 610, 611
msmergetombsto'ne 610
msrepltransactions 603

N
nchar 1095, 1109
NEWIDQ1112
NO ACTION 953
NOT 1078
ntext 1096
NULL 949
NULLIF1112
numeric 1090
nvarchar 1096

OBJECTNAME1108
OBJECTPROPERTY 1108
odbccmpt.exe 39
odbcping.exe 40
OPEN 1228
OPTION 1198
OR 1078
ORDER BY 1190
osql.exe 40
OUTPUT 1209
P
PARSENAME1112
PATINDEX1109
PERCENT 1160
PERMISSIONS 1112
PI 1106
POWER 1106
PRINT 1059
processadmin 222
Profiler 34
Q
qrdrsvc.exe 584
QUOTENAME1109
R
RADIANS 1106
RAID 778
RAND 1106
READ ONLY 1225
readpipe.exe 40
real 1091
rebuildm.exe 40, 120, 540'
RECOVERY 774

Remsetup.exe 79
REPLACE 1110
REPLICATE 1110
replmerg.exe 40, 587
RESTORE DATABASE 563, 565
RESTORE LOG 566
RETURN 1213
REVERSE 1110
REVOKE 259
RIGHT 1110
RIGHT OUTER 1169
ROBUST PLAN 1198
ROLLBACK TRAN 854
ROLLBACK WORK 854
ROLLUP1182
ROUND 1106
ROWCOUNT_BIG() 1112
ROWGUID 609, 610
ROWGUIDCOL 609, 950, 1162
RTRIM1110
S
sa221
SAVE TRAN 853
scm.exe 40
SCROLL 1225
securityadmin 222
SELECT 1159
SELECT INTO 325
SELECT...INTO1127
SERVERPROPERTY 1112
SESSION_USER1112
SET:
ANSI_NULL_DFLT_OFF 949
ANSI_NULL_DFLT_ON 949
DEADLOCKPRIORITY 880
IDENTITYINSERT 957
IMPLICITTRANSACTION
OFF 852
ON 856
LOCKITIMEOUT 867
QUOTEDIDENTIFIER 824
REMOTE PROC TRANS 861

TRANSACTION ISOLATION LEVEL


869
setupadmin 222
Setupsql.exe 75, 77
SHUTDOWN 147
SID 203, 1093
SIGN 1107
SIN 1107
smalldatetime 1092
smallint 1089
smallmoney 1091
snapshot.exe 40, 582
SOME 1079
SOUNDEX1110
spaddalert 501
s p a d d j o b 493
spaddoperator 505
spaddapprole 244
spaddextendedproc 1202
spaddgroup 241
spaddlinkedserver 283
spaddlinkedsrvlogin 290
spaddlogin 208
spaddremotelogin 313
spaddrole 240
spaddrolemember 236
spaddserver 308
spaddsrvrolemember 223
spaddtype 840
spadduser 231
spattachdb 542, 944
spattachsinglefiledb 944
sp_bindefault 829
spbindrule 837
spchangedbowner 919
spchangeobjectowner 825,1016
spconfigure 162, 193
allow update 230, 492
allow updates 179
cost threshold for parallelism 173
default language 179
fill factor 183
'locks' 865

'max server memory' 168


'max worker threads' 171
'min memory per query' 169
'min server memory' 168
'nested triggers' 180
'priority boost1 172
'query governor cost limit' 180
'recovery interval' 184
'remote access' 177
'remote proc trans' 177, 861
'remote query timeout' 177
'set working set size' 169
'show advanced options' 163
'two digit year cutoff 181
'user connections' 176
spdboption 912
spdepends 978,1015
spdetachdb 542, 942
spdropapprole 246
spdroplinkedsrvlogin 295
spdropremotelogin 318
spdroprole 242
spdroprolemember 237
spdropserver 298
spdropsrvrolemember 224
spdroptype 842
spdropuser 233
spfkeys 979
sp_grantdbaccess 231
spAgrantlogin 212
spjielp 974, 1012
sphelpdb 920
spjielpfile 921
sphelpfilegroup 921
sphelplinkedsrvlogin 292
sphelpremotelogin 315
sphelprolemember 237
sphelprotect 260
sphelpsrvrole 224
sphelpsrvrolemember 223
spjielptext 206
sphelpuser 231
spremoteoption 317

sprename 1010,1043
sp_renamedb918
sprevokedbaccess 232
spserveroption 295
spsetapprole 245
spspaceused 924
spunbindefault 831
spunbindrule 837
spupdatestats 1051
spusercounter 724
SPACE 1,110
sqlvariant 1098
sqlagent.exe 40
sqlcli.bat 78
sqlcst.bat 78
sqldiag.exe 40
sqlftwiz.exe 41
sqlins.bat 78
sqlmaint.exe 40
sqlrem.bat 78
sqlservr.exe 40, 147
sqltrace.exe 761
sqlupg.bat 78
SQRT1107
SQUARE 1107
STANDBY 774
STATSDATE1112
STDEVU93
STDEVP1193
STR1110
STUFF 1110
SUBSTRING 1110
SUM 1178
SUSER_SID1109
SUSER_SID() 230
SUSERSNAME1109
sysadmin221,222
sysalerts 474
sysdatabases 891
sysdepends 1015
sysindexes 1048
syslogins 206
sysoperators 505

sysservers 281
SYSTEMUSER1112
systypes 840
sysusers 228
sysxlogins 206, 289
T
TAN 1107
Tempdb 25
text 1096
timestamp 617, 1097
tinyint 1089
TOP 1160
TRIGGER_NESTLEVEL([object_id])
1248
TYPEPROPERTY 1108
u
UNION 1186
UNIQUE 951
UPDATE 1130, 1248
UPDATE STATISTICS 1049
UPPER 1110
USE 1086
USERID1109
V
VAR1193
varbinary 1094
varchar 1095
VARP1193
VARYING 1210
vswitch.exe 41, 90
W
WAITFOR 1086
WHERE 1173
WHILE...CONTINUE 1084
WITH TIES 1160
A
264
120
468
526
791
719

:
884
806
184
885
938
917
883
427
885
820
542, 942
918
881
920
541, 942
785, 794
: 184
881
579
787
21
891
945
926
911
785
845, 847
864
:
865
866
877
849
848, 878
848
:
849
850
849
850
872
870

867

575
775
227
180
410
172
773
1058
799
776
1158
1062

1060

609, 1097
575
772
:
279
811
809

824

860

73

663
662
Windows NT
205
11216, 1122, 1127
204
791
3
379
430
788, 791
1057


180
-
177
173
:
SQL Server 2000 147, 155, 157, 159
419
417
780
779

203,
1093
200
798
1130
73, 122
324
1027
820, 1017
1019
1022
1020
1043
1042
1027
1030
1044
1024
1029
1025
DTS Designer 376
379
ActiveX Script 384
Bulk Insert 430
Copy SQL Server Objects 427, 448
Data Driven Query 423
Dynamic Properties 456
Execute Package 436
Execute Process 417
Execute SQL 419
File Transfer Protocol 381

Message Queue 440


Send Mail 429
Transfer Database 454
Transfer Error Messages 446,453
Transfer Jobs 453
Transform Data 387
378
169

169

537
792
737
737
775, 777
- 786
126
792, 820
65
738, 791
1062
184
181
178
586

616, 858
423
526, 535,
543
791
1217
1229
1223
1237
1236
1232
1223
1221
1224
1237
1228

1219, 1222
1219
1220
1234

:
1061
53

536
790

175
1135
RAID 779
41
:
849, 866
858
1085
788
582, 597
719
Event Viewer 735
Performance Monitor 722
SQL Server Profiler 736
Task Manager 732
720
737
761
741

63, 65
885
171
799

81

859
722
265
821


823
1062
:
189
190
1062, 1072

821, 839

821
776
790, 791

DTS 330, 456, 463


1087

395
1058, 1063
:
188
508
325
52, 63
1064
788, 791
:
224
53
53
63, 64
171
180
55, 234, 247
821, 835
820, 995
761

74, 122
:
858
858
182, 517

184
772
185, 572
221, 234

280
269
69, 121
198
179
120
1025
:
SQL Server 2000 16, 119, 161
328
472, 737
TCP/IP 74, 122
66 Unicode
63
189
823
1048
517
45
791
811
791
790, 791
120
722

790, 820, 946


RAID 778
1088

853
845, 854
821, 1239

1134
307
820, 827
:
507
167
268
531
45, 74, 92
38
205, 209, 221

76
- 786
807
181, 1025
1063, 1100
X
821, 1200

173

324
811
429

178

1057


Microsoft SQL Server 2000.
.
SQL Server 2000 Web. XML,

,
. , SQL Server 2000 ,
, , .
, SQL Server 2000 Active Directory Windows 2000.
, .
, SQL Server 2000,
.
SQL Server 2000,
. . .
, .
SQL
Server 2000 .
.
SQL Server 2000, , , , , .
SQL Server 2000 ,
, , . SQL Server 2000 .
.

. ,
, .
SQL Server 2000, . -

.
.
, .
SQL Server 2000.

SQL Server 2000, ,
, , . , , Transact-SQL.
, , ,
. , .
.
, SQL Server, Microsoft MCSE+1,
MCDBA MCSD.

I.
SQL SERVER 2000
1. SQL Server 2000
2. SQL Server 2000
3. SQL Server 2000

SQL Server 2000


SQL Server 2000,
,
SQL Server. , SQL Server 2000
. SQL Server 2000
. ,
, (, total cost of owner),
, .
, ,
, ,
,
, . ,
,
.
SQL Server 2000,

.


SQL Server 2000 ,
SQL Server 7.0. , .
, ,
.


,
, SQL Server 2000
. SQL Server 7.0 SQL Server 7.0 SQL Server 6.x.
- .
SQL Server .
SQL Server 2000
() SQL Server 2000,

I. SQL Server 2000

(MSSQLServer SQLServerAgent),
.
. SQL Server
, .
.
, . ,
. (default instance). , , (named
instance),
. , TRELON
STORAGE STORAGE\TRELON.

SQL Server 7.0 SQL


Server 6.x. SQL
Server 2000. , SQL
Server 2000, , , SQL Server 7.0.

SQL Server 2000 . SQL Server 2000


, Unicode.
(collation),
.
SQL Server 2000 SQL Server 7.0 , . ,
.
, SQL Server 7.0
,
. ,
Unicode . , , , ,
- . , SQL Server 2000
, pubs Northwind.
, ,
SQL Server 2000 . , ,

1. SQL Server 2000

. . , , (case insensitive),
, .
AUTHORS Authors .
, . , (case insensitive),
.

, , . ,
. , SQL Server 2000
.


SQL Server 7.0
, Microsoft .
. , , . . ,
, , , , . ,
, . ,
, , , . .
SQL Server 2000 . ,
, .
,
. t a b l e . , . ,
GetPeople, , ,
:
SELECT * FROM GetPeople(' 1 )

,
27.

I. SQL Server 2000


. , , SQL Server 2000. , SQL Server 2000
, INSTEAD OF. SQL Server , , , ,
. , , . SQL Server 2000
AFTER.
INSTEAD OF (instead) , . , , , INSTEAD OF.
, . SQL Server 2000 , . ,
,
.
INSTEAD OF. .


.

(computed columns), SQL Server.
. .
SQL Server 2000
. , . ,
, ( ) .
, ,
Tempdb. Tempdb
. 23.

1. SQL Server 2000


SQL Server
.

,
. - , .

.
SQL Server 7.0 , .
SQL Server 2000 , . . SQL Server 2000
.

Web
, SQL Server 2000,
. ,
SQL Server 2000. ,
, , SQL Server 2000.
, . ,

.
SQL Server
. .
Web Assistant Wizard , , , HTML-.
. , , . , . .

10

I. SQL Server 2000

SQL Server 2000


. Web Assistant Wizard XML,
,
SQL Server 2000.
, , SQL Server 2000
XML. , . SQL
Server 2000 . ,
.
XML SQL Server 2000 ! SELECT, FOR. FOE
XML,
XML. , (
RAW), ( AUTO) ( EXPLICIT).
authors
pubs:
SELECT TOP 3 au_lname FROM authors FOR XML RAW

:
XML_F52E2B61-18Al-lldl-B105-00805F49916B
<row au_lname="Bennet"/>
<row au_lname="Blotchet-Halls"/>
row au_lname="Carson"/>
(3 row(s) affected)

, Query Analyzer.
, XML. , -. . Address Internet Explorer :
http: /7storage/matrix?sql=select+'<ROOT>'; select+top+3+au_lname+from+authors
+for+xml+raw;select+'</ROOT>'

('

, Internet Information Server (MS)


XML SQL Server 2000,
(virtual directory). , HTML
Web Assistant Wizard IIS . ,
intranet, - Web-,
Internet Information Server, Microsoft Windows 2000.

1. SQL Server 2000

1J_

. 1.1. - , XML , ,
, .

. 1.1.




. SQL Server (fail-over support)
(standby server). SQL Server 2000,
.
,
. ,
, . , .
,
. , .
. . ,
. ,
, (node).

I. SQL Server 2000

. .
,
, , . , ,
. ,
.

RAID, . , . RAID .
. RAID
16.
SQL Server . SQL Server 2000 ,
. SQL Server 2000 .
SQL Server 2000.
, ( )
. , .
SQL Server 2000 , (). , . 16.

SQL Server 2000


. , , SQL Server 7.0 ,
.
,
, , .
SQL Server 7.0 SQL Server 6.x. (merge replication), (immediately update subscriber).
, . , , ,

1. SQL Server 2000

13_

() .

. .
.
.
SQL Server 2000 (Queue updating), , ,

,

(). (queue), , .
. , SQL Server 2000
.
, .
, ,

,
, .
( ),
, .
, ,
. SQL
Server 7.0, , .
,
, 14.


SQL Server 2000 SQL Server 7.0, , :
b i g i n t "" integer,
8 . , SQL Server 7.0 i n t , 4 . , .
i n t -,
,

14

I. SQL Server 2000

.
b i g i n t .
sqi v a r i a n t , , .
s q l v a r i a n t ,
SQL Server 2000. ,
( , ),
, , . .
table ,
. t a b l e
, . . . ,
t a b l e , , . . ,
. table
INSERT, DELETE, UPDATE SELECT,

. table
(user-defined
function) .
SQL Server 2000,
, 26.
27.


, .
SELECT,
.
. . ,
,
. SQL Server , .
SQL Server 2000 . ,
, . ,
. , .

, .
, . , , ,

1. SQL Server 2000

15_

. , .
,
. ,
, , . SQL
Server 2000 . , , .
, . 23. ,
.

, SQL Server 2000 .


SQL Server 2000 ,
Windows 98, . ,
SQL Server 2000, , (engine) . SQL Server 2000
. , , SQL Server 2000.
,
SQL Server 2000 ,
.
, SQL Server 2000
(Personal Edition), Windows 98 ( ), Enterprise Edition,
32 64 , .
, , SQL Server 2000 Windows
DNA 2000, Web-,
, -
Business Internet.
2 . 1207

SQL Server 2000


SQL Server 2000
, ,
. Microsoft SQL Server 2000,
. SQL Server 2000, .
SQL Server 2000, .

SQL Server 2000


,
Windows NT Windows 2000, Microsoft SQL Server 2000 ,
. SQL Server:

MSSQLServer;

SQLServerAgent;

Microsoft Search (MSSearch);


Microsoft Distributed Transaction Coordinator (MSDTC).
SQL Server 2000 , ,
.
Windows 95/98 , SQL Server 2000

. , SQL Server 2000 . Microsoft Windows 95/98, Windows NT. SQL Server 2000.

MSSQLServer
MSSQLServer SQL Server 2000 . MSSQLServer -

2. SQL Server 2000

17_

, , , , ,
.
MSSQLServer
SQL Server 2000 . MSSQLServer SQL Server . , .
MSSQLServer ""
.
MSSQLServer,
SQL Server 2000. MSSQLServer
, SQLServerAgent, .

SQLServerAgent
SQLServerAgent, , SQL Server 2000.
. SQLServerAgent
,
. ,
. .
SQLServerAgent
MSSQLServer. SQLServerAgent, SQLServeiAgent MSSQLServer. SQLServerAgent
SQL Server 2000 ,
. ,
SQLServerAgent, , ,
, MSSQLServer.
SQLServerAgent MSSQLServer
, .
SQLServerAgent :
Jobs ();
Operators ();
Alerts ().
2*

18

I. SQL Server 2000

, , Msdb. SQLServerAgent .
"" , SQLServerAgent .
, .
Enterprise Manager. Transact-SQL.
SQL-DMO.
, , . SQLDMO .
SQLServerAgent
, . SQLServerAgent . ,
SQL Server 2000.
SQL Server 2000
12.
SQLServerAgent.

Jobs
, . (schedule)
. , (on demand), . . . (step).
Transact-SQL, , Windows, VBScript JavaScript .
SQLServerAgent , .
. ,
, SQLServerAgent ,

. SQLServerAgent
, ,
.

Operators
. , . .

2. SQL Server 2000

19_


.
, ,
. , , ,
. . . , . , ,
. . ,
, . , .
SQL Server 2000 , , , . SQLServerAgent.
,
.
SQLServerAgent
. ,
NET SEND, . NET SEND , , , - . NET
SEND .

Alerts
Alerts , SQL
Server 2000.
SQLServerAgent
. SQL Server 2000
,
SQL Server 2000. , .
, , .

.
. , , .
SQL
Server 2000 .

20

I. SQL Server 2000

Microsoft Search
Microsoft Search (MSSearch), Full-Text Search,
SQL
Server 2000. SQL Server 2000
.
Microsoft Search (full-text
search).
, , .
, .
Microsoft
. , Microsoft Internet Information Server
Index Server,
HTML-.
SQL Server 2000 (full-text catalog) (full-text index).

. MSSearch. MSSQLServer MSSearch
(full-text provider).
MSSearch
(repopulation) .
, (rebuild)
. ,
.
. ,
.

MSSearch Windows NT
Windows NT Server. SQL Server Desktop Engine. MSSearch SQL Server Standard Edition SQL Server Enterprise Edition.
, , Windows 95/98 Windows NT
Workstation,
MSSearch.

MSDTC
SQL Server 2000 . , -

2. SQL Server 2000

21_

. ,
Microsoft SQL Server 2000, ,
OLE DB.
, Oracle, FoxPro, MS Access . .,
, ,
MS Excel .
SQL
Server 2000 (distributed transaction).
(Distributed Transaction Coordinator). SQL Server 2000 MSDTC.
, . , . MSDTC
.
, . MSDTC , .
(2, two-phase commit protocol). . " " 14.

, ,
, , SQL Server 2000 .

SQL Server 2000


SQL Server 2000 .
SQL Server 2000
.
. Windows, .
.
SQL
Server 2000. :
Master;

Model;

Tempdb;

Msdb.


, . , . . . SQL Server 2000. -

22

I. SQL Server 2000

SELECT, INSERT,
UPDATE DELETE. , SQL Server 2000
. ,
SELECT.
SQL Server 2000
, . Microsoft , .
, . Microsoft
SQL
Server. SQL Server 2000
, , . Microsoft , . , ,
SQL Server 6.x, , SQL Server 2000,
SQL Server .

Enterprise Manager
SQL-DMO. SQL Server 2000 20. .

Master
SQL Server 2000.
, Windows.

. Master , , , .
. 2.1 Master,
.
2.1. Master

Sysaltfiles

Master, , , , . .

Syscacheobjects

2. SQL Server 2000

23

2.1 ()

Syscharsets

Sysconfigures

,
,

Syscurconfigs

, . .
, .
Sysconf igures

Sysdatabases


, ID, , . .

Sysdevices


. SQL Server 2000
SQL Server 6.x

Syslanguages

,
, . . . .
, . .

Syslockinfo


, "", , , ID

Syslogins

, , , ID . .

Sysmessages

.
, ,
,

Sysoledbusers

.
,

Sysperfinfo

SQL Server 2000.


Performance Monitor

Sysprocesses


, SQL Server

1. SQL Server 2000

24

2.1 ()

Sysremotelogins

, . , SUID,
SID, ID . .

Sysservers

SQL Server,
OLE DB SQL Server 2000

Master Data SQL Server 2000. :


Master.mdf , .
8 ;
Master.ldf ,
. I .

Model
.
SQL Server 2000 : Model
.
, , Model.
, . Model. , Enterprise Manager, Transact-SQL SQL-DMO.
.
Model,
. , Model
. Model , ,
.
,
Model. , , ,
, ,
Model,
.

2. SQL Server 2000

25

SQL Server 2000 Model


1,5 . Model Data
0,75 :
Model.mdf , ;
Model.ldf , .

Tempdb
, ,
. SQL
Server 2000 . # ##.
. . , . .
#, @.
, , . .
##,
@@.
Tempdb, Temporary DataBase,
SQL Server 2000 , . ,
, ,
Tempdb. Tempdb , .
Tempdb , , . , , , . SQL Server 2000 Tempdb . ,
Tempdb .

.
Tempdb, , Model.
. , Model.
. , Tempdb

26

I. SQL Server 2000

.
, Tempdb
. Tempdb .
.
.

Tempdb,
, ,
. Tempdb
Model, Tempdb .
Tempdb , Data
SQL Server 2000.
Tempdb.mdf , . 8 ;
Tempdb.ldf .
0,5 .

Msdb
Msdb , SQL Server 2000,
. ,
.
Msdb , SQLServerAgent. . 2.2
Msdb.
2.2. Msdb

Sysalerts

(alerts),

Syscategories

, Enterprise
Manager ,

Sysdownloadslist

Sysjobhistory

.
.
Enterprise Manager

2. SQL Server 2000

27
2.2 ()

Sysjobs


(jobs),

sysjobschedules

sysjobservers

sysjobsteps

. -

sysnotifications

sysoperators


,
SQLServerAgent

systargetservergroupmembers

,
(multiserver group)

Systargetservergroups

Systargetservers

Systaskids


(tasks) SQL Server 6.x (jobs)
SQL Server 2000

SQL Server 2000


.
. ,
.
. , SQL
Server 2000, , ,

:
(OLAP, Online Analytical Processing);
(OLTP, Online Transaction Processing).
, . , ,
,
. SQL Server 2000 .
OLAP OLTP ""
,
.



,
(DSS, Decision Support System)
.
.
,

3. SQL Server 2000

29_

. ,
. , .
. , . , ,
.
.
. .
,
. , , .
, ,
,
. , , ,
. , ,
. ,
, , . . ,
.
, , .
, , .
,
, . (OLAP).
OLAP , . , , .
, OLAP " ". , . . . ,
100%, .
OLAP .
. OLAP , .

30

I. SQL Server 2000

. OLAP .
.
.

, .
. .
, .
, . , .
OLAP , . SQL
Server 2000, SQL Server 6.x, Oracle, MS Access . OLAP
,
, .
,
.
.

. .
OLAP
.
OLAP,
. Microsoft
OLAP Microsoft Decision Support4ystem (MS DSS).
DSS :
, ""
. OLAP
Services, . SQL Server 2000
. OLAP Service SQL
Server 2000, ,
.
, ,

3. SQL Server 2000

37

. PivotTable Service. PivotTable Service . ,


.
DSS -
.
.
Microsoft
. ,
,
Microsoft .




,
.

(OLTP, Online Transaction Processing).
OLAP, OLTP ,
, ,
.
.
, , .
.
. , ,
. - ,
. ,
, . .

. , , . . , $100 000 . ,
- - -

32

I. SQL Server 2000

. , , , ,
$90 000. .
, ,
$100 000, . , ,
. ,
.

19.

. ,

.
, , ,
. OLTP
, OLAP.

SQL Server 2000


, SQL Server 2000 ,
, .

SQL Server 2000. , .
, , SQL Server 2000 (. .
engine). SQL Server 2000 ,
SQL Server 2000
. , SQL Server 2000
SQL Server 7.0.
SQL Server 6.x , .

Enterprise Manager

:
;
;

3. SQL Server 2000

33

;
;
SQL Server 2000;
;
, ;
;
, DTS.
, ,
Enterprise Manager .
, .
SQL Server 2000
:
Transact-SQL;
Enterprise Manager;
(wizards).

.
Transact-SQL, . . ,
Query Analyzer (
). Transact-SQL .
Enterprise Manager
,
. , Microsoft . Enterprise Manager ,
, . , Transact-SQL. He Enterprise Manager
,
Transact-SQL, . Transact-SQL
, . Enterprise
Manager
.

SQL Server Service Manager


SQL Server Service Manager ,

24

I. SQL Server 2000

SQL Server 2000. , .


Service Manager SQL Server 2000
.
Service Manager
(taskbar). , ,
SQL Server 2000,
.
Service Manager . " SQL Server Service Manager" 7.

SQL Server Profiler


SQL Server Profiler ,
SQL Server 2000. ,
Performance. , , Transact-SQL, , , SQL Server 2000
.
. SQL Server Profiler .
.
SQL Server 2000, . , , SQL Server 2000 .
SQL Server 2000
(events). SQL Server 2000
, .
- (event classes),
. SQL Server Profiler
Performance Monitor. SQL Server Profiler, Performance Monitor, . ( ) .
SQL Server . (category).
15.

3. SQL Server 2000

35

Query Analyzer
. Query Analyzer Enterprise
Manager.
, . ,
, Query Analyzer Execute
Query, . SQL Query Analyzer.
:
USE pubs
SELECT TOP 10 au_id, au_lname, au_fname FROM authors

:
au_id

au_lname

au_fname

409-56-7008
648-92-1872
238-95-7766
722-51-5454
712-45-1867
427-17-2319
213-46-8915
527-72-3246
472-27-2349
846-92-7186

Bennet
Blotchet-Halls
Carson
DeFrance
del Castillo
Dull
Green
Greene
Gringlesby
Hunter

Abraham
Reginald
Cheryl
Michel
Innes
Ann
Marjorie
Morningstar
Burt
Sheryl

(10 row(s) affected)

Query Analyzer , . 3.1. , SQL Query Analyzer .


(Object Browser), ,
,
. , .
<F8> Tools Object Browser, Show/hide. . ,
Query Analyzer, .

. Debug. Debug
Procedure, , . (break points),
.
, Query Analyzer
. -

36

I. SQL Server 2000

(estimated) (execution plan) , Query, Display Estimated Execution Plan Display


Execution Plan. ,

. . ,

. , ,
. - .

. 3 . 1 . Query Analyzer

. 3.2 . .
, ,
.

3. SQL Server 2000

37

. 3.2.

Upgrade Wizard
Upgrade Wizard
SQL Server 6.5 SQL Server 2000. SQL Server 2000
,
, , , , , , . ,
. . ,
.
Upgrade Wizard 5.

Import and Export Data


, / ,
DTS, . .

38

I. SQL Server 2000

,
. , DTS,
, .
,
. MS Excel, . ,
.
, DTS, 11.

Client Network Utility Server Network Utility


SQL Server 2000.
, ,
, (Network Library).
(DLL, dynamic link library) .
,
, IPC.
SQL Server 2000,
. , Server Network Utility, SQL Server 2000. .
, .

. Client Network Utility, SQL Server. Enterprise Manager, Query Analyzer
. , ,
, ,
.
6.


, , SQL
Server 2000 ,
. -

39

3. SQL Server 2000

SQL Server 2000,


.
. 3.1 . Binn SQL Server 2000, , . .
PATH.
,
.

, . , ,
.
3.1.

(Bulk Copy Program).



.
28

console.exe

dtsrun.exe

DTS , , .
, , SQL
Server 2000

dtswiz.exe

, DTS (DTS Import/Export Wizard)

isql.exe

, DB-Library.
TransactSQL, . SQL
Server 2000
Query Analyzer

isqlw.exe

, Query Analyzer

itwiz.exe

Index Tuning Wizard


. ,
, , ,

makepipe.exe

readpipe

odbccmpt.exe

( )
SQL Server 6.5 ODBC

1. SQL Server 2000

40

3.1 ()

odbcping.exe


SQL Server 2000 ODBC

osql.exe

, ODBC. Transact-SQL

rebuildm.exe

Master

readpipe.exe

.
makepipe.exe

distrib.exe

, Distributor
Agent. SQLServerAgent.
.

logread.exe

Log Reader Agent,


. SQLServerAgent.
.

replmerg.exe

Merge Agent, . SQLServerAgent.


.

snapshot.exe

Snapshot Agent, . SQLServerAgent. .


scm.exe

(,
) SQL Server 2000

sqlagent.exe

, SQLServerAgent. ,

sqldiag.exe

SQL
Server 2000 . ,
. ( SQLdiag.txt Log)

sqlmaint.exe


. ,
. . , , HTML-

sqlservr.exe

SQL Server 2000, MSSQLServer. ,


3. SQL Server 2000

41_
3.1 ()

sqlftwiz.exe

Full-Text Indexing Wizard,

vswitch.exe

( 6.x
8.0) SQL Server,

,
Transact-SQL,
Enterprise Manager (wizards). . .
.
,
. , Enterprise Manager . . ,
Transact-SQL.
, .
. 3.2 SQL Server 2000. ,
. , . Enterprise Manager Run a wizard.
Select Wizard, .
3.2. SQL Server

Backup Wizard

Failover Setup Wizard

Configuring Publishing and


Distribution Wizard

Create Alert Wizard

Create Database Wizard

Create Diagram Wizard

Create Index Wizard

Create Job Wizard

1. SQL Server 2000

42

3.2 ()

Create New Data Source


Wizard

ODBC- ODBC-

Create Login Wizard

SQL Server

Create Publication Wizard

Create Stored Procedure

Wizard
Create Trace Wizard
Create View Wizard
Create Maintenance Plan
Wizard

Profiler

Disable Publishing and


Distribution Wizard

DTS Export Wizard

DTS- SQL Server

DTS Import Wizard

DTS- SQL Server

Full-text Indexing Wizard

Index Tuning Wizard

Make Master Server


Wizard

Make Target Server


Wizard

Register Server Wizard

Enterprise
Manager

Pull Subscription Wizard

Push Subscription Wizard

SQL Server Upgrade


Wizard

SQL Server 6.x

Web Assistant Wizard

Web-

II.
SQL SERVER 2000
4. SQL Server 2000
5. SQL Server 2000
6. SQL Server 2000


SQL Server 2000
SQL Server 2000,
, . Microsoft
(Total Cost of Owner) . SQL Server 2000 .
, , SQL Server 2000. (typical)
, ,
.
.
,
(custom) . ,
,
.

.
.
, SQL Server 2000. SQL
Server 2000 SQL Server 2000
.

. , , ,
.

SQL Server SQL Server 2000. 6
Setup Wizard, SQL
Server 2000.

46

II. SQL Server 2000

, SQL
Server 2000 . ,
SQL Server 2000,
.


, SQL Server 2000,
(edition).
, . , ,
, 32-
.
, SQL Server 2000. , . , . SQL
Server 2000, , , , .
SQL Server 2000 :
Standard Edition. . SQL
Server 2000 Standard Edition , . 2 .
Enterprise Edition. , . SQL Server 2000 Enterprise Edition Web-,
(OLTP, Online Transaction Processing), (Data
Warehousing System) (DSS, Decision
Support System). Enterprise Edition
64 . ,
. SQL Server 2000 Enterprise
Edition .
Desktop Engine. - ,
(engine) , Books Online, (code samples) ,

4. SQL Server 2000

47_

. . . Desktop Engine Windows


Installer, . SQL
Server 2000 Desktop Engine API, . API
. Desktop Engine , , .
, , , . ,
,
. Desktop Engine , (CAL,
Client Access Licenses). SQL Server 2000
Desktop Engine off-line.
Windows Edition. SQL Server 2000
Microsoft Windows . .
, SQL Server 2000 Enterprise Edition SQL
Server 2000 Standard Edition.
Personal Edition. , Desktop Engine, ,
Enterprise Manager, Query Analyzer . Personal Edition
. Desktop Engine,
. SQL Server 2000 Personal Edition
. , SQL Server 2000
" " , Windows 98,
Windows NT Workstation 4.0 Windows 2000 Professional, Personal Edition
. .
Developer Edition. Enterprise Edition,
.
.
'

Evaluation Edition.
Web- Microsoft. ( )
Enterprise Edition. To SQL Server 2000 ,
3

.1207

II. SQL Server 2000

48

. SQL Server 2000


Evaluation Edition 120 .
, SQL Server 2000
, . ,

Windows SQL Server 2000. . 4.1 .
4.1.
Developer Desktop Windows
Edition
Engine CE Edition

Enterprise
Evaluation
Edition

Enterprise
Edition

Standard
Edition

Personal
Edition

Windows 2000
Datacenter

Windows 2000
Advanced Server

Windows 2000
Server

Windows 2000
Professional

Windows NT
Server 4.0 Enterprise Edition

Windows NT
Server 4.0

Windows NT
Workstation 4.0

Windows 98

Desktop
Engine

Windows CE

. 4.2 SQL Server 2000, ().


4.2.

Enterprise
Edition

Standard
Edition

Personal
Edition

Developer Desktop Windows


Edition
Engine CE Edition

Enterprise
Evaluation
Edition

49

4. SQL Server 2000

4.2 ()

Enterprise
Edition

Standard
Edition

Personal
Edition

4-


Enterprise Manager

Developer Desktop Windows Enterprise


Edition
Engine CE Edition Evaluation
Edition
+

_f.

DBCC

CREATE
INDEX

. 4.3
SQL Server 2000.
4.3.

Enterpri
se Edition

Standard
Edition

Personal
Edition

"!

3*

Developer Desktop Windows


Engine CE Edition
Edition

Enterprise
Evaluation
Edition

II. SQL Server 2000

4.3 ()

Enterpri
se Edition

Standard
Edition

Personal
Edition

Developer Desktop Windows


Edition
Engine Edition
.

Enterprise
Evaluation
Edition


,
SQL Server 2000, .
:
CJ ;
;
SQL Server 2000.
. ,
- .


SQL Server 2000 . . SQL Server 2000 ,
.
. 4.4 , SQL Server 2000. , , SQL Server 7.0.
, SQL Server 2000 , SQL
Server 7.0.

51

4. SQL Server 2000


4.4.

Pentium 166, Pentium Pro

Pentium II Pentium III

32
(64 Enterprise Edition)

6 4 - 1 2 8 {128-256
Enterprise Edition)

180 : ;
170 : ;
65 : ;
90 :
;
+50 : OLAP;
+12 : English Query


,

,

,
SQL Server 2000 . . Pentium II.
.
. , SQL Server 2000 Enterprise Edition
64 .


SQL Server 2000. , . ,
Windows 98 ,
( 816 ) , Windows 2000 Advanced Server
128 . , SQL Server 2000.


, , SQL Server 2000
,
.
. . 4.1 SQL Server 2000 Windows.
SQL Server 2000
:

52_

II. SQL Server 2000

Windows 98;
Windows NT Workstation 4.0;
Windows NT Server 4.0;
Windows 2000 .

~^

, SQL Server 2000 Windows 95. , SQL Server 2000.


SQL Server 2000
Windows NT Server Windows NT Workstation
Service Pack 5.0 . , SQL Server Books Online Microsoft Management Console (MMC) Internet Explorer
5.0 ( ). SQL Server 2000 Windows 2000
, . .
Internet Explorer 5.0.
SQL Server
, . SQL Server 2000 ,
. ,
, SQL
Server 2000.
SQL Server 2000 Windows 2000: NetBEUI,
IPX/SPX TCP/IP. , AppleTalk
ADSP, Banyan VINES .

. " " .
, SQL Server 2000
XML.
Microsoft Internet Information Server (IIS). ,
XML, Internet Information Server. , . . XML
.


, SQL Server 2000.
, -

4. SQL Server 2000

53

, , . ,

.
Windows NT Windows 2000 . ,
. ,
, ,
. , , SQL Server 2000, NTFS ,
MSSQLServer,
SQL Server 2000, .

NT,
. . Windows 2000. Windows 98
. SQL Server 2000 . , SQL Server 2000
, , .

NT
:
Local System ( ). .

. ,
, . .
.

. SQL Server 2000
, ,
SQL Server 2000.
Local User ( ). ,
. SQL Server 2000 , ,
SQL Server 2000,
.
User for Domain ( ).
(domain controller) Windows NT
Windows 2000 ,, . .

54

II. SQL Server 2000

,
SQL Server 2000, , ,
MSSQLServer, :
\Program Files\Microsoft SQL Server\Mssql;
mdf, ndf ldf;
:

HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer;

HKEY_LOCAL_MACHINE\System\CurrentControlset\Services\MSSQLServer.

, SQL Server 2000


. ,
.
, ,
,
. , ,
.
MSSQLServer. (SQLServerAgent, Microsoft
Search MSDTC) MSSQLServer.
, SQLServerAgent MSDTC,

(fixed server role) sysadmin. , . , Domain Admins.
SQL Server 2000
(jobs).
SQL Server 2000.
, .

Microsoft Search
. MSSQLServer
, MSSQLServer.
,
SQL Server 2000. , ( , )
. , , :
;
;
, ;

4. SQL Server 2000

;
SQL Server 2000;
.
, , . , ,
SQL Server 2000. ,
.
(

~)

SQL Server 2000 , Services Control Panel ( ) Enterprise Manager.


SQL Server 2000 8.

Windows NT
Windows NT User Manager for Domains (. 4.1),
.
,
. , ( ) (Administrator)
(Account Operator).
User New
User. (. 4.2), (Username), (Full Name)
(Description). , Password Confirm Password
. , ,
User Must Change Password at Next Logon, . ,
Password Never Expires, . Add .
SQL Server 2000
. , ,
,
. (rights) Windows NT
.
Windows NT,
. , ,
, . .

56

II. SQL Server 2000

. 4 . 1 . User Manager For Domains

. 4 . 2 . New User User Manager for Domains

SQL Server 2000 :


(Act as a part of the operating
system);

57

4. SQL Server 2000

(Log on as a
service);
(Increase quotas);
(Replace a process level token).
Policies
User Manager for Domains User Rights. , . 4.3. Right , . Grant To
, .
Add.

. 4 . 3 .
User Rights Policy

, SQL Server 2000 , . User Manager for Domains SQL Server 2000.

, Windows 98 . SQL Server 2000 Windows NT, .

Windows 2000
Windows 2000 Windows NT 4.0. Windows NT 4.0
Windows 2000.
Windows 2000 (, Windows 2000, ) Active Directory Users and Computers (. 4.4).

II. SQL Server 2000

58

. 4.4. Active Directory Users and Computers

,
Local Users and Groups\Users Computer Management (. 4.5).

~^

, SQL Server 2000,


Windows 2000,

Computer Management .

Windows NT 4.0 Windows 2000 , , .


(. . Active Directory)
,
.
, SQL
Server 2000 .

4. SQL Server 2000

59

. Local Users and


Groups\Users New User. New User (. 4.6), , :
User name. , .
.
Full name.
, , .
Description. , .
, . , , .
Password. ,
.

. 4.5. Computer Management

60

II. SQL Server 2000

Confirm password. ,
. ,
.
.
User must change password at next logon.
.
User cannot change password.
, .
. , .
, .
Password never expires. ""
. .
.
Account is disabled. . , . ,
.

. 4.6. New User


, .
Create,

4. SQL Server 2000

61

. , ,
,
Full name Description.
Windows NT 4.0, Windows 2000 , SQL Server 2000. Windows 2000
.
Local
Security Policy (. 4.7), Local Policies\User Right Assignment.

. 4.7. Local Security Policy


,
.
Local Security Policy Settings (. 4.8) Add, (. 4.9)
.

62

. 4.8. Local Security Policy Settings

. 4.9.

II. SQL Server 2000

4. SQL Server 2000

63

Windows 2000,
, .

Windows NT, Windows 2000 SQL Server 2000, :


(Act as a part of the operating
system);
(Log on as a
service);
(Increase quotas);
(Replace a process level token).

SQL Server 2000.


SQL Server 2000 ,
. (collation) , , . SQL
Server 7.0
(Character Set), (Sort Order) Unicode (Unicode Collation).
. , SQL Server 7.0
. . ,
.
, SQL Server 2000.
SQL Server 2000 ( Unicode) (Unicode) .
. ,
:
Unicode (char, varchar t e x t ) ;
Unicode (nchar, nvarchar ntext);
, Unicode.

64

II. SQL Server 2000

,
SQL Server 2000 .


, SQL Server 2000 . , , . . ,
65, 66, 67 . . , , G, , F, , , , , , F, G.
, .
.
, . ,
. SQL
Server 2000 (sort order).

SQL Server 7.0 Unicode, . .


, . Unicode Unicode
(Unicode Collation). SQL Server 2000 "" .
Unicode, Unicode.

SQL Server 7.0 SQL Server 2000


.
. SQL Server 7.0
,
, SQL Server 2000 :
Binary ,
.
.
Case sensitive , .
SQL Server 2000
.
, .
Accent sensitive .

4. SQL Server 2000

65_


. (check box).
- , .
.


(code page) , char, varchar t e x t .
256 . , 1 , 256 .

(character set).
( 0127) .
, , , ,
, , .
( 128255) .
SQL Server 2000 16
(. 4.5), 1251, .
. Regional Settings Control Panel.
4.5. SQL Server 2000

437

850

874

932

936

()

949
950
1250
1251

()

66

II. SQL Server 2000


4.S ()


1252

Latin 1 (ANSI)

1253

1254

125

1256

1257

1258

Unicode

256. . ,
.
, .

, . . ,
.
SQL Server 2000 Unicode. 256 , . Unicode
1 , ,
2 . 65 536 (2 1 6 ). . SQL Server 2000
Unicode: nchar, nvarchar n t e x t .

Microsoft SQL Server 7.0.


.

SQL Server 2000


, Unicode. SQL

4. SQL Server 2000

67_

Server 2000 . , SQL Server 7.0 ' SQL Server 2000


. , , ,
.
SQL Server 2000 SQL Server 7.0 , . ,
.

SQL Server 7.0


, . , Unicode
.
. ,
, , , . SQL Server 7.0
, . . ( , Unicode).
,
, . ,
, .
. , ,
, Authors authors,
. , , .

SQL Server 7.0 SQL Server 2000


.
SQL Server 2000 ,
:
Windows
, Windows.
.
SQL Server 2000.
, Regional Options Control Panel. -

S8

II. SQL Server 2000

,
SQL Server 2000. , SQL Server 2000 ,
.

SQL SQL Server.



. , SQL
SQL_Latinl_General_CPl_CI_AS (Dictionary Order, Case-insensitive),
1252 (ISO Code Page 1252)
Unicode (General Unicode Collation). SQL Server 2000
, Unicode, SQL Server 7.0.
, SQL
SQL Server.
Windows. ,

SQL Server 2000 . SQL Server 2000 . ,
Windows, SQL
Server 2000 , .
.
,
, .


SQL Server 2000 .
, SQL Server 2000 , . , SQL
Server 2000 . .
, , SQL
Server 2000, , SQL Server 2000, .
' 14.
, SQL
Server 2000. ,
, SQLServerAgent .

4. SQL Server 2000

SQLServerAgent . ,
. SQL Server, .


, SQL Server 2000
, .
, . Windows,
SQL Server 2000, .
,
.

. , . .
SQL Server 2000.

Windows NT 4.0
Windows NT 4.0
Network () (. 4.10), Control Panel ( ). Network Neighborhood (
), Properties ().
Protocols. Network Protocols ,
.
Add. Select Network Protocol
(. 4.11) .
, . Have Disk.
, , .
TCP/IP,
. NetBEUI
, .

,
, .
.

70

. 4.10. Network

II. SQL Server 2000

. 4.11. Select Network Protocol

Windows 2000
Windows 2000
Windows NT 4.0.
Local Area Connection Properties (. 4.12).
,
Start (), Settings (), Network and Dial-up Connections. Network and Dial-up Connections (. 4.13), Local
Area Connection, Local Area Connection Status
(. 4.14). Properties
Local Area Connection Properties (. . 4.12).
Local Area Connection Properties . ,
. SQL Server 2000
. . 4.12 ,
TCP/IP. ,
Uninstall.
Install.
Select Network Component Type (. 4.15), .

4. SQL Server 2000

71

. 4.12. Local Area


Connection Properties

. 4.13. Network and Dial-up Connections

72

. 4.14. Local Area


Connection Status

II. SQL Server 2000

. 4.15. Select Network


Component Type

,
Protocol, Add.
Select Network Protocol (. 4.16),
.

. 4.16. Select Network Protocol


Windows NT,
Windows 2000 .

73

4. SQL Server 2000

. TCP/IP, NetBEUI
.


SQL Server 2000.
, ,
, (network
library). (dll, dynamic link library,) .
,
, IPC.
SQL Server 2000
. . 4.6 , SQL Server 2000.
4.6.

AppleTalk ADSP

Apple Macintosh
SQL Server 2000, AppleTalk, TCP/IP Sockets.
, Apple Talk.
, . Windows 95/98

Multiprotocol

RPC .
IPC Windows NT:
TCP/IP Sockets, Named Pipes, NWLink IPX/SPX . .
Windows NT
,
Windows NT . SQL Server 2000 Windows 98

Named Pipes
(
)

SQL Server 2000 Windows NT Windows 2000


.
Windows. , Windows 98 . SQL Server
\\.\pipe\sql\query. SQL Server, \\.\pipe\MSSQLSinstancename\sql\query

NWLink IPX/SPX

SQL Server 2000 Novell NetWare

74

II. SQL Server 2000


4.6 ()

Shared Memory
,
( ) , .
- . SQL Server 2000,
TCP/IP (
TCP/IP)

TCP/IP
.
IPC. -. TCP/IP
.
SQL Server 2000 1433.
Windows 98 TCP/IP

Banyan VINES

, Banyan VINES IP.


Banyan VINES Sequenced Packet Protocol, Banyan VINES IP, IPC

. 6 , SQL
Server 2000 .
, .


SQL Server 2000 ,
. ,
. SQL Server 2000 :
(Local Installation);
(Remote Installation);
(Unattended Installation).
.


. SQL
Server 2000 , . .
, .

4. SQL Server 2000

75_

, , , .
.

SQL Server 2000


Setupsql.exe.
SQL Server 2000 , ,
, ,
SQL Server 2000. \Program Files\Microsoft SQL Server,
\Data SQL Server 2000 (\MssqI).
, . Setup.iss, \Install SQL Server 2000.
,
.
, , . Sqlstp.log,
,
\WinNT. ,
, Errorlog, \Log SQL Server 2000.
, ,
.


SQL Server 2000 ,
SQL Server 2000
. , ,
. SQL
Server 2000 .
SQL Server 2000 :
;
Systems Management Server (SMS).

76

II. SQL Server 2000


, Microsoft. Microsoft Systems Management Server
, ,
,
Windows. SMS (PDF, Package Definition
Format), SMS
(Package), .
SQL Server 2000 Microsoft SMS
1.2 .
SQL Server 2000 smssql.pdf,
SMS. , SQL Server 2000.

~")

pdf , , Microsoft SMS. smssql.pdf


.
smssql.pdf ,
SQL Server 2000.
- SQL
Server 2000:
d smscli.bat
SQL Server 2000 SMS;
smssqins.bat SQL Server 2000 SMS.

Microsoft SMS
. , .

. , . . ""
SQL Server 2000.
""
,
.
. , , . . .

4. SQL Server 2000

77_

:
Notepad
(). .
Setup.iss,
.
, \WinNT.
, , Setup.iss,
.
Setup.iss .
SQL Server 2000 .
Installation Selected Advanced Options. (Advanced Options) Record Unattended.ISS file. ,
,
,
SQL Server 2000. , , . .
. SQL
Server 2000 .
Setup.iss.
.
,
SQL Server 2000 . , ,
, . ,
, .
,
SQL Server 2000
. SQL Server 2000, .
SQL Server 2000 .
, .

Setupsql.exe. :
-fi i n i t i a l i z a t i o n f i l e p a t h x
.

II. SQL Server 2000

s t a r t /wait. SQL Server 2000.


Setupsql.exe.
-SMS. .
-s. (silent mode). .
SQL Server 2000:
start /wait x86\setup\setupsql.exe -s -m -SMS -fl "sqlins.iss"

, , - SQL Server 2000 bat-,


. :
sqlcli.bat SQL
Server 2000;
sqlins.bat
Server 2000;

(typical)

SQL

sqlcst.bat (custom) SQL Server 2000;


sqlrem.bat SQL Server 2000;
sqlupg.bat SQL Server 2000
Windows NT.

, , , iss.
SQL Server 2000
.

bat iss .


SQL Server 2000
, ,
, , ,
. , , Setupsql.exe.
.

4. SQL Server 2000

79_

. . .
, :
Username ,
SQL Server 2000;
Password ;
Domain , ;
Target Computer , SQL Server 2000;
Target Path (UNC) UNC ,
SQL Server 2000;
Setup Source Files UNC SQL Server 2000 .
, , ,
Setupsql.exe . Setup.iss.
Remsetup.exe. Setupsql.exe .
Remsetup.exe ,
.

, Setupsql.exe . Setup.iss, .
Remsetup.exe Admin$, , , SQL Server 2000,
Setup.iss, . , , Remsetup.exe
SQL Server 2000 Setup.iss,
.

. .
,

, Setupsql.exe,
4

.1207

SO

II. SQL Server 2000

, SQL Server 2000.



Setup.iss. . , , , .
,
Remsetup.exe. , , .
,
Setupsql.exe.

, Remsetup.exe
, . ,
. , , Setupsql.exe . ,
, SQL Server 2000.
.
Remsetup.exe ,
Setupsql.exe. Setup.iss SQL Server 2000 . ,
Setup.iss. .

SQL
Server 2000
SQL Server 7.0 SQL.
Server 6.5 , . .
SQL Server 6 5
SQL Server 7.0. SQL Server 2000. SQL
Server 7.0 SQL Server 2000 , SQL Server 6.5. , SQL Server 2000
.
SQL Server 7.0, SQL Server 6.5 - , SQL Server 2000 .
SQL Server 7.0 , SQL Server 6.x SQL Server 7.0
. SQL Server 2000 ,
SQL Server 2000
SQL Server 7.0.

^)

SQL Server 2000 SQL


Server 6.5 SQL Server 7.0.
SQL Server 6.0, SQL Server 6.5 SQL
Server 7.0, SQL Server 2000.

Microsoft SQL Server 7.0 SQL Server 6.5


SQL Server 2000.
, .
, ,
.

, SQL Server 6.5 7.0 SQL


Server 2000 . ,
SQL Server 6.5
MS Access, SQL Server 2000.
. -

82

II. SQL Server 2000

, .
.
SQL Server 2000 SQL
Server 7.0. , SQL Server 2000 , , SQL Server 2000.
.
SQL Server 2000 .
Installation Selection
Upgrade, remove, or add components to an existing instance of SQL Server.
SQL Server 2000 :
(install over SQL Server 7.0) SQL
Server 7.0 SQL Server 2000;
(adding components)
SQL Server 2000;
(build-to-build upgrades)
, . . SQL Server 2000, ;
(edition and component upgrades) SQL Server 2000;
(upgrading to a cluster)
SQL Server 2000.
. ,
SQL Sei'ver 6.5
SQL Server 2000.
SQL Server Upgrade Wizard, Programs
(), Microsoft SQL Server Switch.
,
, , SQL Server 7.0 SQL Server 2000 , SQL
Server 7.0. (Copy Database Wizard).

SQL Server 6.x


, SQL Server Upgrade Wizard SQL Server 6.5 SQL Server 2000.
SQL Server 2000 -

5. SQL Server 2000

83_

, , , ,
, , , ,
. .
, .
SQL Server 6.0, :
SQL Server 7.0 SQL Server 6.0 SQL Server 7.0.

SQL Server 2000 SQL Server 7.0
SQL Server 2000;
SQL Server 6.0 SQL Server 6.5,
SQL Server 2000 SQL Server 6.0 SQL Server 2000. , SQL Server 6.5
SQL Server 7.0, SQL Server 2000.
- .
SQL Server Upgrade Wizard , ,
. -
SQL Server 2000 SQL
Server 6.5 SQL Server 7.0, .
SQL Server 6.5
SQL Server 7.0, SQL
Server 2000.
, , Transact-SQL,
, , .
, SQL Server 6.5 SQL
Server 7.0 .
SQL Server 2000 ,
. Data Transformation
Services SQL Server 6.5 SQL Server 7.0.
DTS . Data Transformation Services . " Data Transformation Services" 11.
Upgrade Wizard.

SQL Server 6.5.


Upgrade Wizard . SQL Server 4.1 SQL Server 6.5,
SQL Server 2000. SQL Server 4.1 SQL

84

II. SQL Server 2000


Server 7.0 . SQL Server 4.1 SQL
Server 6.0, SQL
Server 7.0, . . SQL Server 2000
SQL Server 6.0.



. Upgrade Wizard ,
SQL Server 2000 SQL
Server 6.x:
,
( mdf ndf);
,
( ldf);
Tempdb.
Tempdb . ,
.
, SQL Server 2000 1,5
, SQL Server 6.5.
8 ( SQL Server 6.x 2 ), .
(fill factor) 3050%. .
Upgrade Wizard Service Pack
5.0 SQL Server 6.5. :
SQL Server 6.5
Windows NT Server 4.0 Windows NT Workstation 4.0;
Service Pack 4.0 .
, (user), (login) SQL Server 6.5 , . ,
. ,
, , .
. , . , , , .

5. SQL Server 2000

85_

, ,
.
, SQL Server 2000.
SQL Server ,
. Upgrade Wizard SQL Server 6.5 SQL Server 2000.

.
,
:
, ,
, ;
SQL Server 6.5. ,
;
, Master;
;
SQL Server 6.5,
, DBCC;
Tempdb
10 ( 25 );

SQL Server 6.5

, Master 3 ;
, SQL Server 6.5,
2000.

. , , ,
.


Upgrade Wizard
SQL Server 6.5 SQL Server 2000 :
,
(tape);
(named pipes).

II. SQL Server 2000

gg

SQL Server 6.5 ,


. , ,
. ,
,
SQL Server 2000. . .
Upgrade Wizard
SQL Server 6.5, .

SQL Server 6.5 .



SQL Server 6.5 SQL Server 2000. SQL
Server 6.5, . .

SQL Server 6.5 , .


, SQL
Server 6.5. , .
, , . , , Windows NT Backup.

Upgrade Wizard (devices) SQL


Server 6.5, . ,
, SQL Server 6.5,
, . , SQL Server 6.5.

,
SQL Server 6.5 . UNC.

SQL Server 6.5 SQL


Server 6.5 , . . , , - SQL Server 6.5, .

, ,
. , , -

5. SQL Server 2000

87_

, , , Windows
NT Backup. Windows NT Backup. Upgrade Wizard
,
.


, SQL Server 2000 ,
SQL Server 6.5, SQL Server 2000, SQL Server 6.5. .

. SQL Server 2000. ,


, .
,
. , Upgrade Wizard
. SQL
Server 6.5, SQL Server 2000
\\.

\pipe\sql\query.



. . SQL Server 6.5, .
, . , . . SQL Server 6.5
, .

(^


: SQL Server 6.5 SQL Server 2000.
SQL Server. SQL Server 6.5 SQL Server 2000. , . ,
SQL Server 6.5 SQL Server 2000 .

-

(Export Server) SQL Server 6.5 (Import Server)
SQL Server 2000.

II. SQL Server 2000

.
SQL Server 2000, Upgrade Wizard.
, SQL Server 6.5. SQL Server 6.5 .
. SQL Server 6.5, SQL Server 2000.
,
.

, sa (system administrator),
. SQL Server 6.5 SQL Server 2000.

.
. , .

. , . SQL Server 2000 SQL Server. , SQL Server 2000,
SQL Server 6.5. SQL Server 6.5 (default instance) SQL
Server 2000. .


, Upgrade Wizard SQL Server 6.5 Transact-SQL, SQL Server 2000.
, , ,
, . .

.
.

SQL Server 2000.
,
SQL Server 2000 SQL Server 6.5. .

5. SQL Server 2000

89_

.
""
, .
SQL Server 2000. , SQL Server 6.5,
SQL Server 2000. .
SQL Server 2000
. ,
. ,
, .
,
.
SQL
Server 6.5 . - ,
.
, .
, .
, SQL Server 2000. , . ,
, SQL Server 6.5. SQL Server 6.5, SQL
Server 2000, , .
SQL Server 2000 , SQL Server 6.5. SQL
Server 6.5 , SQL Server 2000
.
, SQL Server 6.5. , , . .
:
;
;
.
, SQL Server. , Internet Information
Server,
Web-.

II. SQL Server 2000

SQL Server 7.0


, SQL Server 7.0
SQL Server 2000 :
SQL Server 2000. SQL Server 7.0,
. , SQL Server 2000;
, SQL
Server 2000. , SQL Server 2000, SQL Server 7.0. Copy Database Wizard.
SQL Server 7.0, . . .


SQL Server
SQL Server 6.x (default instance) SQL Server 2000. . SQL Server 6.x,
SQL Server 2000. vswitch.exe,
:
vswitch -SwitchTo {60 | 65 I 80} [-Silent {0 | 1}]

-SwitchTo , . 65 ( 60) SQL Server 6.5


( SQL Server 6.0), 80 SQL Server 2000. , SQL Server 6.5, SQL
Server 2000 .
(named instance) SQL Server 2000.
SQL Server Programs () Microsoft SQL ServerSwitch. SQL Server 6.5,
Microsoft SQL Server 2000. SQL Server 2000,
Microsoft SQL Server 6.5.
SQL Server vswitch.exe.
SQL Server 2000
. (
MSSQLServerSO) SQL Server 2000. 8.0. (MSSQLServer 65

5. SQL Server 2000

91_

MSSQLServer_6o)
SQL Server 6.x. (MSSQLServer) .
SQL Server 2000, SQL
Server 6.x. , ,
.
vswitch.exe MSSQLServer
. , , MSSQLServer.
.

.
.

SQL
Server 2000

SQL Server 2000 . SQL Server 2000.
SQL Server 2000 -. - CD-ROM SQL Server Automenu
(. 6.1). , SQL Server
Automenu autorun.exe,
-.

. 6 . 1 . SQL Server Automenu

.
:
Install SQL Server 2000 Prerequisites.
Windows 95 , -

6. SQL Server 2000

93

SQL Server 2000. , :

Install Winsock2 Update for Windows 95


Windows 95, SQL Server 2000;

Install Common Control Library Update Windows 95.


Install SQL Server 2000 Components.
,
SQL Server 2000.
SQL Server, .
-. :
Database Server Choice Edition SQL Server 2000.
, SQL Server Automenu Installation Wizard.
. SQL Server 2000
SQL Server Automenu;

Analysis Services , (Online Analytical Processing, OLTP);

English Query English Query, ,


Transact-SQL.

Browse Setup/Upgrade Help.


SQL Server 2000.
Books Online .
Read the Release Notes. Notepad () readme, . SQL Server 2000, Books Online.
Visit Our Web Site. Internet Explorer, http://www.microsoft.com/sql/,
SQL Server.
SQL Server 2000
. SQL Server Automenu
Database Server Install SQL Server 2000 Components,
Installation Wizard, .
setupsql.exe x86\Setup, . , Z:\SQLSTD\x86\Setup\setup.sql.exe, Z: -.

94

II. SQL Server 2000


, Installation Wizard ,
. '
.
(. 6.2) -
.

. 6.2. Installation Wizard

(. 6.3) ,
. :
Local Computer.
, . . , . , .
.
Remote Computer.
.
, ,
SQL Server 2000 .
,
.
, , Browse.

6. SQL Server 2000

95

Windows 98, SQL Server 2000.

Virtual Server. ,
. , .

. 6.3. Computer Name Installation Wizard

, . .
, . , . , Local Computer, ,
Next.
Installation Selection (. 6.4) . ,
,
. :
Create a new instance of SQL Server. SQL Server 2000.

96

II. SQL Server 2000

. 6.4. Installation Selection Installation Wizard

. 6.5. Existing Installation Installation Wizard


Upgrade, remove, or add components to an existing instance of SQL Server. , _ (Build version) SQL Server 2000. -

6. SQL Server 2000

97

- (beta) (evaluation)
(release). ,
, SQL Server 2000.
Existing Installation (. 6.5)
, .
Advanced options. (setup.iss),
. Advanced Options (. 6.6),
Installation Selection. , setup.iss
.
,
SQL Server 2000. .

. 6.6. Advanced Options Installation Wizard

, SQL Server, SQL


Server 7.0,
,
SQL Server 2000 Installation Wizard.

98

II. SQL Server 2000

, .
Create a new instance of SQL Server (. . 6.4).
User Information (. 6.7).
,
. , , , , SQL Server 2000. SQL
Server 2000.
.

. 6.7. User Information Installation Wizard

,
, Software License Agreement
(. 6.8) ,
SQL Server 2000. , Yes,
. SQL Server 2000 - ,
No,
. ,

. ,
SQL Server 2000 , .

6. SQL Server 2000

99

. 6.8. Software License Agreement Installation Wizard


,
Yes,
SQL Server 2000.
Installation Definition (. 6.9) ,
:
Client Tools Only. SQL Server 2000, Enterprise Manager, Performance Monitor, Query Analyzer, Books Online. .
MSSQLServer SQLServerAgent. , ,
, . , .
Server and Client Tools. ,

MSSQLServer, SQLServerAgent,
MSDTC MSSearch. To
SQL Server 2000.
Connectivity Only. . .
, .
SQL Server 2000.

100

II. SQL Server 2000

Windows . ,
, SQL Server 2000. , . ,
.

. 6.9. Installation Definition Installation Wizard

- ,
SQL Server 2000. ,
Server and Client Tools, .
, Instance Name (. 6.10),
SQL Server 2000. ,
(default instance)
(named instance).
NetBIOS ,
SQL Server 2000. ,
_\_.
,
SQL Server (
), .
Instance Name. ,
Default In-

101

6. SQL Server 2000

stance name. , Default


, . , , SQL Server 7.0.
, Default
. ,
Instance name, , . ,
SQL Server 2000.

, . 6.10 Default
Instance name. , . .
SQL Server 2000.

, ,
.

. 6.10. Instance Name Installation Wizard

, ,
Setup Type (. 6.11),
SQL Server 2000. , . "

102

II. SQL Server 2000

" 4. :
Typical . , Microsoft
. ,
,
.
Minimum . . ,
, , .
Custom .
SQL Server 2000. ,
, ,
, . , Custom. Next
. .

. 6 . 1 1 . Setup Type Installation Wizard

, Setup Type
, SQL
Server 2000, .

6. SQL Server 2000

3_

Destination Folder, Program Files Data Files. ,


SQL Server 2000,
, , , ,
MSSQLServer SQLServerAgent.
\Program Files\Microsoft SQL Server , .
Choose Folder, Browse. , Data Files
, SQL Server 2000.
(master, msdb, model tempdb), a
(pubs Northwind),
.
. ,
.
Setup Type SQL Server 2000 .
, .
, ,
. . , . ,
SQL Server 2000
. , ,
,
SQL Server 2000. Required.
. Available ,
.
(

, . ,
. 6.11, ,
, . . . , , , Available .
, SQL Server 2000
. Required Available. ,
.
,
Custom - . "
Custom
Select Components (. 6.12).

II. SQL Server 2000

104

. 6.12. Select Components Installation Wizard

, Select Components , . , .
,
( Components) ( Sub-Components), . Description
.
, .

,
, .

,
.
Server Components. , SQL Server 2000:

SQL Server , . . MSSQLServer


SQLServerAgent.
. , ' .

Replication Support . , .

Full-Text Search . , SQL Server 2000 .

6. SQL Server 2000

105_

Debug Symbols ,
. ,

( dll).
. , . .

Performance Counters .
SQL Server 2000 Windows NT
(Windows 2000) Performance Monitor. ,
SQL Server 2000.
SQL Server 2000,
Performance Monitor (counters), Performance Monitor . .

Management Tools. SQL Server 2000.


. ,
.
Enterprise Manager SQL
Server 2000.

Profiler SQL Server 2000.


Performance Monitor , SQL Server 2000. ,
, . .

Query Analyzer
( Transact-SQL).
DTC Client Support DTC.
Conflict Viewer , . , . ,
.
Client Connectivity. ( ), SQL Server 2000 DB-Library, ODBC
OLE DB. . Installation Definition
(. . 6.9) Connectivity Only, Installation Wizard
.
Books Online. SQL
Server 2000, . . ,

106

II. SQL Server 2000

.
Books Online:
Books Online on Disk.
. ,
37
. , SQL
Server 7.0 11 .

Books Online on CD. . , , , CD-ROM -


SQL Server 2000, . . . ,
Books Online.

Development Tools. , , , :

Headers and Libraries (*.h)


(*.lib), C++
ODBC, DB-Library, Open Data Services, SQL-DMO
Embedded SQL for MSDTC.

Backup/Restore API , , , , .

Debugger Interface
. . ,
Query Analyzer.

Code Samples. C++, . .

SQL Server .
.
, Select Components , Installation Wizard. , Services Accounts (. 6.13). ,
, MSSQLServer SQLServerAgent. Installation Wizard , Use the same

6. SQL Server 2000

107

account for each service. Auto start SQL Server Service. SQL Server 2000 .

. 6.13. Services Accounts Installation Wizard

. , , Customize the settings for each service.


Services, , . , , Service Settings.

, , Service Settings, .

Service Settings :
Use the Local System account.
( )
.
Use a Domain User account.
( ).

,
:

108

II. SQL Server 2000

Username , ;

Password , ;

Domain , . , ,
SQL Server 2000. , .
(

SQL Server 2000


,
. " " 4.

Auto Start Service, .


, SQL
Server 2000 . Use the same account for each service. Auto start SQL Server Service
.
( " }
, MSSearch MSDTC
. .

SQL Server 2000


, . Authentication Mode (. 6.14). , ,
SQL Server 2000:
Windows Authentication Mode.
Windows NT. To
SQL Server 2000, ( ). ,
SQL Server 2000. , ,
. , .
Mixed Mode (Windows Authentication and SQL Server Authentication).
. Windows NT
SQL Server -

6. SQL Server 2000

109

. , sa:

Enter password , sa. sa


SQL Server 2000. . . ,
, sa
. ,
SQL Server 2000 Windows NT. , , ,
, . , ,
, SQL Server. , , , MSSQLServer.
.
, SQL Server
.

. 6.14. Authentication Mode Installation Wizard

Confirm password ,
. ,
.

II. SQL Server 2000

110

Blank Password (not recommended)


sa,
. . Enter password Confirm password
. sa.

. "" 9.
>

, Collation Settings (. 6.15),


, , pubs Northwind, a

. , , SQL Server 2000,
, .
SQL Server, SQL
Server 7.0, SQL Server 2000 . ,
,
. , .

. 6.15. Collation Settings Installation Wizard

6. SQL Server 2000

(~

111

,
. " " 4.
Collation Settings. ,
, . , SQL
Server 2000 Windows SQL Server. , ,
.
, :
Collation designator.
Windows. .
Cyrfflic_GeneraI. , Sort order:

Binary . .
. ,
.

Case sensitive .
.
Accent sensitive . , . .
. , (, ), .
SQL Collation (Used for compatibility with previous versions of SQL Server).

, SQL Server 2000.
.
, ...for use with 1251
(Cyrillic) Character Set.

, SQL Server 2000 SQL


Server. Windows SQL Server.
.
, , Next,
5 1207

112

II. SQL Server 2000

.
, .

. 6.16. Network Libraries Installation Wizard

. 6.17. Start Copying Files Installation Wizard

, Network Libraries (. 6.16) . , -

6. SQL Server 2000

1J3_

pa . , , . ,
SQL Server 2000.
.
Start Copying Files (. 6.17) .
, Next .
,
. Next .


, ,
. SQL Server 2000 .
. SQL Server 2000
.
SQL Server 2000 ,
.
,
. ,
.

SQL Server 2000


, SQL Server 2000 , .
, . , SQL Server 2000 , .
.
, ,
.
. Windows NT 4.0 User Manager
for Domains, Windows 2000
Computer Management ( )
Active Directory User and Computers (
5*

114

II. SQL Server 2000

). . "
" 4.

. 6.18. Services Windows NT 4.0

. 6.1. Services Windows 2000

SQL Server 2000,


. .
Service, Control

115

6. SQL Server 2000

Panel ( ) Windows NT 4.0, Windows 2000.


, .
. . 6.18 Services Windows NT 4.0, . 6.19
Windows 2000.

. 6.20. Service

SQL Server 2000,


,
MSSQLServer, SQLServerAgent
MSDTC. Services
Windows NT 4.0.
s

Startup
(. . 6.18).
Service (. 6.20),
.

Startup Type :
Automatic. .
, SQL Server 2000
.
Manual. .
,
. , .
Disabled. .
. , ,
Manual Automatic.
Log On As , . System Account,
. .
This Account. .
llif- ,
. Password Confirm Password
.

116

II. SQL Server 2000

,
.
Password Confirm Password

, Log on as service,
.
SQL
Server 2000 Windows 2000
, (. . 6.19)
( 6 21)
. ,
. General
, ,

"

127

. 6.21. + , General

<

117

6. SQL Server 2000

. 6.22.
, Log On
,
. Log On (. 6.22).

. 6.23. Select User


, ,
( Local System account), ( This account). , .

118

II. SQL Server 2000

,
. Browse,
Select User (. 6.23)
.
.
.
SQL Server 2000 Enterprise Manager.
MSSQLServer Enterprise Manager
(,
Properties). (SQL Server Properties
(Configure)) ,
MSSQLServer. Security
(. 6.24).

. 6.24. Security

Startup service account ,
, MSSQLServer. System account,
.
Ibis account, .

6. SQL Server 2000

119

Services,
.
.

SQLServerAgeni .
Management, Enterprise Manager. SQLServerAgent . , , General (. 6.25).

. 6.25. General

SQLServerAgent

Service startup account


(System account), (This account), .
.
MSDTC Enterprise
Manager .
Services Control Panel.
, Microsoft Search
.

120

II. SQL Server 2000

SQL Server 2000 Microsoft Search, MSSQLServer Enterprise Manager. Microsoft


Search MSSQLServer ,
MSSQLServer. Enterprise Manager, Microsoft Search.
Services, . Microsoft Search .
Enterprise Manager.



SQL Server 2000
. . , , Unicode Unicode,
SQL Server 2000.
, ,
. "" , . . .
Master. SQL Server 2000, rebuildm.exe,
\Binn SQL Server 2000.
rebuildm.exe
Master, . ,
, .
rebuildm.exe Master SQL Server 2000, , Unicode, SQL Server 2000.
.
Master ,
. ,
,
SQL Server 2000 , . .
. .
(script),
Transact-SQL,
. SQL Server 2000 Transact-SQL,
.

6. SQL Server 2000

121_

.
, , .
, . , , .
- .
SQL Server 2000. .
. (DTS, Data
Transformation Services),
bcp.exe (Bulk Copy Program).
. DTS
, bcp.exe . DTS Designer, DTS Wizard.
, SQL Server 2000
, , . Data Transformation Services, bcp.exe.
,
Transact-SQL BULK INSERT.


SQL Server 2000. (network library). 4.
, ,
.
. .
SQL Server 2000,
. ,
SQL Server Network Utility
(. 6.26), SQL Server 2000.

SQL Server Network Utility (Programs\Microsoft SQL Server\Server Network Utility).


svrnetcn.exe,
\Program Files\Microsoft SQL Server\80\Tools\Binn\.

122

II. SQL Server 2000

. 6.26. SQL Server Network Utility, General

. , General,
. Instance^) on this server SQL Server 2000, .
, (named instance). :
Named Pipes;
TCP/IP ( TCP/IP);

NWLink IPX/SPX.

,
. , (default instance), ,
SQL Server 2000.
Disabled protocols , ,
Enable. Disabled protocols, Enabled protocols, , , Instance(s) on this server.

6. SQL Server 2000

123

, Enabled protocols Disable.


, .
, , .
, , Properties. , . . . 6.27
TCP/IP ( TCP/IP).

. 6.27. TCP/IP

TCP/IP , . , SQL Server 2000. ,


Hide server "" . ,
TCP/IP ,
.
.

,
. , ,
. . .

General SQL Server Network Utility (. . 6.26)


, :
Enable protocol encryption. , , SSL (Secure Socket
Layer). SQL Server 7.0,
Multiprotocol, SQL Server 2000
. ,

II. SQL Server 2000

124

SQL Server 2000 2,


, .

Enable WinSock proxy. . SQL Server 2000


, Internet. - ,
:
WinSock proxy address -;
WinSock proxy port -, SQL Server 2000.
General . Network Libraries
(. 6.28) ,
.

. 6.28. SQL Server Network Utility, Network Libraries

, dll-, .

6. SQL Server 2000

125



. , . , SQL Server 2000.
, ,
, . , . , TCP/IP TCP/IP,
IPX/SPX NWLink IPX/SPX, SQL Server .

SQL Server 2000 , ,


Windows NT Windows 2000.

SQL Server 2000


SQL Client Network Utility, . General
(. 6.29) .

. 6.29. SQL Client Network Utility, General

SQL Client Network Utility (Programs\Microsoft SQL Server\Client Network Utility).

/26

II. SQL Server 2000


cliconfg.exe,
System ( Windows 98) System32 ( Windows NT
Windows 2000) .

Disabled protocols .
Enable. Disabled
protocols, Enabled protocols by order, , . , Enabled protocols by
order Disable.
,
. ,
, , .
, Enabled protocols by
order, . , , . , , ,
. ,
,
. . , Properties.
. .
Enable protocol encryption. , . ,
, , . Enable protocol encryption .
Enable shared memory protocol.
. , .
, ,
.
,
. ,
, ,

. ,
- , ,
.

(server alias).

6. SQL Server 2000

127

, ,
, .
. , , .

Alias (. 6.30).

. 6.30. SQL Client Network Utility, Alias

,
. Remove, Edit.
,
Add, Add Network Library
Configuration (. 6.31).
Server alias , .
, . .
, Network
libraries. Connection parameters . ,
. , Alias.

128

II. SQL Server 2000

. 6.31. Add Network Library Configuration


DB-Library Option SQL Client Network Utility (. 6.32)
DB-Library,
.

. 6.32. SQL Client Network Utility, DB-Library Option

DB-Library infonnation . , dll-, , .

6. SQL Server 2000

129

,
DB-Library :
Automatic ANSI to OEM conversion. OEM ANSI
, ANSI
OEM .
Use international settings. DB-Library
( , ,
. .), . , .

Automatic ANSI to OEM conversion , Use international settings , 32- .

.
Network Libraries (. 6.33).

. 6.33. SQL Client Network Utility, Network Libraries

, , dll-,
.

III.

7. SQL Server 2000


8. SQL Server 2000
9. SQL Server 2000
10.
11.
12. SQL Server 2000
13.
14.
15.
16.


SQL Server 2000
, SQL Server 2000 .
, SQL
Server 2000, .
, ,
. SQL Server 2000,
.

.
, . SQL Server 2000 ,
.
, . , SQL Server 2000 , . .


SQL Server 2000 .
. " " 3.
, SQL
Server 2000 MSSQLServer.
,
, ,
. SQL Server 2000 , MSSQLServer. ,
SQLServerAgent , .
. , MSSQLServer. SQLServerAgent
, MSSQLServer. SQL

124

III.

Server 2000. MSSQLServer SQL Server 2000.

,
, SQL Server 2000, . ,
. SQL
Server 2000 . , Service Manager, Enterprise Manager Services Control Panel ( )
.
SQL Server 2000,
, .
,
SQL Server 2000.
SQL Server 2000.

, Windows 98 ,
SQL Server 2000 .

(start) , ,
.
, .
. ,
, . MSSQLServer , .

, SQL Server 2000 . , , . ,


, .

(stop) ,
. , .
, ,
, . ,

7. SQL Server 2000

13S_

MSSQLServer ,
, . .
.
npuocmanoe (pause) . , , , . ,
,
.
, . , ,

.
, . , , . SQL Server 2000
, MSSQLServer ,
SQLServerAgent, Full-Text Search MSDTC .

SQL Server Service Manager


SQL Server Service Manager (. 7.1) ,
SQL Server 2000. ,

.
Service Manager
SQL Server 2000

.

Startup (),
Programs () .
. 7.1. Service Manager
,
. ,
, , , -
. Startup Service Manager.
Service Manager (taskbar). -

136

III.

(. . 7.1). ,
SQL Server 2000,
.
. ,
Server, , SQL
Server 2000. SQL Server 2000,
.
.
, Server , Services
, SQL Server 2000.
, , .

Services.
, . . ,
(Pause) (Stop),

(Start/Continue).

,
Service Manager. . , SQL Server 2000.
, , .
Service Manager .
, Service Manager
, .
,
Refresh services. , Service Manager
. Service
Manager ,
5 . ,
Service Manager Options < SQL Server Service Manager Options (. 7.2).
Default service , Service Manager.
Polling interval . Verify
service control action ,
MSSQLServer , (, SQLServerAgent).

7. SQL Server 2000

137

, ,
.

. 7.2. SQL Server Service


Manager Options

Service Manager .
,

.
, Enterprise Manager,
Services Control
Panel , .
Service Manager.

Enterprise Manager
Service Manager SQL Server 2000
, . Enterprise Manager Query Analyzer,
. Enterprise Manager , ,
Service Manager.

Enterprise Manager ,
, , .
Service Manager
, Enterprise Manager . MSSQLServer
Enterprise Manager (. 7.3). , Action
. Service Manager,
.
, , Enterprise Manager , (connect)
(disconnect). Enterprise Manager
, . . , . ,

III.

138

, , Action Disconnect.
,
Connect.

. 7.. MSSQLServer Enterprise Manager


Enterprise Manager ,
. Enterprise
Manager .
(, ). Enterprise Manager .
, SQL Server 2000
MSSQLServer.

, MSSQLServer
Enterprise Manager,
Query Analyzer, Start SQL Server if it is stopped
( SQL Server ) Connect to SQL Server (. 7.4).

7. SQL Server 2000

139

Query Analyzer
Connect File. SQL Server ,
. , .

. 7.4. Connect to SQL Server


MSSQLServer.

SQLServerAgent

MSSQLServer.
SQLServerAgent (. 7.5).
Management .

, Action. ,
SQLServerAgent
Pause, . . .

. 7.5. SQLServerAgent Enterprise Manager

III.

140

Full-Text Search Microsoft Distributed Transaction Coordinator


(MSDTC) MSSQLServer SQLServerAgent.
Full-Text Search, MSDTC Support Services (. 7.6).
, SQLServerAgent, .

. 7.6. Full-Text Search, MSDTC SQL Mail

Services
SQL
Server 2000 SQL Server 2000.
Services.
Services
. Service Manager Enterprise Manager
SQL Server 2000, Services
, .

, Windows 98
. Windows NT, . . Windows 2000.

141

7. SQL Server 2000

Services
Control Panel ( ) .
Services Windows NT 4.0 Windows 2000. .
Windows NT 4.0 Services Control Panel, , Start (), Settings
(), Control Panel ( ).
(. 7.7) Services.

. 7.7. Control
Panel
Services (. 7.8). ,
. :
Service .
Status . ,
Started. .
Startup
. Automatic, Manual Disabled.
.

142

III.

Startup Parameters, . .

. 7 . 8 . Services Windows NT 4.0

,
.
. :
Start - .
Pause .
,
.
Continue , . . .
Stop .
.
, , ' . , , ,
.
SQLServerAgent MSSQLServer,
MSSQLServer, SQLServerAgent.
( ) Services Windows 2000
Windows NT 4.0.
Services Windows 2000 Control Panel
Administrative Tools Programs
(). Services,
Services (. 7.9).

7. SQL Server 2000

143

Windows 2000
Services. , Computer Management.

. 7.9. Services Windows 2000


,
Microsoft (MMC, Microsoft Management Console).
Microsoft
, . Windows 2000
.
Enterprise Manager.
,
. , .
:
Name , .
, .
Description .
6

.1207

144

III.

d Status . , Started. .
Startup Type . Automatic, Manual Disabled.
.
Log On As , .

, . ,
.
:
;
.

,
. , Services
Windows 2000 Restart. . , . ,
.
, .

Action
Properties.
.
General (. 7.10), :
Service name . .
Display name , Services. ,
.
Description . Services.
, .
Path to executable , .
Startup type .

145

7. SQL Server 2000

Service status (, ).
Start .
Stop ,
.
Pause , . ,
.
Resume ,
, . . .
Start parameters ,
.

. 7.10. General

SQL Server 2000


Services .

. ,
SQL Server 2000 Services Service Manager Enterprise Manager . .

146

III.


SQL Server 2000
.

, SQL Server 2000 .
net.exe.
, , , , , , .

(~

net.exe , n e t / ?.

:
net s t a r t
net stop

[service]

[service] ;

net pause [service] ;


net continue [service] .
[service] ,
. , MSSQLServer :
net s t a r t MSSQLServer

:
The MSSQLServer service is starting...
The MSSQLServer service was started successfully.

,
, .
. ,
MSSQLServer Trelon
:
net s t a r t MSSQL$Trelon

net s t a r t .

7. SQL Server 2000

147_

Transact-SQL

. Transact-SQL.
SHUTDOWN, :
SHUTDOWN

[WITH NOWAIT]

WITH NOWAIT, TO . .
.
WITH NOWAIT , . , .
.

SQL Server 2000


SQL Server 2000 , SQL
Server 2000 MSSQLServer. SQL Server 2000 . sqlservr.exe,
\Program Files\Microsoft SQL Server\MSSQL\Binn.

SQL Server 2000 , . , SQL Server 2000


, . , .

, SQL Server 2000


(application log)
SQL Server 2000, .
, SQL Server 2000
.
2001-08-05 22:53:40.64 s e r v e r
Microsoft SQL S e r v e r 2000 - 8.00.100
( I n t e l X86)
Apr 18 2000 01:19:00
Copyright (c) 1988-2000 Microsoft Corporation
Standard Edition on Windows NT 5.0 (Build 2195: )
2001-08-05 22:53:40.69 server
tion.

Copyright (C) 1988-2000 Microsoft Corpora-

2001-08-05 22:53:40.72 server

All rights reserved.

148

III.

2001-08-05 22:53:40.73 server


Server Process ID is 652.
2001-08-05 22:53:40.74 server
Logging SQL Server messages in file
'G:\Program Files\Microsoft SQL Server\MSSQL\log\ERRORLOG'.
2001-08-05 22:53:40.81 server
SQL Server is starting at priority class
'normal'(1 CPU detected).
2001-08-05 22:53:40.93 server
User Mode Scheduler configured for thread
processing
2001-08-05 22:53:40.97 server
Using dynamic lock allocation. [2500] Lock
Blocks, [5000] Lock Owner Blocks
2001-08-05 22:53:41.02 server
Attempting to initialize Distributed Transaction Coordinator.
2001-08-05 22:53:42.14 spid3
Starting up database 'master'.
2001-08-05 22:53:42.62 spid3
0 transactions rolled back in database
'master' (1).
2001-08-05 22:53:42.65 spid3
Recovery is checkpointing database 'master'
(1)
2001-08-05 22:53:42.85 server
Using 'SSNETLIB.DLL' version '8.0.100'.
2001-08-05 22:53:42.92 server
SuperSocket Info: Bind failed on TCP port
1433.
2001-08-05 22:53:42.96 spid5
Starting up database 'model'.
2001-08-05 22:53:42.98 spid3
Server name is 'STORAGE'.
2001-08-05 22:53:42.99 server
SQL server listening on TCP, Shared Memory,
Named Pipes.
2001-08-05 22:53:43.03 server
Ready For Connections
2001-08-05 22:53:43.05 spid7
Starting up database 'itisdb'.
2001-08-05 22:53:43.06 spid8
Starting up database 'pubs'.
2001-08-05 22:53:43.08 spid9
Starting up database 'Northwind'.
2001-08-05 22:53:43.61 spid5
Clearing tempdb database.
2001-08-05 22:53:44.81 spid5
Starting up database 'tempdb'.
2001-08-05 22:53:45.05 spid3
Recovery complete.
SQL Server 2000 ,
, . ,
,
, , . .
, Enterprise Manager.

SQL Server 2000, , net stop MSSQL$lnstName, ,


. SQL Server 2000, ,
Transact-SQL SHUTDOWN,
<Ctrl>+<Break> <Ctrl>+<C>.
SQL Server 2000
Binn . .
, - s . , Trelon

7. SQL Server 2000

149_

\Program Files\Microsoft SQL Server\MSSQL$Trelon\Binn .


sqlservr.exe -strelon

, SQL Server 2000 . , SQL


Server 2000 Storage,
Storage\Trelon.

Enterprise Manager, Query Analyzer


SQL Server 2000, . SQL Server 2000 .
SQL Server 2000,
. ,
. , \Program Files\Microsoft SQL
Server\ MSSQL$InstName
. :
HKEY_LOCAL_MACHINE
\SOFTWARE
\Microsoft
\ Microsoft SQL Server
\[Instance name]

,
. . "
SQL Server 2000" .
. . sysdatabases
Master, .


, , SQL Server 2000, .
, SQL Server 2000 .
4 , SQL Server 2000.
,

150

III.

Windows NT 4.0 Windows 2000. , SQL Server 2000 .



. , .
- ,
.
. , , ,
.
,
. , , ( User Manager
Windows NT 4.0, Active Directory Users and Computers Windows 2000).
.
, , .

SQL Server 2000. . . " " 4
.

Enterprise Manager
MSSQLServer
Enterprise Manager (, Properties).
(SQL Server Properties) ,
MSSQLServer.
Security (. 7.11).
Startup service account ,
, MSSQLServer.
System account,
. This account,
.

(~~

Services, Enterprise Manager


.
.

7. SQL Server 2000

151

. 7.11. Security

SQLServerAgent .
Management, Enterprise
Manager. SQLServerAgent . , ,
General (. 7.12).
Service startup account
( System account),
( This account), .
.
MSDTC Enterprise
Manager .
Services Control Panel.

SQL Server 2000 Microsoft Search,


MSSQLServer Enterprise Manager. Microsoft
Search MSSQLServer ,

152

III.
MSSQLServer.
Enterprise Manager,
Microsoft Search. Services, .
Microsoft Search .
Enterprise Manager.

. 7.12. General

SQLServerAgent

Enterprise Manager , SQL Server 2000,


. Enterprise
Manager . ,
SQL Server 2000.
, MSSQLServer,
,
, .
.
Enterprise Manager .
, Enterprise Manager
MSSQLServer SQLServerAgent.
MSDTC Full-Text Search .

7. SQL Server 2000

153

Services
,
Services .
,
,
.

. 7.13. Service


Services Windows NT 4.0
(. . 7.8) ,
.
SQL Server 2000, ,

MSSQLServer, SQLServerAgent MSDTC.

Startup.
Service (. 7.13),
.

Startup Type :
Automatic. .
, SQL Server 2000
.
Manual. .
,
. , .
Disabled. .
.
, Manual,
Automatic.

Log On As , . System Account,


.
. This
Account. . .
, .
Password Confirm Password .

III.

154

,
. ,
Password Confirm Password .
.

, ,
(Log on as a service), , .
, ,
, . " " 4.


Windows 2000 Services .
, Services, .
. , General (. . 7.10),
.
Startup Type. Services Windows NT 4.0.
, ,
Log On (. 7.14).

. 7.14. Log On

7. SQL Server 2000

155

Service Services Windows NT 4.0. Apply.


. .

SQL Server 2000


, SQL Server 2000
Start ,
.

. 7.15. SQL Server 2000


,
.
Master , .
SQL Server 2000. SQL
Server 2000 . ,
, , SQL Server 2000.
:

156

III.

HKEY_LOCAL_MACHINE
\SOFTWARE
\Microsoft
\MSSQLServer
\MSSQLServer
\Parameters

(. 7.15). ,
sqlservr.exe. . , Enterprise
Manager, .

:
HKEY_LOCAL_MACHINE
\SOFTWARE
\Microsoft
\Microsoft SQL Server
\[Instance name]
\MSSQLServer
\Parameters

. 7.1.
7.1. SQL Server 2000

-d<master_file_patch>

Master (master.mdf).

-l<master_log_path>

Master (mastlog.ldf)

-e<error_log_patch>


SQL Server 2000.
, .
,
SQL Server 2000.
SQL Server 2000

, . 7.1, SQL
Server 2000. .
SQL Server 2000, Microsoft .
MSSQLServer Parameters .

7. SQL Server 2000

157

.
.
.
SQL Server 2000 sqlservr.exe
,
. SQL Server 2000
Master.
Master .
SQL Server 2000 Mast e r . SQL Server 2000.
, SQL
Server 2000, ,
.
Master, .
, .

SQL Server 2000 , SQL Server 2000 ,


. , SQL Server 2000
Master.
. , .


SQL Server 2000 ,
, , ', . . SQL Server 2000
.
SQL Server 2000 ,
, . , ,
Master.

, . .
,

158

III.

, . SQL
Server 2000 (single-user mode).


. , SQL Server 2000 , .
SQL Server 2000
MSSQLServer , .
.
, SQL Server 2000.
-
.
, SQLServerAgent,
.
SQL Server 2000 ,
, .
, , ,
(checkpoint process). , , . , ,
, . ., SELECT,
DELETE,INSERT UPDATE.

SQL Server 2000


. , EXEC sp_configure ' a l l o w updates'. Microsoft SELECT,
UPDATE, INSERT DELETE.
. .
, .
, SQL Server 2000 "" .
, , -

7. SQL Server 2000

159

. -, .
SQL Server 2000 -:
sqlservr.exe -

, SQL Server 2000


. , Parameters SQL Server 2000 -. SQL Server 2000
. SQL Server 2000 , .
.


SQL Server 2000 ,
, . ,
(, )
. , .
. -
, , .

(minimal configuration), .
:
, SQL
Server 2000, , ;
(open databases), (locks),
(open objects), (language in cache), max async asynchronous I/O;
, ;
, . .
SQL Server 2000 ;
,
, ;

160

III.


(
).
SQL Server 2000 -f:
sqlservr.exe -f

SQL Server 2000 , . , .

SQL Server 2000


, SQL Server 2000.
.
, SQL Server 2000 , . ,
.
. , SQL Server 2000
, .
, SQL Server 2000 - . , ,

. , , . .

MSSQLServer
MSSQLServer, SQL Server 2000,
Enterprise Manager,
sp__configure.
.
MSSQLServer Enterprise Manager
SQL Server Properties. Enterprise Manager Properties. ,
. 8.1.
SQL Server Properties ,
. , :
Configured values.
, . -

III.

162

reconfigure . ,
, . Configured values.
Running values. ,
, . .
, . .
, .
Configured values.

i !

. 8 . 1 . SQL Server
Properties

,
SQL Server 2000.
.
sp_conf igure :
sp_configure [[@configname =] 'name'] [, [Sconfigvalue =] 'value']

[Oconfigname =] 'name' , . , , [Oconfigvalue =] ' v a l u e ' .

8. SQL Server 2000

163

,
, exec. ,
exec s p _ c o n f I g u r e .
, exec . exec
.

, .
, . , .
SQL Server 2000 , (advanced)
.
:
sp_configure 'show advanced options', 1

^)

, , .

MSSQLServer.

General
General (. . 8.1) SQL Server Properties
, , , SQL Server, , , , , SQL Server 2000 .
Autostart policies when the operating system starts SQL Server 2000. .
.
Startup Parameters,
(. 8.2), SQL Server 2000, SQL Server 2000,
SQL Server 2000 . SQL
Server 2000 . 8.1. Startup Parameters. , SQL Server 2000
s q l s e r v r s q l s e r v r . e x e .

, , .

III.

164

SQL Server 2000


s q l s e r v r s q l s e r v r . e x e
.
SQL Server 2000

. " SQL Server 2000 " 7.

. 8.2. Startup Parameters


8.1. SQL Server 2000

SQL Server 2000


(singleuser mode). SQL Server 2000,

-f

SQL Server 2000 .


, . .
. " "

-d<master_file_path>

SQL Server Master.


, \Program
Files\Microsoft SQL Server\Mssql\Data\Master.mdf.
,

-e<error_log_path>

.
, \Program Files\Microsoft
SQL Server\Mssql\Log\Errorlog

-l<master_log_path>


Master. , \Program Files\Microsoft SQL
Server\Mssql\Data\Mastlog .Idf
SQL Server 2000 .
. " SQL Server 2000
" 7
-s
, SQL Server 2000
(Windows NT Service Control
Manager).

8. SQL Server 2000

/65

8.1 ()

SQL Server 2000 (application log) . - ,


.

-p<precision_level>


, decimal numeric.
< p r e c i s i o n _ l e v e l > 1 38.
SQL Server 2000
38

-T<trace#>

SQL Server 2000 .


.

, ,
Books Online

-v


SQL Server 2000.

, SQL Server 2000,

-g<memory_to_reserve>
, SQL
Server 2000.
-

DCOM
(Distributed COM), ,

-y<error_number>


(error log)
<error__number>,
-

SQL Server 2000


:
HKEY_LOCAL_MACHINE
\SOFTWARE
\Microsoft
\MSSQLServer
\MSSQLServer .
\Parameters

III.

166

, Startup Parameters (. . 8.2), . SQL


Server 2000 Startup Parameters , SQL Server 2000.
. 8.3 Registry Editor (regedit.exe) ,
SQL Server 2000.
. . " SQL Server 2000
" 7. SQL Server 2000 -s.

. 8.3. , SQL Server 2000

SQL Server 2000 , , .

General Network Configuration. SQL Server Network Utility, .


. " " 6.

167

. SQL Server 2000

Memory
, Memory (. 8.4)
, SQL Server 2000.

. 8.4. SQL Server


Properties, Memory
SQL Server 7.0 . SQL Server 7.0 SQL Server 2000 . ,
, SQL Server 2000.
SQL Server 2000 , . ,
, .

, SQL Server 2000. ,
,
. .
, . . SQL

168

III.

Server 2000 , .
, .
Dynamically configure SQL Server memory
Memory SQL Server Properties
, SQL Server 2000.
Minimum (MB) Maximum (MB)
, . 0 ,
.
4 . , SQL Server 2000,
sp_configure 'max server memory', <_>.

:
sp_configure 'min server memory', <_>.

SQL Server 2000


, 5
/ 200 .
.
, SQL Server 2000 . .
5 , SQL Server 2000
.

, -, 16 .
( Full-Text
Search), SQL Server 2000
50%.
SQL Server 2000 .
, Use a fixed memory size (MB).
, SQL
Server 2000.
SQL Server 2000, , .

8. SQL Server 2000

169

Minimum (MB) Maximum (MB) (


) , , .
Windows NT ( Windows 2000) .
(pagefile swapfile). , .
SQL Server 2000,
, SQL Server 2000 .
, Reserve physical memory for SQL
Server. SQL
Server 2000 . :
sp_configure 'set working set size', 0 | 1

, SQL Server 2000,



, . . ,
SQL Server 2000 .
, SQL Server 2000.
Memory Minimum query
memory (KB). , .
512 2 . ,
, . ,

. , , :
sp_configure 'min memory per query', <_>.

Processor
Processor (. 8.5) , SQL
Server 2000 .

III.

170

. 8.5. SQL Server


Properties, Processor

, ,
SQL Server 2000.
, SQL Server 2000
.
. , , , SQL
Server 2000.

, Windows NT 4.0, Windows 2000, Windows NT. ,


.

SQL Server 2000


Windows NT 4.0 Windows 2000, , Microsoft, 32 . Windows NT Windows 2000 . ,
,
.

8. SQL Server 2000

171

Windows NT Server 4.0 4 ,


Windows NT Server 4.0 Enterprise Edition - 32, Windows NT Workstation 4.0
2. Windows 2000 Professional 2
, Windows 2000 Advanced Server
32 .
Windows NT ,
(process), . , , .
, ,
(threads). , .
. , . .
SQL Server 2000 . Processor , . Maximum worker
threads. ,
SQL Server 2000.
Transact-SQL :
sp_configure 'max worker threads', < >

10 1024.
255.
,
. SQL Server 2000 . . ,
,
, .
, SQL Server 2000 ,
. .
.
, ,
!.
, -

172

, . .
Windows NT
(protected mode). , SQL Server 2000,
(user mode).
, . ,
. SQL Server 2000 (fibers).
Windows NT . , . . , , . .
. SQL Server 2000, Use Windows NT fibers.

Use Windows NT fibers , SQL Server 2000


Windows 98. ,
Windows 98 .
Boost SQL Server priority on Windows NT/2000 SQL Server 2000 ,
. , SQL Server 2000 .
, SQL Server 2000 ,
. ,
SQL Server 2000.
,
, SQL Server 2000 . Boost SQL Server priority on Windows NT/2000 , , Enterprise Manager.
Boost SQL Server priority on Windows NT/2000 , SQL Server 2000
.
SQL Server 2000 Transact-SQL :
sp_configure 'priority boost', I 1

^)

p r i o r i t y boost SQL Server 2000


13. , 7. p r i o r i t y boost .

8. SQL Server 2000

173_

Parallelism , .
Use all available processors.
, . Use .
.
, . . ,
,
.
. ,
.
, , .
, (parallel execution cost). , .
(statistics).


.
.
(update).
UPDATE S T A T I S T I C S , -


sp_update_stats.

,
. , , , . ,
. Minimum query plan threshold for considering queries for
parallel execution (cost estimate). ,
5 .
Transact-SQL :
sp_configure ' cost threshold for parallelism1, < >

III.

174

Security
Security (. 8.6) SQL Server 2000.

. 8.6. SQL Server


Properties, Security

SQL Server 2000 : (mixed) Windows NT.


,
SQL Server, Windows NT. SQL Server .
, SQL
Server 2000, Authentication.
SQL Server and Windows NT/2000,
.
Windows NT/2000 only, SQL
Server,
Windows NT.

9.

8. SQL Server 2000

175_

Audit level (),


SQL
Server 2000. None, .
Success SQL Server 2000
.
, Failure. All , .

SQL Server 2000 Enterprise


Manager, Management\SQL Server Logs . Current. . .
Startup service account ,
MSSQLServer.
System account
. This account,
.

,
SQL Server 2000, . " " 4.

Transact-SQL SQL
Server 2000. 7.

Connections
Connections (. 8.7) ,
, .
Maximum concurrent user connections (0 =
unlimited), ,
. 0, , SQL Server 2000, 32 767.
SQL Server 2000 ,
7 1207

III.

176

, .
40 ,
.

. 8.7. SQL Server


Properties, Connections
0, SQL Server 2000 , .
.

:
sp_configure 'user connections', <0 - 32767>


@@MAX_CONNECTIONS:
SELECT

@@MAX_CONNECTIONS

:
32767
(1 row(s) affected)

8. SQL Server 2000

177_


sp_conf igure:
sp configure 'user connections'
:
name
minimum
maximum
user connections

327 67

config_value run__value
0

, 0, 32 767.
Allow other SQL Servers to connect remotely to this SQL Server using RPC
SQL Server 2000
(RPC, Remote Procedure Call).
, ,
.
, . :
sp_configure 'remote access', 0 11

Query time-out (sec, 0 = unlimited)


, .
,
.
Query time-out (sec, 0 = unlimited) 0. .
, . , , (deadlocks).
- :
sp_configure 'remote query timeout', <0 - 2147483647>
Enforce distributed transactions (MTS), (MSDTC, Microsoft Distributed Transaction Coordinator).

ACID.
:
sp_configure 'remote p r o c t r a n s ' , Oil
Connections Default connection options, .
.
SET. ,
, ,
.
7*

III.

178

Server Settings
Server Settings (. 8.8) . , , .

. 8.8. SQL Server


Properties, Server
Settings
Server Settings
Default language for user, ,
. SQL Server 2000 . SQL Server 2000
, , .
sysmessages
Master. , .

8. SQL Server 2000

179

Default language for user , Language. . ,


, Language,
SQL Server Login Properties.
.
SQL Server 2000 ,
.
, . , Default language for user. :
sp_configure 'default language', <0 - 9999>

.
syslanguages Master.

, , ,
SET LANGUAGE.
Server behavior
. :
Allow modifications to be made directly to the system catalogs
.
INSERT, UPDATE DELETE. ,
SELECT. . Microsoft
.
SQL Server. Microsoft , , . , ,
SQL
Server.
:
sp_configure

'allow updates',

Oil


, -

180

III.

, . ,
, .
Allow triggers to be fired which fire other triggers (nested triggers) (nested triggers). , ,
.
. , ,
. . , . 16.
, , .

, , SQL Server 2000 , . .


:
sp_configure

'nested

triggers',

Oil

Use query governor to prevent queries exceeding specified cost , .


, .
, , ,
.
.
:
sp_configure 'query governor cost l i m i t ' , <0 - 2147483647>

- - . , .
.
.
SQL Mail Start mail session using profile,
,
MSSQLServer . Change

8. SQL Server 2000

181_

, , .
MSSQLServer. , , MSSQLServer
. Server Settings .

MSSQLServer SQLServerAgent .
.
, .
SQLServerAgent .
Server Settings Year 2000
support, , SQL Server 2000
, .
(datetime smalldatetime) . . .

. 1950 and 2049.
, 50 99
XX , 0 49 XXI . ,
"39".
datetime smalldatetime 2039.
78, 1978. :
sp_configure

'two digit year c u t o f f ,

<1753 - 9999>

, 2049.

Database Settings
Database Settings (. 8.9) , .
Settings,
(fill factor) . ,
, . .
.

III.

182
jgj

. 8.9. SQL Server


Properties, Database
Settings

Database Settings . , . .
, . . .
, . .
, , . .
, , .
. ,
(split page).
,
. , , . "", .
,
, .

8. SQL Server 2000

183_

,
. ,
,
. , . , , 100%. (DSS,
Decision Support System) , .

(~

, ,
, 100%. 500 ,
800 .
, Fixed ,
. .
SQL Server 2000 B-depeea (B-tree).
Fixed , , 100%, .

.
Fixed ,
,
. , , ,
.

:
sp_configure ' f i l l f a c t o r ' , %>
Backup/restore
. ,
Time-out period ,
:
Wait indefinitely . , .
Try once then quit , ,

.
Try for ,
. -

184

III.

, .
Default backup media retention (days) , , SQL
Server 2000 . . .
10.
Database Settings Recovery interval (min).
, SQL Server 2000
(recovery database). SQL Server 2000. ,
(rollback) (commit)
, . 0 , SQL Server 2000
. .
, ,
SQL Server 2000 (check point). ,
SQL Server 2000.
, , , .
, SQL Server 2000 .
SQL Server 2000 , . , Recovery interval (min), .
:
sp configure 'recovery i n t e r v a l ' , <0 - 32767>

, .

tion.
,
.

New database default loca ,



:

Default data directory. , (mdf ndf). ... |


, , .
Default log directory.
.

8. SQL Server 2000

185

Replication
SQL Server 7.0, ,
SQL Server Properties SQL Server 2000
.
SQL Server 2000 Replications (. 8.10).

. 8.10. SQL Server


Properties, Replication
Replications .
,
14.

SQLServerAgent
MSSQLServer,
SQL Server 2000.
SQLServerAgent, SQL Server 2000.
SQLServerAgent SQL Server Agent Properties (. 8.11).

III.

186

Enterprise Manager ,
, \Management SQLServerAgent Properties.

. 8.11. SQL Server


Agent Properties

General
General (. . 8.11) SQLServerAgent. Service startup account
, SQLServerAgent.
System account .
, This account
. SQLServerAgent
MSSQLServer , .

,
SQL Server 2000, . " " 4.
Mail session , . Mail profile
, . -

8. SQL Server 2000

1_87_


SQLServerAgent . Mail profile.
Test, Mail profile .
Save copies of the sent messages in the "Sent Items"
folder, \ .
.
Error log SQLServerAgent. : , . File name ,
. View.
. , Include execution trace messages. He .
.

SQLServerAgent.
Unicode
. .
, ,
Write OEM File. ,
.

SQLServerAgent ,
. ,
.
General Net send recipient. NetBIOS ,
(pop-up messages) SQLServerAgent.
Windows NT
NET SEND.

Advanced
Advanced (. 8.12)
,
.

III.

188

. 8.12. SQL Server


Agent Properties,
Advanced
Restart services , SQL Server 2000 :
Auto restart SQL Server if it stops unexpectedly
MSSQLServer.

Auto restart SQL Server Agent if it stops unexpectedly


SQLServerAgent.

,
,
SQL Server 2000 . - .
SQL Server event forwarding SQL Server 2000, , (application log) Windows NT .
.

, .
, .
Forward events to a different server,
. Server -

8. SQL Server 2000

189_

SQL Server 2000,


. Events , :
Unhandled events. ,
(alerts).
All events. , .
, , (severity
level) . ,
, If event has severity of or above.

("""

,
, 12.
Advanced Idle CPU condition. . (jobs) SQLServerAgent
. , .
Tire
computer is idle when Average CPU usage falls below . And remains below this level for ,
Average CPU usage falls below . , .

, , , . ,
.
,
, (, ).

Alert System
Alert System (. 8.13) , .
Address formatting for pager e-mails , .
, -

III.

190

Alert System,
.
. , ,
Prefix Suffix, Subject ,
.

. 8.13. SQL Server


Agent Properties,
Alert System
Include body of e-mail in notification page
. .
, .
Fail-safe operator (failsafe operator). Notify using :
E-mail ;
Pager ;
Net send NET SEND.

,
. , ,

191

8. SQL Server 2000

.
. , , 12.

Job System
Job System (. 8.14)
: ,

.

. 8.14. SQL Server


Agent Properties,
Job System
SQLServerAgent ,
, . , Msdb.

. ,
.
Job history log ,
. , SQLServerAgent
, .
, limit size of job history log. Maximum job history log size (rows)

\Q2

III.

, .
Maximum job history rows per job
.
, , Current job
history log size (rows). Clear Log
, .
Shutdown time-out interval (seconds) Job execution ( ) , , SQLServerAgent.
. Master SQLServerAgent
(MSX) server ,
.
Non-SysAdmin job step proxy account , ActiveX .
, ActiveScripting CmdShell
sysadmin.
CmdShell
SQLAgentCmdExec,
SQL Server 2000. CmdExec - , , SQLAgentCmdExec . , -
,
.
SQLAgentCmdExec
User Manager for Domains.
CmdShell . SQLAgentCmdExec Reset
Proxy Account Job System. Reset Proxy Password
.

Connection
MSSQLServer SQLServerAgent
, .
Connection (. 8.15)
SQLServerAgent MSSQLServer.
SQL Server connection ,
SQLServerAgent. Windows NT. ,
SQLServerAgent,
sysadmin.
.
, MSSQLServer SQLServerAgent
.

8. SQL Server 2000

193

. 8.15. SQL Server


Agent Properties,
Connection
Use SQL Server Authentication,
SQL Server 2000, .
sysadmin.

Login time-out ( ),
SQLServerAgent

MSSQLServer.
.
Local host server (aliases) , .
. SQL Server
Client Network Utility.


sp_configure
, SQL Server 2000 . Enterprise Manager.

III.

194

Transact-SQL, ,
sp_configure.
, Enterprise Manager. sp_configure. . 8.2 ,
MSSQLServer.

, ,
(*). (+) , SQL Server 2000
SQL Server 7.0.

0.
,
. 0
, .
8.2. sp^con figure

a f f i n i t y mask *

2 147 483 647

SQL
Server 2000 ,

allow updates *



INSERT, UPDATE, DELETE
SELECT

awe enabled +



64 (AWE, Address Windowing Extensions)

c2 audit mode +

2, ,

Transact-SQL

cost threshold

32767

for
parallelism *

195

8. SQL Server 2000

8.2 ()

cursor
threshold

-1

2147483647

-1

1
,

default f u l l text language +

2147483647

1033

,

,

default
language *

gggg

fill

100

704

2147483647

5000

2147483647

max degree of
parallelism*

32

max server
memory *

2147483647 2147483647
,
SQL Server 2000

max text repl


size

2147483647

65536

max worker
threads *

10

32767

255

factor*

index create
memory
lightweight
pooling

locks


( t e x t , n t e x t
image),

,
SQL Server 2000

1
,
.

III.

196

8.2 ()

no

365

512

2147483647

1024

min server
memory *

2147483647

, SQL Server 2000

nested
triggers *

512

65536

4096

open objects

2147483647

priority
boost *

, SQL
Server 2000
(13) (7)

query governor
cost l i m i t *

2147483647

.

,

query wait

-1

2147483647

-1


,
.

-.
-1 25
.
0

recovery
interval *

32767

remote access *

media
retention *
min memory per
query *

network packet
size

197

8. SQL Server 2000

8.2 ()

remote login
timeout

2147483647

20

remote proc
trans *

ACID MSDTC

remote query
timeout *

2147483647

,
,

-

scan for
startup procs

1
,

set working
set size *

SQL Server 2000

show advanced
options

1753

9999

2049

user
connections *

32767

user

16383

two d i g i t
cutoff *

year

options


SQL Server 2000

SQL Server 2000. , . . .
.
, ,
, .
. . .
.
, , . , ,
.
,
. ,
, .

, . , , ,
. .
, . , . ,
, , .
-

9. SQL Server 2000

199_

. .
, .
.
, , . ,
.
,
.

, . ,
, .
,
, . SQL
Server 2000 , .
SQL Server 2000.
, ,
. ,
.


SQL Server 2000 , .
:
;
.

. , , .
.
:
(authentication);
(login);
(fixed server roles).
:
(database user);
(fixed database role);

200

III,

(users database role);


(application role).
,
.


, - , . .
, , , , . . .
.
, . . Windows NT SQL Server 2000. ,
. ,
. .

.
SQL Server 2000 (Authentication Modes):
Windows NT (Windows NT Authentication);
SQL Server 2000 (SQL Server Authentication).
.
, . .

. SQL Server 2000 . SQL Server 2000
:
Mixed Mode ( ).
SQL Server 2000
Windows NT, SQL
Server. . ,
Windows NT, ,
Windows NT.
;

201

9. SQL Server 2000

Windows Authentication Mode ( Windows).



Windows NT.
. , ,
, Windows NT , SQL Server.
Enterprise Manager.
. , ,
Properties. Security (. 9.1).

. 9 . 1 . Security

Security Authentication,
.
SQL Server and Windows NT/2000 .
SQL Server, Windows NT/2000 only.

SQL Server 2000


SQL Server.

202

III.

Audit level , :
None. SQL Server 2000 .
Success. , . , .
Failure. . .
. , , , .
Windows NT (Windows NT application log),
SQL Server 2000 (error log), . Windows NT ,
.
Programs, Administrative Tools. SQL
Server 2000 Enterprise Manager. \Management\SQL Server Logs\Current,
SQL Server 2000 .
\Archive#.
Windows NT SQL Server .

Windows NT
Windows NT . Windows NT,
. SQL Server 2000 ,
,
. SQL Server 2000 .
. . , .

SQL Server 2000 Multiprotocol Named Pipes.


Windows NT, , , SQL Server 2000.
SQL Server 2000
Windows NT.

9. SQL Server 2000

203_

(logins), , , ,
, . .
(login ID) , -, (SID, Security Identification),
.
. NTFS. NTFS (ACL, Access Control List). (, Access Control Entries),
.
, login ID ACL . ,
.
,

.
. , ( , , . .) ,
. SQL
Server 2000 , , , .

Windows 98 , SQL Server 2000, ,


Windows NT. SQL Server 2000.
Windows NT
Master SQL Server 2000
(login ID). ,
. . . SQL Server 2000.
Windows NT SQL Server 2000
. -
, ,
SQL Server 2000 .
Windows NT .
,
. SQL Server 2000. , -

204

III.

. .
, . , Windows NT
.
,
. , . . .
, Windows NT
SQL Server 2000.

, , ,
. SQL Server 2000 (login) SQL Server 2000 (user) SQL Server 2000. Windows NT . . . Windows NT , .
Windows NT (trusted relationships) . SQL
Server 2000 , "" . , , , SQL Server 2000.
SQL Server 2000,
, ,
SQL
Server.
, . ,
.
, SQL
Server 2000 .
, .
SQL Server 2000 . Windows NT
, . , Windows NT,
, .

9. SQL Server 2000

205_

SQL Server
SQL Server 2000. Master. , SQL Server,
. . , . , .
, .
SQL Server ,
Windows NT. , Novell NetWare, Unix . . SQL Server 2000 Internet
, SQL Server.
, SQL Server
Windows 98, . . (trusted connection
API) , , Windows NT.
SQL Server ,
Windows NT SQL Server 2000. SQL Server 2000 . , .


, SQL Server 2000 , (account login)
. Windows NT
, Windows NT (SAM, Security Account
Manager). .
Windows NT, , , . Windows NT
SQL Server 2000.
, .
SQL Server 2000 ,
: .
.

206

III.

. ,
. , , Windows NT
User Manager for Domains. , SQL
Server 2000 Windows NT.
,
SQL Server 2000, .
SQL Server . SQL
Server, Windows NT.
Enterprise Manager Transact-SQL.
Transact-SQL , SQL
Server 2000 .

Transact-SQL
SQL Server 2000, Windows NT sysxlogins Master.
. sysxlogins ,
, , .

,
10.
, sysxlogins
.
sysiogins,
sysxlogins, srvid
( ) NULL.
Transact-SQL, sysiogins.
sp_helptext:
USE master
EXEC sp_helptext 'sysiogins'

(~

sp_helptext ,
, . . .

9. SQL Server 2000

207

:
Text
CREATE VIEW syslogins AS SELECT
sid = convert(varbinary(85), sid) ,
status = convert(smallint,
8+CASE WHEN (xstatus & 2)=0 THEN 1 ELSE 2 END),
createdate = convert(datetime, xdatel),
updatedate = convert(datetime, xdate2),
accdate = convert(datetime, xdatel),
totcpu = convert(int, 0 ) ,
totio = convert(int, 0 ) ,
spacelimit = convert(int, 0 ) ,
timelimit = convert(int, 0 ) ,
resultlimit = convert(int, 0 ) ,
name = convert(sysname, name),
dbname = convert(sysname, db_name(dbid)),
password = convert(sysname, password),
language = convert(sysname, language),
denylogin = convert(int, CASE WHEN (xstatussl)=1 THEN 1 ELSE 0 END),
hasaccess = convert(int, CASE WHEN (xstatus&2)=2 THEN 1 ELSE 0 END),
isntname = convert(int, CASE WHEN (xstatus&4)=4 THEN 1 ELSE 0 END),
isntgroup = convert(int, CASE WHEN (xstatus&12)=4 THEN 1 ELSE 0 END),
isntuser = convert(int, CASE WHEN (xstatus&12)=12 THEN 1 ELSE 0 END),
sysadmin = convert(int, CASE WHEN (xstatus&16)=16 THEN 1 ELSE 0 END),
securityadmin=convert(int, CASE WHEN (xstatus&32)=32 THEN 1 ELSE 0 END),
serveradmin=convert(int, CASE WHEN{xstatus&64)=64 THEN 1 ELSE 0 END),
setupadmin=convert(int, CASE WHEN(xstatus&128)=128 THEN 1 ELSE 0 END),
processadmin=convert(int, CASE WHEN(xstatus&256)=256 THEN 1 ELSE 0 END),
diskadmin=convert(int, CASE WHEN(xstatus&512)=512 THEN 1 ELSE 0 END),
dbcreator=convert(int, CASE WHEN(xStatus&1024)=1024 THEN 1 ELSE 0 END),
bulkadmin=convert(int, CASE WHEN(xstatus&4096)=4096 THEN 1 ELSE 0 END),
loginname = convert(sysname, name)
FROM sysxlogins WHERE srvid IS NULL

,
s y s l o g i n s ,
(SELECT), (UPDATE, DELETE INSERT).
s y s x l o g i n s .
sysxlogins INSERT, UPDATE DELETE,
.
.
.
.
8

.1207

208

III.

SQL Server Windows NT , SQL Server Windows NT . SQL Server Windows NT.

SQL Server
SQL Server
sp_addiogin, :
sp_addlogin [Sloginame =] 'login'
[, [@passwd =] 'password']
[, [Odefdb =] 'database']
[, [@deflanguage =] 'language']
[, [@sid =] sid]
[, [@encryptopt =] 'encryption option']

sysadmin securityadmin.
.

[@loginame =]

'login'

, SQL Server. sysname,


128 . . name sysiogins ,
.
:
Server: Msg 15025, Level 16, State 1, Procedure sp__addlogin, Line 56
The login '' already e x i s t s .

[gpasswd =]

'password'

, .
sysname, 128
Unicode, NULL. . .
NULL.
s p a d d i o g i n .
pwdencrypt ().
password sysxiogins, varbinary (256), . . .

9. SQL Server 2000

209

, , ,
sp_addlogin.
s p j n e i p t e x t .
EXEC sp_helptext ' s p _ a d d l o g i n ' .
[@defdb =] 'database'
,
. sysname
Master.
. name sysdatabases
Master , Sdefdb.
s p h e l p d b .
,
:
Server: Msg 15010, Level 16, State 1, Procedure sp_addlogin, Line 63
The database '' does not exist. Use sp_helpdb to show available databases.


, , USE .
[@deflanguage =] 'language'
, . ,
.
sysname NULL. ,
NULL, TO , ' d e f a u l t language'
s p c o n f i g u r e Default
language for user Server Settings SQL Server
Properties. . " Server Settings" 8.
, @defianguage, , .
a l i a s syslanguages Master. , SQL Server 2000.
8*

210

III.

sp_helplanguage.
@def language , :
Server: Msg 15033, Level 16, State 1, Procedure sp_validlang, Line 10
'' is not a valid official language name.


SET LANGUAGE '
'. , 1
SET LANGUAGE ' r u s s i a n .
[@sid =] s i d
,
(SID, Security Identification number) . varbinary (16).
S U S E R S I D O .

. ,
,
.

sa 0x01.
sid sysxiogins.
SQL Server
16 , Windows NT 28 . ,

UPDATE, .
@sid
.

, .
:
SELECT sid FROM syslogins

@sid NULL ( @sid), sp_addlogin .

9. SQL Server 2000

211

[Sencryptopt =] 'encryption_option'


, password sysxiogins.
:
NULL . ,

@encryptopt

sp_addiogin. pwdencrypt();

' skip_encryption' ;
' s k i p e n c r y p t i o n o l d ' SQL
Server 2000 ( pwdencrypt ()). ,
.
@ p a s s w d = c o n v e r t ( s y s n a m e ,

convert

( v a r b i n a r y (30) ,

convert (varchar (30), @passwd))). SQL Server 7.0. SQL Server.


SQL
Server s p s d d i o g i n .
:
USE pubs
EXEC sp_addlogin 'Diesel'

, Master ,
. .
:
USE pubs
EXEC sp_addlogin 'Andrey' ,
'analitik',
@sid = OxOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOFF

, ,
sp_addiogin .
wizards, . pubs.

.
USE pubs
EXEC sp_addlogin 'Wizards' ,
'gfhfgcb[jkjubz',
'pubs',
'russian',
OxOlOOOOOOOOOOOOOOOOOOOOOOOOOOOOFF,
'skip_encryption'

212

III.


' gfhfgcb [ j k j u b z ' . - ,
.
, , . , . , , . ,

(dictionary attack), , . .
, , , .
,
sysxlogins,
, sysiogins:
USE master
SELECT name, SID, dbname, password, language
FROM sysiogins
WHERE createdate BETWEEN '23 aug 2001' AND '24 aug 2001'

:
name

SID

dbname

Andrey
0XOOOOOO0O0000O00000O0OO000000O0FF
Diesel
0x20D455C65B42D14A8C93CC7F61FAFBB9
Wizards
OX010000000000000000000000000000FF
(3 row(s) affected)

master
master
pubs

password

language

????????
NULL
gfhfgcb[jkjubz

us english
us~english
russian

Windows NT

SQL Server.
Windows NT sp_grantlogin,
:
sp_grantlogin [Sloginame =] 'login'

Windows NT,
SQL Server 2000 Windows NT.
SQL Server Windows NT.
SQL Server 2000,
. Windows NT
. , SQL Server 2000,
.

9. SQL Server 2000

213

s p _ g r a n t l o g i n sysadmin securityadmin.
s p g r a n t i o g i n ,
Windows NT,
SQL Server 2000. , Windows NT. gioginame Windows NT.
Windows NT
, .
,
.
,
. ()
(\). , SQL Server 2000
SQL_Users matrix :
EXEC sp_grantlogin 'matrix\SQL_Users'

:
EXEC sp_grantlogin [matrix\SQL_Users]

, sp_grantlogin , . Windows NT
.
Master, , .

Enterprise Manager sysxlogins.

Enterprise Manager

Enterprise Manager .
Enterprise Manager , , , \Security\Logins. Enterprise Manager,
,
syslogins (. 9.2).
:
Name. . 128 .

III.

214

. 9.2. Logins
Type. :

NT User ( Windows NT);

NT Group ( Windows NT);

Standard ( SQL Server).

Server Access. SQL Server 2000:

Permit ();

Deny ().

Default Database. .
User. , .
Default Language. , .

.
, . -

215

9. SQL Server 2000

Enterprise Manager
Delete. , , Delete.

New Login. SQL Server
Login Properties - New Login,
. . , General
(. 9.3), .

. 9 . . General

Authentication , . Windows NT
Authentication, Domain
, . (
, .) Name. , Windows NT , SQL Server 2000 , .
Security access:
Grant access. . .
Deny access. .

III.

216

, , SQL Server 2000. , , .


, Windows NT, . , , ,
. Grant access . , Windows NT, SQL
Server 2000, ( SQL Server 2000), .
SQL Server ( SQL Server Authentication), Password , SQL
Server 2000.
Name. .
Windows NT Windows NT, SQL Server 2000.
. Name Windows NT,
Domain. ,
(. 9.4),
^ 1 .

. 9.4.

9. SQL Server 2000

217

SQL Server, Name


SQL Server 2000. . SQL Server
. , .
. , sysxiogins .
.
Defaults ,
. Database
, . SQL Server 2000 ,
, ,
Database. Master.
Language
, , (Russian), , .
General .

. 9 . 5 . Server Roles

218

III.

Server Roles (. 9.5)


(fixed server role).
.
Server Roles , SQL Server 2000.
, . Description .
Properties.
Server Role Properties - sysadmin . , General (. 9.6), ,
. Add.
Remove.

. 9.6. General Server Role Properties - sysadmin

Permissions (. 9.7) ,
, , .
Server Roles .
(Database Access) . (. 9.8) . , SQL
Server 2000. Permit,
. Database. . , , -

9. SQL Server 2000

219

, , .
User. Permit
, .
.
, .

. 9.7. Permissions Server Role Properties - sysadmin


. , ,
. ,
, .

, , , .

. Properties,
Database Role Properties (. 9.9), , :
. , Permissions,
,
.

220

III.

. 9.8. Database
Access

. 9.9. Database
Role Properties
db owner

9. SQL Server 2000

221


SQL Server 2000. ,
SQL Server 2000 :
sa (system administrator). SQL Server. ,
. SQL Server 2000 , . , sa
.
sysadmin, SQL
Server 2000, . , sa. sa, .
.
BUILTIN\Administrators.
Windows NT Administrators , SQL
Server 2000,

BUILTIN\Administrators , . .
. SQL
Server 2000 ,
. BUILTIN\
Administrators sysadmin.


SQL Server 7.0 (roles),
SQL Server 6.x. SQL Server 2000 , .

.
, . . SQL Server 2000 :
(server role);
(database role).

.
.

III.

222

. , , .
(fixed server roles). . 91
.
9.1.

sysadroin
(System Administrators)

SQL
Server 2000. ,

setupadmin
(Setup Administrators)


, , SQL Server 2000, setupadmin

serveradmin
(Server Administrators)

,
.
(SHUTDOWN), (sp_conf igure),
(RECONFIGURE),
(sp_fulltext_service)

securityadmin
(Security Administrators)


,
,
,
securityadmin SQL Server

processadmin
(Process Administrators)

, SQL
Server2000, .. K I L L .
processadmin

diskadmin


SQL Server 7.0.
(device).
diskadmin ,
, , SQL Server 2000 ,

(Disk Administrators)

dbcreator
(Database Creators)

, ,

bulkadmin

SQL Server 7.0.


bulkadmin
,

(Bulk Insert administrators)

SQL Server 6.x . , ,


.

9. SQL Server 2000

223

, .
SQL Server 2000 .
, .
.
.

Server Roles (. . 9.5) sp_addsrvrolemember,
:
sp_addsrvrolemember [@loginame =] 'login' , [Srolename =] ' r o l e '

sysadmin
. ,
, .
@ioginame , . ,
, @roiename. , .
Windows NT
Admin STORAGE sysadmin:
EXEC sp_addsrvrolemember 'STORAGE\Admin', 'sysadmin'

, ,
, Windows NT . ,
Windows NT SQL Server 2000 Windows NT,
.
.
,
, :
sp_helpsrvrolemember [ [@srvrplename =] 'role']

, , . , , Osrvroiename.
sysadmin:
EXEC sp_helpsrvrolemember sysadmin'

224

III.

. 9.1.
:
EXEC sp_helpsrvrole

:
ServerRole

Description

sysadmin
securityadmin
serveradmin
setupadmin
processadmin
diskadmin
dbcreator
bulkadmin
(8 row(s) affected)

System Administrators
Security Administrators
Server Administrators
Setup Administrators
Process Administrators
Disk Administrators
Database Creators
Bulk Insert administrators


spt_vaiues, .

sp_dropsrvroiemember, :
sp_dropsrvrolemember [@loginame =] 'login' , [@rolename =] 'role'

sp_addsrvroiemember, .



. SQL
Server 2000. , . ,
sysadmin. , , ,
, .

(user)
,
. , ,
,

9. SQL Server 2000

225

. ,
.
SQL Server 2000 ,
. , SQL Server 2000. .
,
. , , .



. (. . " Enterprise Manager" ).
, Database Access.

Enterprise Manager. Enterprise Manager ,
, Users. (. 9.10)
, , :
Name. . 128 .
.
Login Name. ,
.
Database Access. , (Permit), , , (Deny).
Enterprise Manager User ( ) New
Database User. Database User Properties - New
User (. 9.11), .
Login name , .
, , ,
. User name
, . , ,
. . , . .
Enterprise Manager .

226

III.

. 9.10. Users

,
.
. Properties,
, , .
.
Database User Properties - New User Permissions, . ,
, ,
.
.
,
Properties
. ,
. , ,
.

227

9. SQL Server 2000

. 9 . 1 1 .
Database User Properties - New
User


:
dbo (database owner). , .
. dbo . dbo sa, . ,
dbowner .
dbo db_owner ;
guest. ,
guest.

, . guest, , ,
, SQL Server 2000. guest
.

Transact-SQL
Enterprise
Manager. -

III.

228

. , , Transact-SQL. ,
, Enterprise Manager
.
Transact-SQL,
, .

, ,
sysusers, , . . 9.2
sysusers .

sysusers . .
9.2. sysusen

uid

smallint

(),
.
dbo 1.
guest 2. 16 384, 16 400

status

smallint

,
(). .

sysname

, () .
,

varbinary(85)

, .
SQL Server s i d
s y s l o g i n s Master.
Windows NT
syslogins
{ ,
Windows NT)

sid

9. SQL Server 2000

229

9.2 ()

roles

varbinary(2048) , . , 1. ,
SQL Server 2000 16 384

createdate

datetime

()

updatedate

datetime


()

altuid

smallint

.
.

password

varbinary(256)

. , NULL

gid

smallint

,
.
s i d ,

environ

varchar(255)


NULL

hasdbaccess

int

1,

islogin

int

1,
(SQL Server,
Windows NT)

isntname

int

1,
Windows NT

isntgroup

int

1, Windows NT

isntuser

int

1, Windows NT

issqluser

int

1, SQL Server

isaliased

int

1, .
SQL Server 6.x

///.

230

9.2 ()

issqlrole

int

1,

isapprole

int

1,

, sysusers . , . , (attach)
,
. ,
,
. ,
, .

Windows NT, . . . ,
( ), (
, ) .
, -
sid . SQL Server 2000
S U S E R _ S I D O ,
SQL Server,
Windows NT. , SUSER_SIDO, s i d sysusers.
, sp_attach_db, L i i i y a
Windows NT L i i i y a matrix,
:
USE pubs
UPDATE sysusers SET sid = SUSER_SID('matrix\Liliya')
WHERE name = 'Liiiya1

,
.
EXEC sp__configure ' a l l o w
update', 1.

9. SQL Server 2000

231


SELECT .
sysusers .
, , , , sysusers
, Master.

spheipuser:
USE pubs
EXEC sp_helpuser

:
UserName

GroupName

LoginName

DefDBName

UserlD SID

Admin
Casper
dbo
guest

public
public
db owner
db datareader

NULL
Casper
sa
NULL

NULL
pubs
master
NULL

6
5
1
2

0x0542A973F5
0x04456EC274
0x01
0x00


Windows NT, . . .

, Admin ,
. ,
Windows NT, Windows NT.


:
sp_adduser.
SQL Server .
sp_grantdbaccess. SQL Server 2000
, SQL Server 7.0.
spadduser, sp_grantdbaccess, :
sp_grantdbaccess [Ologiname =] ' l o g i n 1
[,[@name_in_db =] 'name_in_db' [OUTPUT]]

232

III.


sysadmin dbowner
db_accessadmin.
gioginame ,
.
. @name_in_db ,
.
.

s p g r a n t d b a c c e s s . pubs
Admin, STORAGE\Admin:
USE pubs
EXEC sp_grantdbaccess 'STORAGE\Admin', 'Admin'

, @loginame
, ,
Windows NT, SQL
Server 2000 Windows NT.

sp_revokedbaccess, :
sp_revokedbaccess [@name_in_db =] 'name'
((~


sysadmin db_owner
db_accessadmin.
, . , , , .
, DROP,
sp_changeobjectowner.
, Admin :
EXEC sp_revokedbaccess 'Admin'

9. SQL Server 2000

233_

sprevokedbaccess
s p d r o p u s e r , sp_revokedbaccess :
sp_dropuser [@name_in_db =] ' u s e r '

, s p a d d u s e r , SQL Server 2000 .


. " " ""
. SQL Server 2000, ,
: . . " "'
, . , .
SQL Server 2000 :
(fixed database role);
(user database role);
(application role).
( ),
. . . , .
.



, .
.
,
.
SQL Server 2000 , SQL Server Windows NT,
Windows NT .

, Enterprise Manager . , SQL Server 2000


,
.

III.

234

. 9.3 .
9.3.

db_securityadmin

db_owner

, . .

db_denydatawriter

db_denydatareader

db_ddladmin

db_datawriter

, ,

db_datareader

, ,

db_backupoperator

db accessadmin


: ,

, , . . 9.3 ,
public. . , , public, .
public. , . .
public.
public
(default right). public, , , , . public guest. ,
. , guest, . ,
, guest , . public
, guest.

9. SQL Server 2000

235


Transact-SQL

,
.

, ,
. -

UPDATE, INSERT DELETE -

sysusers,
.
(,
Enterprise Manager)
. , s p d r o p r o l e , , . ,
db_ddiadmin:
USE pubs
EXEC sp_droprole 'db_ddladmin'

:
Server: Msg 15142, Level 16, State 1, Procedure sp_droprole, Line 46
Cannot drop the role 'db_ddladmin'.

DELETE:
USE pubs
DELETE FROM s y s u s e r s WHERE name = 'db_ddladmin'

. . , , NewFixedRoie:
USE pubs
INSERT INTO sysusers (uid, s t a t u s , [name], s i d ,
createdate, updatedate, a l t u i d , [password], r o l e s )
SELECT 16395, 0, 'NewFixedRoie1 , NULL,
GETDATEO, GETDATEf), 1, NULL, 0x00

, ,
, sysusers,
uid 16 384 16 399 , . , 16 395 .

M o d e l , .

236

III.
, syspermissions.

,
- ,
. ,

. , ,
, . , .

.

.

sp_helprole:
USE pubs
EXEC sp_helprole
:
RoleName

Roleld IsAppRole

public
db__owner
db_accessadmin
db_securityadmin
db_ddladmin
'
db_backupoperator
db_datareader
db_datawriter
db_denydatareader
db_denydatawriter
NewFixedRole
(11 row(s) affected)

0
16384
16385
16386
16387
16389
16390
16391
16392
16393
16395

0
0
0
0
0

, ,
, , .

,
sp_addrolemember, :
sp_addrolemember [grolename =] ' r o l e 1 , [gmembername =] 'security_account'
Sroiename ,
.

9. SQL Server 2000

237

. .
spaddroiemember
.
( , )
,
. , ,
@membername.

AccessedUser dbaccessadmin:
EXEC sp addrolemember 'db_accessadmin',

'AccessedUser'


, ,

. :
sp_helprolemember [[Srolename =]

'role']

, .
, grolename, .

:
USE pubs
EXEC sp_helprolemember

:
DbRole

MemberName

MemberSID

AccessedUser
db accessadmin
db datareader
db owner
db owner
db owner
NewFixedRole
NewFixedRole
(8 row(s) affected)

Access
AccessedUser
guest
Access
AccessedUser

NULL
NULL
0x00
NULL
NULL
0x01
0x43940DBCA5C63C4D9F407BFCCCB34CD9
NULL

dbo
Casper
Mayor


,
sp_droprolemember,
:
1

sp_droprolemember [Qrolename =] ' r o l e ,


[Smembername =] ' s e c u r i t y account 1

III.

238

,
. .
, dbaccessadmin AccessedUser :
USE pubs
EXEC sp_droprolemember 'db accessadmin',

'AccessedUser'


,

.
,
, ,
.
, ,

. SQL Server 2000
SQL Server 6.x Windows NT.

. 9.12. Rotes

239

9. SQL Server 2000

Roles (. 9.12)
Enterprise Manager. :
Name ;
Role Type . Standard ( )
Application ( ).
Enterprise Manager Roles New Database Role. Database Role Properties - New Role (. 9.13)
Name , .
Database role type
. Standard role,
Add
. Application role, , . .

. 9.13.


Transact-SQL

Transact-SQL, , . . , 9

.1207

240

III.

sysusers, .
, sysusers , ,
. ,
,
i s s q i r o i e . 1, . . .
gid. ,
sid, . , (
sid) 16 400.

, p u b l i c 0.

,
:
USE pubs
SELECT * FROM sysusers WHERE issqiroie = 1 AND sid = gid
SELECT * FKOM sysusers WHERE gid .'= 0
SELECT * FROM sysusers WHERE sid >= 16400


s p h e l p r o l e , . Role id 16 400.



s p a d d r o l e , :
sp_addrole [Srolename =] 'role' [, [@ownername =] 'owner']

sysadmin db owner
db_securityadmin.

, , Oroiename.
. , , . ,
(, ). -

9. SQL Server 2000

241

, , :
Server: Msg 15023, Level 16, State 1, Procedure sp__addrole, Line 58
User or role '' already exists in the current database.

(
dbo). , dbo . ,

Sownername. . .
Accesseduser,
guest:
USE pubs
1
EXEC sp_addrole 'Accesseduser , 'guest'

, SQL Server 7.0 . . SQL Server 6.x


SQL Server 2000 , . , . ,
spaddgroup.
:
sp_addgroup [@grpname =] ' g r o u p '

,
. , . :
USE master
EXEC s p _ h e l p t e x t 'sp_addgroup'

:
Text
create procedure sp_addgroup
Sgrpname
sysname
name of new role
as
declare Sret int
execute @ret = sp_addrole @grpname
return @ret

, spaddgroup -
sp_addroie, , . ,
, SQL Server 2000 .

,

9*

242

III.

, ,
. , spaddrolemember,
sp_droprolemember.

sp_droproie, :
sp_droprole [Orolename =] ' r o l e '
, .
, spdroproiemember.
, .
,

sp_changeobjectowner, .

AccessesUser:
USE pubs
EXEC sp_droprole 'AccessesUser'


,
.
. SQL Server 2000 (application role).
, ,
,
- .
SQL Server 2000 , . ,
,
. , , .
, SQL Server 2000, .

^)

. ,
.

9. SQL Server 2000

243_

Enterprise Manager . . , , . .
, . ,
. .
.
. SQL Server Windows NT SQL
Server 2000.
, ( ).
, .
, .
, SQL Server 2000
. , ,
, . , SQL Server 2000 , , .
.
, , .
.
,
, .
.
, , ,
,
. guest, .

, guest.
, guest
public.
,
. , ,
guest,
. .

244

III.


Transact-SQL

Transact-SQL, sysusers, .
. , ,
isapprole. 1,
. ,
password , . (
) password NULL.
,
:
OSE pubs
SELECT * FROM s y s u s e r s WHERE i s a p p r o l e = 1

s p h e i p r o i e ,
. isapprole
!, 0.

s p a d d a p p r o i e , :
sp_addapprole [Srolename =] 'role', [Spassword =] 'password'

sysadmin db_owner
db_securityadmin.

, .
. , .
. gpassword , .
password sysusers.
Mayor
marshal:
USE pubs
EXEC sp_addapprole 'Mayor', 'marshal'

9. SQL Server 2000

245



:
sp_setapprole [Srolename =] ' r o l e ' ,
[gpassword =] {Encrypt N 'password'} | 'password'
[,[@encrypt =] ' e n c r y p t _ s t y l e ' ]

.
.
, .
, USE .
.
[grolename =] ' r o l e '
, .
. ,
:
Server: Msg 2763, Level 16, State 1, Procedure sp_setapprole, Line 41
Could not find application role ''.

.
[Spassword =] (Encrypt N 'password'} I 'password'
, . ,
. , :
Server: Msg 2764, Level 16, State 1, Procedure sp_setapprole, Line 41
Incorrect password supplied for application role ''.
ODBC Encrypt, [gpassword =]
Encrypt N 'password'. Encrypt
Unicode, N,
Unicode.
[Sencrypt =] 'encrypt__style'
. :

' ' ;

246

III.
odbc'
ODBC Encrypt.


SETUSER . SETUSER
sysadmin dbowner
.

Mayor:
USE pubs
EXEC sp_setapprole 'Mayor', 'marshal'
.
, :
USE pubs
EXEC sp_setapprole 'Mayor', Encrypt N ' m a r s h a l '
EXEC sp_setapprole 'Mayor', ' m a r s h a l ' , 'odbc'


USE.
, , .

s p d r o p a p p r o l e , :

sp_dropapprole [@rolename =] ' r o l e '

sysadmin dbowner
db_securityadmin.
, .
, . :
Server: Msg 15014, Level 16, State 1, Procedure sp_dropapprole, Line 29
The role '' does not exist in the current database.

9. SQL Server 2000

247

Mayor,
:
USE pubs
EXEC sp dropapprole 'Mayor'

, - . .
,
sp_changeobjectowner.


, .

.
:
;
;
Transact-SQL.
, , . . ,
, Dbcreator.

.
, . , ,
. .
,
.
.


:
INSERT.
. , INSERT
.

248

III.

UPDATE. , , , .
DELETE. .
INSERT, DELETE
.
SELECT. . , .
REFERENCES. .
,
'.
REFERENCES , . ,
.

REFERENCES SQL Server.



.
, .
.
,
, (view),
, .
. ,

d b d a t a r e a d e r ,
.


,
(EXECUTE).

.
REFERENCES, , .
, .
. , Enterprise Manager.

9. SQL Server 2000

249

Enterprise Manager
Stored Procedures. Enterprise Manager
, . Object Properties (. 9.14),
Permissions
,
All Tasks, Manage Permissions.

. 9.14. Object Properties matrix

, EXEC. ,
.
. .
. Enterprise Manager
Enterprise Manager User Defined
Functions. Enterprise Manager , .
Object Properties (
. 9.14), Permissions
,
All Tasks, Manage Permissions.

250

III.


,
Permissions .

Transact-SQL
, .
Transact-SQL

.
Transact-SQL:
CREATE DATABASE. . .
CREATE TABLE. .
CREATE VIEW. .
CREATE PROCEDURE. .
CREATE FUNCTION. .
CREATE RULE. .
CREATE DEFAULT. .
BACKUP DATABASE. .
BACKUP LOG. .
ALL. .
sysadmin dbowner ALL.
, .


,
SQL Server 2000.
.
,
.
p u b l i c ,
, .
, (allow access)
.
,
.

9. SQL Server 2000

251_


. ,
Transact-SQL.
Windows NT , .
, Windows NT SQL Server. . Reader
, (login) SQL Server
Liiiya. ,
L i i i y a , Windows NT,
NTGroup3.
Editor, ,
Reader.
, .

, d b _ d a t a w n t e r .

d b _ d a t a r e a d e r .

, ,
.
Transact-SQL. .

SQL Server 7.0


Transact-SQL. SQL Server 2000
Enterprise Manager.

Enterprise Manager :
. Enterprise Manager , ,
,
Properties.
Permissions, Object Properties
(. 9.15). , ( dbo), , ,
public.

III.

252

. , .
,
, - . Object , .
Object.

, . . ,
SELECT . , EXECUTE .

. 9.15. Object Properties matrix


Co . Enterprise Manager , .
Users, .
Database User
Properties (. 9.16), Permissions
. ,
, .
.

9. SQL Server 2000

253

Database user ,
.
Database user.
dbo. , , .
dbo .
. . ,
Permissions , . ( ) Roles, .

public.
. , Enterprise
Manager, SQL Server 2000,
,
. Database User
Properties Columns. Column Permissions (. 9.17), .

. 9.16. Database User Properties pubs

III.

254

. 9.17. Column
Permissions


GRANT, :
GRANT
{

ALL

[PRIVILEGES]

permission

[,...n]

[( column [,...n] )] ON {table I view)


I ON {table I view} [( column [,...n] )]
I ON {stored_procedure I extended_procedure}
I ON {user_defined_function}
}
TO security_account [,...n]
[WITH GRANT OPTION]
[AS (group I role}]

:
ALL


.
, sysadmin
db owner.

9. SQL Server 2000

255

PRIVILEGES
PRIVILEGES
.
ANSI SQL-92.
permission [,...n]
,
. :
SELECT , ;

INSERT ;

DELETE ;

UPDATE ,
;

REFERENCES , ;

EXECUTE .

Enterprise Manager
REFERENCES DRI (declarative referential integrity,
).
[,...]

, GRANT .
(column [, . . . ] )

. GRANT
.
.
SELECT UPDATE.
ON (table I view}

,
. (column [, .. . ] ) ,
. .
SELECT,
UPDATE, DELETE, INSERT REFERENCES.

256
ON { t a b l e | view}

III.
[( column [ , . . . n ] )]

,
. {table | view}
,
(column [, .. .]) , .
ON {stored_procedure I extended_procedure}


.
. , , .
,
Master. .
EXECUTE.
d ON {user_defined_function}

.

EXECUTE REFERENCES.
security_account

[,...n]

, . GRANT,
.
WITH GRANT OPTION

, ,
, .
WITH GRANT OPTION -

. .
AS {group I role}

, - .
, ,
, . AS ,
.
Transact-SQL
GRANT :
GRANT {ALL I statement[,...n]} TO security_account [, .. .n]

9. SQL Server 2000

257

ALL Transact-SQL. sysadmin


dbowner.
Transact-SQL s t a t e m e n t ! , .. .]. . " Transact-SQL" . secur i t y a c c o u n t [, .. .] .

, ,
GRANT.

Accesseduser au_id, au_lname, aulname s t a t e authors


pubs:
GRANT SELECT (au__id, au_lname, au_lname, state)
ON authors
TO AccessedUser
, .

.


SQL Server 2000

. , Windows NT,
SQL Server,
.
Windows NT. SQL Server 2000

.
, , , .
, .
,
(deny access) , ,
. , , .
. ,
, , , .
.

258

III.

,
(DEMY) , (GRANT).
,
SQL Server 2000 ,
,
Windows NT.
db_owner. .

db_denydatawriter db_denydatareader, .
DENY, :
DENY
{ ALL [PRIVILEGES] I p e r m i s s i o n [ , . . . n ] }
{
[( column [ , . . . n ] )] ON { t a b l e I view}
I ON { t a b l e | view } [( column [ , . . . n ] )]
I ON { s t o r e d _ p r o c e d u r e I e x t e n d e d _ p r o c e d u r e }
I ON { u s e r _ d e f i n e d _ f u n c t i o n }
}
TO s e c u r i t y _ a c c o u n t [ , . . . n ]
[CASCADE]

DENY GRANT. ,
.
CASCADE. DENY CASCADE, TO . , , ,
CASCADE . -,
.
Transact-SQL DENY:
DENY{ALL | s t a t e m e n t [ ,

n]} s e c u r i t y _ a c c o u n t [ , . . .n]


: (GRANT)
(DENY). (revoke access). ,

9. SQL Server 2000

259_

( , ).
, .
. ,
, , ,
. (REVOKE) ,

. ,
" " . SQL Server 2000 ,
,
.

, . . ,
, .
,
. , ,
. ,
,
.
.
,
.

, REVOKE :
REVOKE [GRANT OPTION FOR]
{ ALL

[PRIVILEGES]

permission

[,...n]

[( column [,...n] )] ON {table I view}


I ON (table I view} [( column [,...n] )]
I {storedjorocedure I extended_procedure}
}
{ TO I FROM }
security_account [,
n]
[CASCADE]
[AS { group I role }]

260

III.

DENY, REVOKE
GRANT, . , . REVOKE, GRAND DENY
, GRANT OPTION FOR.
.
GRANT OPTION FOR , WITH GRANT OPTION.

FROM .
FROM '
, . .
Transact-SQL
REVOKE :
REVOKE {ALL I statement[,...n]} FROM security_account [, . . .n]


Enterprise Manager . ()
Permissions. ,
Transact-SQL.
sp_heiprotect, :
sp_helprotect [[@name =] 'object_statement']
[, [@username =] 'security_account' ]
[, [Sgrantorname =] 'grantor']
[, [Spermissionarea =] 'type']

(~

Public. ,

.
.
[@name =]

'object_statement'

,
.
Transact-SQL:

9. SQL Server 2000

26?

CREATE DATABASE;

CREATE DEFAULT;

CREATE FUNCTION;

CREATE PROCEDURE;

CREATE RULE;

CREATE TABLE;

CREATE VIEW;

BACKUP DATABASE;

BACKUP LOG.

gname NULL, TO .

[gusername =]

'security_account'

,
.
NULL, TO .
[@grantorname =] ' g r a n t o r '

, , .
.
[@permissionarea =]

'type'

, . :

s' ;

' ' ;

' s1 ,
.
.

s p h e l p r o t e c t
authors:
USE pubs
EXEC spjielprotect 'authors'

:
Owner

Object

Grantee

Grantor ProtectType Action

dbo
dbo
dbo

authors
authors
authors

guest
guest
guest

dbo
dbo
dbo

Grant
Grant
Grant

Column

Delete
Insert
References (All+New)

262
dbo
authors
dbo
authors
(5 row(s) affected)

III.
guest
guest

dbo
dbo

Grant
Grant

Select
Update

(All+New)
(All+New)

, . :
owner. .
objects. , .
Grantee. ,
.
Grantor. ,
.
ProtectType. ,
.
Action. , .
column. ,
. , (Aii+New).
,
guest:
USE pubs
sp_helprotect NULL, 'guest', NULL, 's'

:
Owner Object Grantee

Grantor ProtectType Action

guest
guest
guest
guest
guest
(5 row(s) affected)

dbo
dbo
dbo
dbo
dbo

Grant
Grant
Grant
Grant
Grant

Create
Create
Create
Create
Create

Column
Default
Procedure .
Rule
Table
View


, .
. , , . ,
, ,
.
,
, ,
, ,

9. SQL Server 2000

263

. ,
,
, .
.
, Liliya Tabiei.
viewi,
Tabiei. Liliya John
viewi. John
Tabiei viewi,
Tabiei.

viewi 2,
Liss,
viewi, Liss John Table2.
, ,
. -
,
, ,
. - , ,
, , .
. 9.18 ,
.
Joe.procedurel

J
Joe.procedure2 |

| Sue.procedure3

Joe.viewi
Sue.view2
i

Suetabel

Joe.table2

Sue,table3

. 9.18.

Joe Sue
Procedure 1, . SQL
Server 2000 sue
Procedurel, Procedure3, View2, Table2 .
Procedure2 Tabiei , . . Procedure2 Tabiei
.

10


, , ,
. . , SQL Server 2000, .
:
SQL Server 2000
, . ,
, ,
SQL Server 2000,
, , . .
, , , , , , ,
. .
. , ,
. ,
,
.

, , SQL Server 2000 .



. ,
. , . . . ,

10.

265

,
. . *
, , .
, ,
SQL Server 2000 , . .
, , .


, SQL Server 2000
.

, . . .
, Windows NT.
:
SQL Server. , (Service Pack)
(Patches). , SQL Server
. .
, ,
. , , , , . ,
, . ,
SQL Server 7.0 ,
23 Microsoft,
. , , . ,
.
SQL Server 2000. SQL Server 2000
sysadmin serveradmin . . SQL Server 2000
. ,
, , ,
.

266

III.

. ( SQL
Server 2000),
, .

.
, SQL
Server 2000. MSSQLServer , .
SQL Server 2000.
.
, , , , , . SQL Server 2000 Enterprise Manager 8.
.
Windows NT SQL Server, SQL Server 2000. . " " 4.
. , , .
.
, . .
13.
.
.
. , SQL Server 2000 . ,
.
. SQL Server 2000 .
.
SQL Server 2000 17.
.
.
,
. ,

10.

267

, , , , . .
. ,
. .
. , , .
. , , . , .
.
.
.
.
, . . . ,
,
.
. ,
,
. ,
, .
.
,
. ,
.
.
, ,
. .
, , ,
. , .
. -

268

III.


. .
, ,
. .

SQL Server 2000 ,


. .
,
, .
9.


SQL Server 2000 . . , SQL Server 2000
,
.
SQL Server 2000
SQL Server 2000, .

. .
.
. ,
, . , SQL Server 2000 (13), . . (7).
, .
,
, . SQL
Server 2000 8.
SQL Server 2000,
Enterprise Manager .
,
. ; Enterprise Manager

10.

269

SQL Server 2000, .


Enterprise Manager,
. , , , (linked) (remote) .
Enterprise Manager, .


, Enterprise Manager
SQL Server 2000,
, .
,
. , , .
:
, . . ;
,
Server 2000;

SQL

, Enterprise
Manager ;
SQL Server
SQL Server, .
.
Registed SQL Server Properties. Enterprise Manager
.
Register SQL Server Wizard.
, .

Enterprise Manager, SQL Server 2000,


SQL Server 7.0. SQL Server 7.0 SQL Server 2000.

Registered SQL
Server Properties.
Enterprise Manager
New SQL Server Registration. Registered SQL Server Properties (. 10.1), -

270

III.

. , New SQL Server Registration.

. 1 0 . 1 . Registered SQL
Server Properties

Server SQL Server 2000


SQL Server 7.0, . , NetBIOS , SQL
Server 2000. ,

_\_.
SQL Server 2000, , Active
Directory. SQL Active Directory Search (. 10.2),
^ J , Server.
In .
Name SQL Server 2000, . .
1 . Name , , . 1

, , ,
(?) (*). .

10.

271

. Version 7.0 8.0


(SQL Server 2000). Version ,
.
, Find Now. .
, Server.

. 10.2. SQL Active Directory Search

SQL Server, Windows 95/98, .


. , Windows 95/98, ( ). , SQL Server,
. .
Connections (. . 10.1) ,
Enterprise Manager SQL
Server 2000. , :
Use Windows NT authentication.
Windows NT.
10 . 1207

272

III.

.
Use SQL Server authentication. SQL Server
.
:

Login Name ,
. , ;
Password ;

Always prompt for login name and password. , , . Enterprise Manager


. , Enterprise Manager
, .
Password , Login Name
, .
(

, SQL Server
Always prompt for login name and password. .
. SQL Server 7.0 (XOR). . , (patch),
.
, ,
Enterprise Manager .
Options.
Server Group. ,
.
. .
,
Server Groups (. 10.3),
^ J , Server Group.
. .

273

10.

. - . . Microsoft 5060
SQL Server,
.

Display SQL Server state in console. Enterprise Manager.


Enterprise Manager
.
Show system databases and system objects.
, , , ,
. , , (,
, ). , Enterprise Manager, .
, .
Enterprise Manager .
Automatically start SQL Server when connecting. SQL Server 2000
.

. 10.3. Server Groups

Enterprise
Manager, .

10*

274

III.

Enterprise Manager, . .
.
. , Enterprise Manager . , ,
Enterprise Manager ,
, .
- . . ,
, , Server . , , , , , .
(

^)

Windows NT,
SQL Server,
"Login failed" ( ). , SQL Server
.
Registered SQL Server Properties.
Register SQL Server Wizard. Enterprise Manager Run a Wizard,
Register Server Wizard
. .
(. 10.4) . From now on, I want to
perform this task without using a wizard.
, , , Registed SQL Server Properties, Next
,
Registered SQL Server Properties, . ,
From now on, I want to perform this task without using a wizard
.
(. 10.5)
. , .
(Available servers),
. ,
. Added
servers, Add . . -

275

10.

. - ,
Remove.

. 10.4. Register SQL Server Wizard

ill

. 10.5. Register SQL Server Wizard

III.

276

SQL Server,
Windows 95/98, , . .
, .
(. 10.6) , Enterprise Manager
. Connect using. SQL Server , .

. 1 0 . 6 . Register SQL Server Wizard

(. 10.7) (Login name)


(Password) SQL Server, .
. . , Prompt for the SQL Server account information when connecting. Login name Password ,
Enterprise Manager
, .

10.

277

. 10.7. Register SQL Server Wizard

Windows NT
.

(. 10.8) .
, Add the SQL
Server(s) to an existing SQL Server group
Group name .
, Create
a new top-level SQL Server group Group name .

, .

Register SQL Server Wizard .

. (. 10.9)
, .
Finish ,
.

III.

278

, . , , Enterprise Manager.

. 10.8. Register SQL Server Wizard

. 10.9. Register SQL Server Wizard

279

10.


SQL Server 2000,
Enterprise Manager . Enterprise Manager
.
, . ,
, .
, .

Enterprise Manager SQL


Server 2000. , ,
Enterprise Manager. ,
, .
,
. Server
Groups (. 10.10), .

. 10.10. Server Groups


Name.
, . Level Top level group,
, . . Console Root.
, Sub-group of.
,

280

III.

, .
, , .
Delete. , Enterprise Manager , , , .
.
(

Enterprise Manager . ,
,
.
Rename Server Group
(. 10.11), , Rename SQL Server Group
.
Rename the server group to .

. 10.11. Rename Server Group

MATRIX


(data source) SQL
Server 2000, .
,
. .
,
. SQL Server 2000,
. SQL Server 2000
OLE DB, ,
. , , OLE DB
(OLE DB Provider). SQL
Server 2000 ,
SQL Server 2000 .
OLE DB.

10.

281

OLE DB ,

OLE DB.
.
ODBC, OLE DB
.
SQL Server 2000 ,
, Oracle, DB2, ADSL ODBC, Exchange . ,
, ,
, , .
, , . . , SQL Server 2000
(linked servers).
sysservers
Master. OLE DB, , ,
, (, ), , .
(

sysservers , SQL Server 2000: , , , , ,


SQL Server 2000.
, SQL Server 2000 sysservers
. . OLE DB,
, .
, , (remote query) (distributed query), . , ,
, .
, :
SELECT t i t l e FROM storage.pubs..titleauthor as ta,
[storage\trelon].pubs.dbo.authors as a, p u b s . . t i t l e s as t
WHERE ta.au_id = a.au_id AND t . t i t l e _ i d = t a . t i t l e _ i d
AND a.state = 'CA'

282

III.

. . , .
, . , . ,
.
SQL
Server 2000 .
, , SQL Server 2000. , SQL Server 2000

sysservers. SQL Server 2000,
, . , ,
.
sysadmin
setupadmin. ,
.

SQL Server 2000 (remote servers).


SQL Server 2000 SQL Server 7.0.
, .
. ,
. ,
OPENDATASOURCE OPENROWSET.

, .
.
- .
. SQL
Server 2000 .
SQL Server 2000
.

,
, .

10.

283

,
:
Transact-SQL ;
Enterprise Manager.

.

Transact-SQL
,
. , sysservers. , (
) INSERT.
.

. , , , . ,
.
,
.



sp_addlinkedserver, :
sp_addlinkedserver [gserver =] 'server'
[, [Ssrvproduct =) 'product_name']
[, [@provider =] 'provider_name']
[, [Sdatasrc =] 'data_source']
[, [Olocation =] 'location']
t, [@provstr =] 'provider_string']
[, [Scatalog =] 'catalog']

. ,
. .


. ,

284

III.

sp serveroption

'ServerName' ,

'data a c c e s s ' ,

EXEC

'TRUE'.

:
[@server =]

'server'

,
. , , . @server .
. sysname,
.

Sserver ,
. (, ),
, . ,
, , , .
[Ssrvproduct =]

'product_name'

, . ,
.
Microsoft SQL Server,
'SQL s e r v e r 1 .
(@provider), (gdatasrc), (siocation),
(gprovstr), (gcataiog).
@server SQL
Server 2000 , .
nvarchar (128), NULL.
d

[@provider =]

'provider_name'


OLE DB, . .
, .
. 10.1 ,
SQL Server 2000. Sprovider nvarchar (128), NULL.

285

10.

.
HKEY_CURRENT
USER\Software\ Microsoft\Microsoft SQL Server\80\DTS\ Enumeration\OLEDBProviders.

10.1. , SQL Server 2000


Sprovider

Microsoft OLE DB Provider


for SQL Server

SQLOLEDB

SQL Server

Microsoft OLE DB Provider


for DTS Packages

DTSPackageDSO

,
DTS

SQL Server Replication OLE


DB Provider for DTS

SQLReplication.OLEDB

MSDataShape

MSDataShape

OLE DB Provider for Microsoft ADsDSOObject


Directory Services



,
Active Directory Windows 2000

Microsoft OLE DB Provider


for OLAP Services 8.0

MSOLAP


OLAP, SQL Server 2000

Microsoft OLE DB Provider


for Internet Publishing

MSDAIPP.DSO

Microsoft OLE DB Provider


for Microsoft Search

Microsoft Search
Collator data source

Microsoft Search

Microsoft OLE DB Provider


for ODBC Drivers

MSDASQL


ODBC

Microsoft Jet 4.0 OLE DB


Provider

Microsoft.Jet.OLEDB.4.0


,

(mdb, dbf )

Microsoft OLE DB Simple


Provider

MSDAOSP


SQL Server

Microsoft OLE DB Provider


for Oracle

MSDAORA


Oracle

Microsoft OLE DB Provider


for Indexing Service

MSIDXS

OLE DB, , 3.

286

///.

[gdatasrc =] 'data_source'
. SQL Server 2000 NetBIOS , SQL Server 2000. ,

_\_.

' M i c r o s o f t . J e t . O L E D B . 4 . 0 ' .
nvarchar (4000), NULL.
[glocation =] 'location'
. e i o c a t i o n
, . .
. nvarchar (4 000), NULL.
[Sprovstr =] 'provider_string'
, , .
,
. ,
, .
,
, , . , .
. ,
Sprovstr . ,
Enterprise Manager sp_addiinkedserver.
, , dprovstr .
nvarchar (4000), NULL.
[@catalog =] 'catalog'
, .
. ,
SQL Server 2000 Scataiog . sysname, NULL.
, . , s p a d d i i n k e d s e r v e r . SQL Server 2000:
sp_addlinkedserver 'STORAGE\TRELON',

'SQLServer 1

10.

287

. ,
. .

, SQL Server 2000.


, gserver , SQL Server 2000
. gsrvproduct 'SQL server 1 ,
.

,
SQL Server 2000. , 1
Ssrvproduct, 'SQL s e r v e r . gserver. gsrvproduct
SQL Server 2000 ,
1
o r a c l e ' , , , SQL Server 2000. sysservers.

,
, . Oracle:
sp_addlinkedserver gserver = 'Baxus1,
Ssrvproduct = 'Oracle1,
Sprovider = 'MSDAORA',
@datasrc = 'ServerName'

Baxus, Oracle ServerName.


, Oracle,
Baxus .
,
MS Access Jet:
sp_addlinkedserver 'Access_Pubs',
'OLE DB P r o v i d e r for J e t ' ,
'Microsoft.Jet.OLEDB.4.0',
'C:\MSOffice\Access\Samples\Pubs.mdb'

(gdatasrc) , .
SQL
Server 2000,

268

III.

ODBC.
( Sprovstr):
sp_addlinkedserver Sserver = 'JavaLand',
^provider = 'MSDASQL',
Oprovstr = 'DRIVER={SQL Server};SERVER=JL;UID=sa;PWD=;'

JavaLand, ODBC. Sprovstr


ODBC. , ODBC, (SQL server), ,
( J L ) . , SQL Server, .
, sa,
.
. , . .


,
.
. . :
sysservers;
sp linkedservers.

:
SELECT * FROM s y s s e r v e r s

sysservers.
30 , . sp_iinkedservers, . - SELECT,
7 sysservers.
s p h e i p t e x t ,
Transact-SQL, . s p i i n k e d s e r v e r s
Master :
EXEC sp_helptext 'sp_linkedservers'

:
Text
create proc sp_linkedservers as

10.

289

select
SRV_NAME = srvname,
SRV^PROVIDERNAME = providername,
SRV_PRODUCT = srvproduct,
SRV_DATASOURCE = datasource,
SRV_PROVIDERSTRING = providerstring,
SRV_LOCATION = location,
SRV_CAT = catalog
from master.dbo.sysservers
order by 1

, sp_imkedservers,
,
sp_addlinkedserver.


, . SQL Server 2000
. SQL Server 2000 ,
, ( ) . sp_addlinkedsrviogin
sysxlogins Master. ,
.
sysxlogins, , , .

sysxlogins , SQL Server 2000. , SQL Server, .


, SQL Server 2000, syslogins, sysxlogins, s r v i d NULL.
sysxlogins
( ) .
(self mapping).
,
Windows NT, Windows NT.
,
. SQL Server , . -

290

III.

, ( , )
.
(Login failed).
sp_addiinkedsrviogin :
sp_addlinkedsrvlogin [Ormtsrvname -] 'rmtsrvname'
[, [Suseself =] ' u s e s e l f ]
[, [@locallogin =] 'locallogin']
[, [Srmtuser =] 'rmtuser']
[, [Ormtpassword =] 'rmtpassword']

sysadmin Securityadmin.

:
[@rmtsrvname =]

'rmtsrvname'

, . sysservers.
sysname, .

[Ouseself =]

'useself

varchar(8)
TRUE FALSE. TRUE.

TRUE, TO
Windows NT , .
.
. , ,
Windows NT . Srmtuser Ormtpassword, . .
.
FALSE ,
SQL Server. , . , , ,
Srmtuser @rmtpassword.
[Slocallogin =] 'locallogin'

, . name -

10.

291

sysiogins. NULL
SQL Server, Windows NT. Windows NT
SQL Server, Windows NT. SQL Server
. sysname,
NULL.
d

[Srmtuser =]

'rmtuser'

,
. ,
, ,
,
.
, guseseif FALSE.
sysname NULL .
[grmtpassword =]

'rmtpassword'

, . sysname NULL . NULL , . NULL



.
spaddiinkedsrviogin. .
STORAGE\Treicn
Windows NT storage\Administrator:
EXEC sp_addlinkedsrvlogin 'STORAGE\Trelon',
'false1,
1
STORAGE\Administrator',
sa1,
1
[;k.by@[]wb,f&gfhec'

Windows NT sa. Windows NT


Windows NT:
EXEC sp_addlinkedsrvlogin 'STORAGENTrelon',
'true',
1
STORAGE\Administrator'

@locallogin sysxlogins, , . ,
.

292

III.

sa :
EXEC sp_addlinkedsrvlogin 'STORAGE\Trelon',
'false',
'sa',
'sa',
NULL

NULL. ,
.
NULL .


,
. ,
. . SELECT, sp_helplmkedsrvlogin.
,
SELECT,
, . , spjielplinkedsrvlogin.
-
. npi. sp_helplinkedsrviogin, :
sp_helplinkedsrvlogin [[drmtsrvname =] 'rmtsrvname']
[, [Olocallogin =] 'locallogin 1 ]


.
, , @rmtsrvname .
, , e i o c a l l o g i n . @rmtsrvname,
e i o c a i i o g i n .

10.

293

s p h e i p i i n k e d s r v i o g i n ,
. :
Linked Server , ;
Local Login , ;
is self Mapping 1,
Windows NT Windows NT. SQL Server
0;
Remote Login , , Local Login.
Windows NT ( is
self Mapping 1), NULL.
:
EXEC sp_helplinkedsrvlogin

:
Linked Server

Local Login

JM
NULL
DM
NULL
STORAGE
NULL
STORAGE\TRELON
sa
STORAGE\TRELON
STORAGE\Administrator
TRELON
NULL
(6 row(s) affected)

Is Self Mapping Remote Login


0
1
1
0
1
1

NULL
NULL
NULL
sa
NULL
NULL

,
STORAGE\Trelon:
EXEC sp__helplinkedsrvlogin 'STORAGE\Trelon'

:
Linked server

Local Login

STORAGEXTRELON
sa
STORAGEXTRELON
STORAGE\Administrator
(2 row(s) affected)

Is Self Mapping Remote Login


0
1

sa
NULL


.
. sp_droplinkedsrviogin, sysxlogins DELETE.

294

III.

sysxiogins.

, .

sysservers. srvname , .
srvid. ,
:
SELECT srvid, srvname FROM sysservers
, :
srvid

srvname

(5 row(s) affected)
,
, sysxiogins
. ,
, :
SELECT syslogins.name FROM syslogins, sysxiogins
WHERE srvid = 3 AND syslogins.sid = sysxiogins.sid
. (SID, Security Identificator).
DELETE, SID . DELETE
:
DELETE FROM sysxiogins WHERE s r v i d = 3 AND
SID = Ox010500000000000515000000833D2B4 654190E291525AF47F4010000

. . Server Settings
EXEC sp_configure ' a l l o w updates 1 , l. . " Server Settings" 8.
,
sysxiogins . .

10.

295

sp_droplinkedsrvlogin.
,
. :
sp_droplinkedsrvlogin [Srmtsrvname =] 'rmtsrvname',
[Slocallogin =] 'locallogin'
, , . [Srmtsrvname =] 'rmtsrvname'
, . , ,
[Siocallogin =] ' l o c a l l o g i n ' . sysadmin securityadmin.

Windows NT storage\Administrator,
STORAGE\Trelon:
EXEC sp_droplinkedsrvlogin 'STORAGE\trelon', 'STORAGE\Administrator'
.


, ,
, .
( ), , , .

s r v s t a t u s
sysservers. .
. ,
s r v s t a t u s .
. .
sp_serveroption, :
sp_serveroption [@server =] 'server 1 ,
[@optname =] 'option_name',
[Goptvalue =] 'option_value'


sysadmin Setupadmin.

III.

296

.
G [gserver =]

'server'

, . ,
. . srvname sysservers , Sserver. sysname,
.

[@optname =]

'option_name'

, . . 10.2 ,
. varchar(35),
.
10.2.

297

10.

10.2 ()

[goptvalue =]

'option_value'

, , @optname.
TRUE ON , FALSE OFF
. , ,
, c o l l a t i o n name
SQL Server.

. STORAGEXTrelon:
EXEC sp_serveroption 'STORAGEXTrelon', 'data access', 'TRUE'

298

III.

, , :
EXEC sp_serveroption 'STORAGE\Trelon', 'collation compatible', 'ON'


,
. , .

s p d r o p s e r v e r , :
sp_dropserver [gserver =] 'server'
[, [gdroplogins =] { 'droplogins' I NULL}]

@server ,
.
.

( ),

s p d r o p s e r v e r . gdroplogins,
d r o p l o g i n s ' .
, STORAGE\Treion
:
EXEC sp_dropserver 'STORAGE\Trelon',

'droplogins'

Enterprise Manager

Transact-SQL
, , SQL Server 2000
. , , ,
.
(SELECT, UPDATE, DELETE INSERT)

,

. . , ,
.

10,

299


, -
. , . SQL Server 2000 Enterprise Manager,
.

Enterprise Manager - . , , Enterprise Manager ,


.
Enterprise Manager Linked Servers (. 10.12), Security,
.

. 10.12. Linked Servers



Linked Servers . ,

300

III.

, SQL Server 2000.


, , sysservers .

Enterprise Manager , ,
. Enterprise Manager.
Enterprise
Manager .


Enterprise Manager Linked Server Properties - New Linked Server (. 10.13).
Linked Servers
Action New Linked Server.
,
, ,
. General
(. . 10.13),
,
. ,
,

sp addlinkedserver.

, .
Linked server. , . SQL Server 2000.
,
.
gserver,

sp_addlinkedserver.

SQL Server. Server type


, SQL Server 2000.
, Linked server, SQL Server 2000.
NetBIOS , SQL
Server 2000.

10.

301

_\_.
'SQL s e r v e r ' @srvproduct

sp_addiinkedserver. .
Other data source. Server type
, ,
SQL Server. SQL Server 2000. , , SQL Server 2000. Other
data source ,
.
Provider name. OLE DB, .
, , , . , SQL Server 2000, . .
. 10.1.
Product name. ,
. , mdb MS Access.
Ssrvproduct sp_addlinkedserver.
,
. ,
'SQL server' Server type SQL Server. ,
Server type .
Data source. .
Sdatasrc sp_addlinkedserver,
. " ". " Transact-SQL" . , ,
Odatasrc ,
Data source, OLE DB. ,
Microsoft OLE DB Provider for SQL Server,
SQL Server.
Microsoft Jet 4.0 OLE DB Provider,
.

^)

,
, -

III.

302

, . , .

Provider string. , , . .
. " "
. " Transact-SQL".

Location.
. ,
Data source .
Catalog. ,
. . , SQL Server
.

. 10.13. Linked Server


Properties - New Linked Server

. , spaddiinkedserver ,
General.

303

10.


General Linked Server Properties - New Linked
Server (. . 10.13) Provider Options.
Provider Options (. 10.14), . ,
Provider name.

, Provider Options .
. , SQL Server 2000 .

. 10.14. Provider
Options

, Provider Options,
,
. .
Provider Options .
Linked servers using for this provider,
, .
1 1 1207

304

III.

, , , . .
Linked servers using for this provider.

Provider options,
, (Enable)
( ) ( ).
(Name). .
:
Dynamic parameters. , ? . Dynamic parameters SQL Server 2000
,
. IcommandWithParameters.
Nested queries. , . FROM
, SELECT.
Level zero only. , OLE DB .
Allow InProcess. SQL Server 2000.
(UPDATE, INSERT) (text, ntext image).
, .
, SQL Server 2000 .
Non transacted updates.
, .
.
Index as access path. SQL Server 2000 .
Disallow adhoc accesses. OPENROWSET ()
OPENDATASOURCE (). .
.


Enterprise Manager
Security (. 10.15) Linked Server Properties.
, .
, Properties.

10.

305

. 10.15. Security

, . Local Login , .
, , Remote User. Remote Password
.
Impersonate , ,
.
.
For a login not defined in the
list above, connections will, ,
, :
Not be made , , .
Be made without using a security context
. ,
, , .

306

III.

Be made using the login's current security context , .


Be made using the security context , , .
:
Remote login,
, ;

With password ,
Remote login.

. , ,

,
, .


Transact-SQL spserveroption.

. 10.16. Server
Options

10.

307

Enterprise Manager Server


Options (. 10.16) Linked Server Properties.
Server Options ,
.
:
Option Name, .
Value, .
.
. " " . " Transact-SQL"
.


. ,
, . . SQL Server 7.0 , ,
(remote servers).

, , .
. ,
, .
, . , SQL Server 2000
SQL Server.
, . ,

,
.
,
, MS Access, dbf- . .

SQL Server 2000 SQL Server. SQL Server 7.0, .

308

III,

SQL Server 2000 , .


,
. , , .

.
,
sysservers Master. ,
,
. , SQL Server 2000 ,
, .
, . , servA serve, ServA ServB , , , servB
ServA . , servn
servA.

,

.
. ,
(self mapping).
.
.

Transact-SQL
, , .
Transact-SQL.


Transact-SQL
spaddserver, :
sp_addserver [Sserver =] 'server'
[, [Slocal =] 'local']
[, [@duplicate_ok =] 'duplicate_OK']

10.

309

sp_addserver sysadmin Setupadmin.

sp_addserver
SQL Server. ,
, . sp_addlinkectserver,
.
.
[gserver =] 'server'
.
NetBIOS , SQL Server 2000. ,
\_. .
[@11 =]

'local'

SQL Server 2000,


, , , , , . @@SERVERNAME.

SQL Server 2000 . ,


SQL Server 2000 .
[@duplicate_ok =] 'duplicate_OK']
sp_addserver. ,

, sysservers. sysservers. .
@dupiicate_ok

'duplicatejDK 1 ,
1 :
Server: Msg 15028, Level 16, State 1, Line 1
The server '@server' already exists.

310

III.

, ,
, sysservers.
( srvid). 0.
s p a d d s e r v e r giocal, 'LOCAL 1 , s y s s e r v e r s 0. ,
.
. 0 , @server SQL
Server 2000. , , .
SQL Server 2000 sysservers :
USE master
UPDATE s y s s e r v e r s SET srvname = 'NewServerName' WHERE s r v i d = 0

SQL Server 2000 . ,


. ,
.
SQL Server 2000 ,
. ,
. , SQL Server 2000 STORAGE\Trelon, :
SELECT * FROM [STORAGE\Trelon].pubs..authors

STORAGE\Train :
UPDATE m a s t e r . . s y s s e r v e r s SET srvname = ' S t o r a g e \ T r a i n ' WHERE s r v i d = 0


:
SELECT * FROM [STORAGE\Train].pubs..authors

, . , . ,
SQL Server 2000, -
, .
.
, . ,
. sysservers,

10.

311

, , .
, . , . SQL Server 2000 ,
sysservers
. ,
, , .
sp_addserver, . JL:
EXEC sp_addserver '.JL
NULL,
'duplicate_ok'


,
. ,
SQL Server 2000.
SQL Server 2000 , .
. OLE DB ,
, . OLE DB , .
, .
. , , .
, .

,
. . . -

312

III.

, , , . SQL Server 2000 , .



, , sysxlogins Master.
,

sp_addiinkedsrviogin,
. " " .
, , ,
. , .

SQL Server 2000 , Windows NT , . . s p _ a d a l i n k e d s r v l o g i n guseself, TRUE. ,


.


, . . ,
. , .
(

, . , ,
, ,
. , , ,
, ,
. . .
, ,
:
Server: Msg 11, Level 16, State 1, Line 1
General network e r r o r . Check your network documentation.

10.

313

Server: Msg 7221, Level 18, State 2, Line 1


Could not relay results of procedure 'ProcName' from remote server 'ServerName' .

:
sp_addremotelogin [Sremoteserver =] 'remoteserver'
[, i@loginame =] 'login']
[, [Sremotename =J 'remote_name']

sysadmin Securityadmin.
.
[Sremoteserver =] 'remoteserver'
, . sysservers. ,
.

[@loginame

=]

'login']

, .
,
sysxiogins . sioginame, Sremotename,

.
[Sremotename =]

'remote_name']

, .
,
Casper sa .
EXEC sp__addremotelogin 'STORAGE',
'Casper',
sa'
, ,
.

. , . ,

314

III.

sysxiogins .
@rmtuser .
,
, .
,
.
s p a d d r e m o t e i o g i n

Sremotename .
, .

, @rmtuser
Sremotename, ,
Srmtpassword sp_addlinkedsrvlogin,
( sioginame sp addremotelogin)
.

,
, . .
,
Windows NT. sp_addiinkedsrvlogin @useseif FALSE,
, . . ,
.

^)

. , . ,
. - . , s p s q i e x e c ,
.

. :

10.

315

sp_addlinkedsrvlogin ' STORAGEXTrelon',


'false',
'STORAGE\Administrator',
'RandomName',

, sa
.

:
sp_addremotelogin
' sa',
1
RandomName'

'STORAGE',


, ,
,

sp_helplinkedsrvlogin, . " " . " " ,


.
sp_heiprenrotelogin,
,
. :
sp_helpremotelogin [[Sremoteserver =]
[, [gremotename =] 'remote_name']

'remoteserver']


.
,
@remoteserver .

, ,
Sremotename.
sp_heipremoteiogin ,
. :
server , ;
locai_user_name ,
;

III.

316

remote_user_name , , ;
options , .
,
.
EXEC sp_helpremot.elogin

:
server

! user name

remote user name

STORAGE
STORAGE
STORAGE
JL
DM

sa

Administrator
RandomName
STOPAGE\Administrator
RandomName
RandomName

sa
sa
Casper
Casper

options

@remoteserve, 'STORAGE' , :
server

local user name

remote user name

STORAGE
STORAGE
STORAGE

sa

sa

Admi n i s t r at
RandomName
STORAGE\Admin i s trat

options

@remotename:
EXEC sp_helpremotelogin NULL , 'RandomName1

:
server

local_user_name

remote_user_name

STORAGE
JL
DM

sa
Casper
Casoer

RandomName
RandomName
RandomName

options

sp_neipremoteiogin sysremotelogins,
sysxiogins. sysremotelogins
sysxiogins.
. ,
, sp_helpremotelogin.
sysremotelogins :
remoteserverid , .
, srvid sysservers;

10.

317

remoteusername ,
;
s t a t u s .
small i n t . ,
, . ;
sid (SID) , ,
remoteusername. SID
SUSER_SID ( ' LoginName ' ) ;

changedate .
, . ,
.


, ,
.
- sp_remoteoption, :
sp_remoteoption [[Sremoteserver =]
[, [@loginame =] 'loginame']
[, [@remotename =] 'remotename']
[, t@optname =] 'optname']
[, [goptvalue =1 'optvalue'i

'remoteserver'1

~~)

sysadmin Securityadmin.
.
U [@remoteserver =] 'remoteserver1
, . ,
. ,
. . srvname sysservers.

[Ologiname =]

'loginame 1

, , .
.
eioginame
.

318

III.
[gremotename =]

'remotename'

, .
spaddremotelogin,
.
[goptname =]

'optname'

, . , , . ' t r u s t e d ' .
.
' t r u s t e d ' (@optvaiue='TRUE'), . , , , ,
, .
(goptvalue='FALSE')
.
,
.
CJ [goptvalue =] 'optvalue'

TRUE, , FALSE, .
, STORAGE RandomName,
sa, :
sp_remoteoption 'STORAGE',
'sa',
'RandomName',
goptname = 'trusted',
goptvalue = 'TRUE'


, , sp_droplinkedsrviogin. . " " . " " .
spdropremoteiogin, :
sp_dropremotelogin [@remoteserver =]
[, [gloginame =] ' l o g i n ' ]
[, [gremotename =] 'remote name']

'remoteserver'

10,

319

sysadmin Securityadmin.
, , . @remoteserver,
, . aioginame
,
. , @remotename , .

Windows NT Casper, STORAGE:
EXEC sp_dropremotelogin gremoteserver = 'STORAGE',
Sremotename = 'Casper'
.


, . , , . , ,
, .
,
, . , sp dropserver.
.

.
, SQL Server 2000 . ,
.

Enterprise Manager
,
, -

320

III.

. ,
. , .
Linked Server Properties - New Linked Server. Enterprise Manager .

Remote Servers (. 10.17),
Security .
Remote Server Properties (. 10.18),
New Remote Server
Remote Servers Action.

. 10.17. Remote Servers


Name SQL Server 2000,
. NetBIOS , SQL Server 2000. . ,

321

10.

. , Name. ,
.

. 10.18. Remote
Seiver Properties

,
SQL Server.
.
RPC,

(RPC, Remote Procedure Call).
Remote login mapping , ,
.
Map all remote logins to
(. . ,
, ). , , . <Same Name>. , ,
,

322

III.

. , , , .
.
.
.

, .
Map remote logins to different local
logins
, Name. Remote Login Name , -
. .
Local Login Name , .
,
.
Check Password , .
, , .
.

11



.
, ,
.
.
.
.
,
. , , , DB2,
Paradox, MS Excel, dBase . .

,
.
. ,
. ,
.
. SQL Server 2000
,
. , ,
,
. SQL Server,
, , .
SQL Server 2000 , . SQL Server 6.x , . ,
, .
SQL
Server 2000, . SQL Server 2000
Microsoft , SQL Server 2000.

324

III.

,
SQL Server 2000
.


SQL Server 2000
.
, .
.
SQL Server 2000 , .
SQL Server 2000 .
, SQL Server 2000. ,
. ,
MS Excel, xls-.
(

, " ". ,
.
SQL Server 2000 , . ,
, .
. , , ,
. , SQL Server 2000
, . , , .
/ . SQL Server 2000 .
, SQL Server 6.x SQL Server 2000
. SQL Server 2000.
,
. , SQL

11.

325

Server 2000, , . SQL Server 2000.


.
5.


SQL Server 2000
. . , SQL Server 2000 , .
:
Data Transformation Services (DTS). SQL
Server 2000
DTS. . "
Data Transformation Services" .
Bulk Copy API.
,
. " " .
.
14.
SQL Server.
, -
SQL Server 2000. SQL Server 6.x
SQL Server 7.0.
Distributed Query. , .
(remote query).
SELECT INTO. , .
. SELECT INTO , .
INSERT. . ,
, . . .
, ,

326

III.

. . . 11.1
.
11.1.

DTS

BULK
INSERT

ODBC

OLE DB

*
*

*
*

ODBC

OLE DB

*
*
*

*
*

Transact SQL

SELECT
INTO/
INSERT

*
*

DTS .
bcp.exe, BULK INSERT SELECT INTO/INSERT

SQLServerAgent. , DTS SQLServerAgent.


.
OLE DB.
ODBC-.
OLE DB .
OLE DB Microsoft , DB-Library, -

11.

327

API . Microsoft
ODBC, , OLE DB,
:
ISAM/VSAM ;
;
, ;
- .
Universal Access , Universal Server,
,
. , . . ,
. ,
. Universal Access , .
.
,
. SQL Server OLE DB ,
. OLE DB ""
.
SQL Server 2000 OLE DB 2.0, API . OLE DB
,
. OLE DB
, . . .
SQL Server 2000 OLE DB,
.
OLE DB
.

SQL Server 2000 OLE DB. SQL Server 2000 ODBC. ODBC , , MS Excel MS Access.
ODBC SQL Server 2000
OLE DB OLE DB Provider for ODBC. OLE DB ODBC,
.

328

III.


SQL Server 2000 .
Oracle, MS Access,
dBase . , "" , . , -
, , -
, . . ,
.
.
, .
, . , SQL Server 2000, . , ,
, , .
SQL Server 2000 ,
Unicode.

, .
SQL Server 2000
:
D bcp.exe (Bulk Copy Program);

Transact-SQL BULK

INSERT;

DTS.
.

Data Transformation Service



.
, .

. ,
.
,
. , ,
-

11.

329

. , .
, ANSI SQL-92,
. , . , ,
, .
Microsoft , Data Transformation Services
, DTS Transformation Engine.
, DTS. ,
"" ,
. , Oracle DTS- ANSI SQL,
Oracle. DTS Transformation Engine . , .
DTS ,
, Microsoft Excel. ,
OLE DB provider for ODBC , ODBC-, Sybase Informix. DTS
, OLE DB,
. Microsoft
,
.
Data Transformation Services
.
DTS , . DTS .
,
, ,
. Data Transformation Services . SQL Server 2000
, .
. DTS JavaScript.
VBScript PerlScript.
DTS , . SQL Server 2000,
. -

330

III.

,

- . DTS "" .
.
DTS
, . ,
SQL Server 2000,
: , , , . . ,
, .

DTS
, ,
, ,
, .

(package). DTS :

Connections objects. OLE DB,


. SQL Server 2000
. Connections objects :

File connections. .

, (ANSI
Unicode). ,
.

Data Source Connections.


, DTS . ,
. . SQL Server 2000,
Paradox, dBase, MS Access 2000, Oracle,
MS Excel, HTML, ODBC, . ., , OLE DB.

Microsoft Data link Connections.


, DTS,
OLE DB,
Microsoft Data Link Connections.
udl. , , .
Task Objects. DTS ,
. (tasks). , -

11.

331

. Task Objects :

. Data
Driven Query Task, Transform Data Task ParallelDataPump Task Objects.
. Microsoft ActiveX.

.
SQL Server Objects Task, Execute SQL Task Bulk Insert Task.
. , , , ,

, .

DTS.
ActiveX Script Task, Dynamic Properties Task, Execute Package Task, File
Transfer Protocol Task, Execute Process Task Send Mail Task.
, ,
.
, . , .
.

Step Objects. ,
. (precedence constraints),
. ,
,
. ,
.
, TaskA TaskB,
, TaskA
,
TaskB.

(Unconditional) . TaskB
, TaskA. ,
, .

(On Success) TaskB ,


TaskA .
, , TaskA
, TaskB . ,
, , . .
.

332

III.

(On Failure) , TaskB


TaskA. , ,
.
DTS DTS Import
and Export Wizard DTS Designer. DTS Wizard, SQL , . DTS Query
Builder .
, , , . , , .
.
, DTS,
DTS Designer .
, ActiveX. ,
. Task-objects . DTS Designer ,
. .
, DTS , -.

.
SQL Server. , DTS- , ,
.
SQL Server
Msdb, Microsoft Repository - .
DTS Microsoft Repository
. MS Repository
, .
, .
, . , Open Information Model,
Microsoft Repository.

11.

333

SQL Server . DTS


SQLServerAgent, Enterprise Manager dtsrun.exe. Data Transformation
Services ,

. ,
, , .
, . , ,
Task-objects. DTS
ActiveX ( VBScript, JavaScript PerlScript),
, SQL ,
,
. , . , . DTS -, .

Data Driven Query Task. .
, ,
.
ActiveX . Data Driven Query Task , . -
,
.
,
.
, . , , .
Data Driven Query Task Data Transformation Lookups,
. ID ,
, Data Transformation Lookups ActiveX
ID -.
- .

334

III.


, DTS Connection-objects.
OLE DB,
, , . OLE DB
. DTS Designer MS Access,
FoxPro, MS Excel, SQL Server, Oracle, Paradox, dBase .
, Microsoft Data Link Other Connections, .
.

, DTS- Step-objects.
,
,
DTS- .
, TaskB
, TaskA .
, TaskB
TaskA. ,
. , .
. ,
.
,
. , Oracle Paradox.
DTS Data Pump,
OLE DB Service Provider, , . DTS Data Pump -, ,
OLE DB. DTS Data Pump OLE DB . . Data Pump ActiveX, , .
ActiveX OLE . , DTS . Data Pump, OLE DB . , .

. DTS Data Pump ,
.

11.

335

SQL Server 2000 ActiveX Data Objects 2.0 (ADO),


OLE Automation OLE DB (Visual Basic, Visual J,
C++) (VBScript, JavaScript, PerlScript).
ADO.
DTS DTS Objects Transfer,
.

SQL Server 2000. . DTS- DTS
Objects Transfer
Transact-SQL -.
- SQL-DMO ODBC, OLE DB.
SQL-DMO.
, ,
, , , , ,
, ,
. , .
,
. DTS , . , , , .
DTS Wizard,
DTS Designer. DTS Wizard Transfer SQL Server
Objects, , .
. ,
.
, , DTS Wizard DTS Designer .
DTS.

DTS Export Import Wizard


, ,
, .
DTS .
, . DTS Import Wizard DTS Export
Wizard, . ,
12 . 1207

336

III.


. ,
. , , ( ).
, ,
. ,
DTS, ,
. , . MS Excel,
. ,
.



:
Run a Wizard Enterprise Manager.
Select Wizard (. 11.1), . DTS Data
Transformation Services.
. Select Wizard ,
Tools Wizards.
, Programs (),
Microsoft SQL Server Import and Export Data.
dtswiz Run ( ) (. 11.2), Run () .

DTS Import Export Wizard dtswiz.exe,


\Program Files\Microsoft SQL Server\80\Tools\BINN. , . .
PATH, , . Run ( )
dtswiz, .
, ( ),
(. 11.3), .
DTS Import/Export Wizard ,
.

11.

337

. 11.2. Run

. 11.1. Select Wizard

. 11.3. DTS Import/Export Wizard

, , DTS Import/Export
Wizard, ,

III.

338

. .

Enterprise Manager,
Enterprise Manager (task bar)
. ,
d t s w i z ,
. Enterprise Manager
.



. (. 11.4)
Next. Choose a Data Source,
.

. 11.4. Choose a Data Source DTS Import/Export Wizard

Source, OLE DB
. , ,
, .
.
. 11.4 Microsoft
OLE DB Provider for SQL Server.

11.

339

DTS Designei.
,
SQL
Server 2000:
dBase - V, III IV;
(txt);
MS Excel (csv);
MS Access ( mdb);
dBase ( dbf);
MS Excel ( xls) 35, 972000;
Paradox ( db) 3.x, 4.x 5.x;
Visual FoxPro;
Oracle;
SQL Server;
;
OLAP Services 8.0;
ODBC.
SQL Server (. . Microsoft OLE
DB Provider for SQL Server),
:
Server.
SQL Server, .
, . , .

SQL Server 2000 Windows 98 Server , . .


.
Use Windows NT authentication. , SQL Server
Server, , . DTS , , ,
Windows NT, Windows NT SQL
Server .
Use SQL Server authentication. SQL Server. :

III.

340

Username , Server .
;

Password ,
.

Database. , . Server,
,
Database , . ( ),
.
<default>.
,
, .
Database . .
Refresh, .
Advanced.
Advanced Connection Properties (. 11.5),
.
,
.
.

. 11.5. Advanced Connection Properties

11.

341

,
Source OLE DB.
SQL Server.


, , (. 11.6). Choose a destination, .
, .

. 11.6. Choose a destination DTS Import/Export Wizard



,
. ,
, . SQL Server 2000 (. . Microsoft OLE DB Provider
for SQL Server) , Database
<new>, SQL
Server , .
Database <new> Create
Database (. 11.7),
.

III.

342

, , ,
, .
.

. 11.7. Create Database


Name ,
.
. , Name,
, .
, Default data directory (
mdf ndf) Default log directory ( ldf)
Database Settings . Database Settings . " Database Settings" 8.
Create Database () . ( Data file
size), ( Log file size). Model ,
10% .
,
.
.


, ,
.
(. 11.8) ,
.
Specify Table Copy or Query, "
".

11.

343

. 11.8. Specify Table Copy or Query DTS Import/Export Wizard

,
:
Copy table(s) and view(s) from the source database. ,
.
, .
,
ActiveX. ,
, .
.
Use a query to specify the data to transfer.
. ,
Query Builder. , .
.
,
.
Copy objects and data between SQL Server databases.
,
. ,
.

, , SQL Server. . 11.8.

344

III.
, . SQL Server,
.

, , ,
.
, .



Copy table(s)
and view(s) from the source database,
. Next,
, , . 11.9.

. 11.9. Select Source Tables and Views


DTS Import/Export Wizard

Select Source Tables and Views,


".
, , . Source

11.

345

, ,
.
, .
,
.
Destination ,

, . Destination , .
,
, . , ,
.
Column Mappings,
Transformations, and Constraints (. 11.10), Transform ^ 1 .
. .

. 11.10. Column Mappings, Transformations, and Constraints


Column Mappings, Transformations, and Constraints , . ,

346

III.

. , . Source
( ), Destination , .
.

Column Mappings, Transformations, and Constraints.

Column Mappings
Column Mappings (. . 11.10)
.
. , :
Create destination table.
,
. ,
. . ,
, .
,
. , Drop and recreate destination table, .
, ,
, . , .
Delete rows in destination table. - (, , , . .),
,
, - .
, , . ,
, . . DTS
. , ,
, -

11.

347

, .
Append rows to destination table. , , ,
.
, . .
. ,
DTS ,
. ,
.
. , , . .
, , . ,
. , .

, , , ,
.
Enable
identity insert,
-. - , IDENTITY.
,
. . - .
, -, . , .
() , -
IDENTITY, () , .

. , , , . ,

. .

348

III.

,
, . , , . -
-. , ,
, , .

, .
, . ,
. .
Enable
identity insert, , .
,
IDENTITY.

(~

^)

. . -
,
IDENTITY SET IDENTITY_INSERT.

Column Mappings Mappings, .


. "-", . .
. :
D Source. , .
, .
, <ignore>. ,
(
Destination) NULL, ( ) .
. ,
NULL, TO
Source <ignore>
.

11.

349

Source column, . , NULL.


.
Destination. , .
Source, Destination (
,
Source), .
.
Source, Destination
<ignore>. ,
, , .
. ,
. ,
, . ,
. . , . ,
,
. , s m a i l i n t i n t smalimoney money.
Nullable ,
NULL
.
Size. . ,
(char, varchar, nchar nvarchar), Size
, . , .
( t i n y i n t , smailint, i n t b i g i n t ) ,
(smalldatetime datetime), (smalimoney money)
.
Precision. (numeric,
decimal, f l o a t r e a l )
, .
Precision (

350

III.

),
.
Scale. . , . Scale
Precision . ,
, Precision Scale.

, 26.
Mappings,
. ,
. , . ,
Mappings. , Create destination table Drop and
recreate destination table, , , Mappings.

Mappings Transact-SQL, .
Constraints.
Mappings
. Source .
. , , .

Transformations

Transformations (. 11.11).

,
:
Copy the source columns directly to the destination columns.

11.

351

- . , .
Transform information as it is copied to the destination. , .
.

. 1 1 . 1 1 . Column Mappings, Transformations,


and Constraints, Transformations

.
.
,
.

ActiveX VBScript (Visual Basic scripting language) JavaScript (Java scripting
language). ,
, Language
.
. .

VBScript JavaScript SQL


Server 2000. PerlScript.

III.

352

,
, Mappings
Column Mappings.
, . ,
. Browse.


ActiveX, . . , .

Constraints
Constraints (. 11.12), , . , .
, Column Mappings Create destination table.
Drop and recreate destination table.

. 11.12. Column Mappings, Transformations,


and Constraints, Constraints

11.

353

:
Create Primary Key. , ,
. Create Table
Statement Alter Table Statement.
Create Foreign Keys. , , .

, ,
. :
At Create Time. , ( )
. .
, , .
After data transformation.
, . , , . ,
( At
Create Time). ,
. , . .
, FOREIGN KEY ( ). ,
,
.
. ,
.
ALTER TABLE, .
, :
Create Table Statement. CREATE TABLE, .
Create Primary Key Create Foreign Keys At Create Time , ,
. CREATE TABLE,

III.

354

, , Mappings Column Mappings.


. ,
. Create
Table Statement ,
Auto Generate, .
Alter Table Statement. ALTER
TABLE, .
,
(Create Primary Key Create Foreign Keys), a
After data
transformation ( ).
, ,
.
,
(, UNIQUE,
) .

CREATE
21.

TABLE ALTER

TABLE

. 1 1 . 1 3 . View Data

Constraints Column Mappings,


Transformations, and Constraints . ,
. (Save, schedule, and replicate package) DTS,
.

11.

355

, . Save, schedule, and replicate package . " " . Select


Source Tables and Views (. . 11.9) Preview, View Data (. 11.13). , .
,
.




.
, . , . , , .
Use a query to specify the data to transfer. ,
(. . 11.8).
, Next,
, , . 11.14.

. 11.14. Type SQL Statement DTS Import/Export Wizard


Query statement, ,
. -

356

III.

, .

(~

,
, . ,
.
, Query Builder
. Browse, .
Parse . ,
,
, . , , , .
Parse.

SELECT,
, 29.
, ,
Query
Builder, , .
Query Builder ,
DTS Import/Export Wizard. Query Builder, . Query Builder.


Query Builder (. . 15) Select Columns, " ". , , .
.

SELECT.

Source tables , . , . ,'


, -

11.

357

> .
Selected columns, . ,
. , . -
Selected columns , <. .
Selected columns ,
.

. 11.15. Query Builder

,
Selected columns, .


(. 11.I6) Specify Sort Order,
" ".
,
.
, , . Selected columns,
, .
,
Selected columns Sorting order.

III.

358

. 11.16. Query Builder

ORDER
SELECT, .
Sorting order , . Sorting order .
, , .
, , . . ,
Sorting order,
.
Sorting order Move Up Move Down, , ,
.
, Sorting order
, ,
.

, Sorting order .
, ,
.

11.

359


, (. 11.17