home *** CD-ROM | disk | FTP | other *** search
/ 95.86.62.111 / 95.86.62.111.tar / 95.86.62.111 / sql2000 / INSTALL / u_tables.sql < prev    next >
Text File  |  2000-07-04  |  55KB  |  1,547 lines

  1.  
  2. /*
  3. ** U_Tables.CQL    --- 1996/09/16 12:22
  4. ** Copyright Microsoft, Inc. 1994 - 2000
  5. ** All Rights Reserved.
  6. */
  7.  
  8. go
  9. use master
  10. go
  11. backup tran master with no_log
  12. go
  13. set nocount on
  14. go
  15.  
  16. declare @vdt varchar(99)
  17. select  @vdt = convert(varchar,getdate(),113)
  18. raiserror('Starting u_Tables.SQL at  %s',0,1,@vdt) with nowait
  19. raiserror('This file creates all the ''SPT_'' tables.',0,1)
  20. go
  21.  
  22. --------------------------------------
  23. exec sp_MS_upd_sysobj_category 1
  24. go
  25. --------------------------------------
  26.  
  27. if object_id('spt_monitor','U') IS NOT NULL
  28.     begin
  29.     print 'drop table spt_monitor ....'
  30.     drop table spt_monitor
  31.     end
  32.  
  33. if object_id('spt_values','U') IS NOT NULL
  34.     begin
  35.     print 'drop table spt_values ....'
  36.     drop table spt_values
  37.     end
  38.  
  39. --------------------------------------------------
  40. if object_id('spt_fallback_usg','U') IS NOT NULL
  41.     begin
  42.     print 'drop table spt_fallback_usg ....'
  43.     drop table spt_fallback_usg
  44.     end
  45.  
  46. if object_id('spt_fallback_dev','U') IS NOT NULL
  47.     begin
  48.     print 'drop table spt_fallback_dev'
  49.     drop table spt_fallback_dev
  50.     end
  51.  
  52. if object_id('spt_fallback_db','U') IS NOT NULL
  53.     begin
  54.     print 'drop table spt_fallback_db'
  55.     drop table spt_fallback_db
  56.     end
  57. go
  58.  
  59. backup tran master with no_log
  60. go
  61.  
  62.  
  63.  
  64. ------------------------------------------------------------------
  65. ------------------------------------------------------------------
  66.  
  67.  
  68. raiserror(15339,-1,-1,'spt_monitor')
  69. go
  70.  
  71. create table spt_monitor
  72. (
  73.     lastrun        datetime    NOT NULL,
  74.     cpu_busy    int        NOT NULL,
  75.     io_busy        int        NOT NULL,
  76.     idle        int        NOT NULL,
  77.     pack_received    int        NOT NULL,
  78.     pack_sent    int        NOT NULL,
  79.     connections    int        NOT NULL,
  80.     pack_errors    int        NOT NULL,
  81.     total_read    int        NOT NULL,
  82.     total_write     int        NOT NULL,
  83.     total_errors     int        NOT NULL
  84. )
  85. go
  86.  
  87.  
  88. ---------------------------------------
  89.  
  90. raiserror(15339,-1,-1,'spt_values')
  91. go
  92. create table spt_values
  93. (
  94. name    nvarchar(35)        NULL,
  95. number    int        NOT NULL,
  96. type    nchar(3)        NOT NULL, --Make these unique to aid GREP (e.g. SOP, not SET or S).
  97. low    int            NULL,
  98. high    int            NULL,
  99. status    int            NULL  DEFAULT 0
  100. )
  101. go
  102.  
  103.  
  104. print ''
  105. print 'create indexes on spt_values ....'
  106. go
  107.  
  108. -- 'J','S','P' (maybe 'Z' too?)  challenge uniqueness.
  109. create Unique Clustered index spt_valuesclust on spt_values(type ,number ,name)
  110. go
  111.  
  112. create Nonclustered index ix2_spt_values_nu_nc on spt_values(number, type)
  113. go
  114.  
  115.  
  116. ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+
  117.  
  118. raiserror(15339,-1,-1,'spt_fallback_db')
  119. go
  120. create table spt_fallback_db
  121.    (
  122.     xserver_name           character varying(30)      not null
  123.    ,xdttm_ins              datetime                   not null
  124.    ,xdttm_last_ins_upd     datetime                   not null
  125.    ,xfallback_dbid         smallint                       null
  126.  
  127.    ,name                   character varying(30)      not null
  128.    ,dbid                   smallint                   not null
  129.    ,status                 smallint                   not null
  130.    ,version                smallint                   not null
  131.    )
  132. go
  133.  
  134. /****
  135. --Nice-to-have the uniqueness check, but extra 16 Mb in master db too precious.
  136. create unique Clustered
  137.    index    idx1
  138.    on       spt_fallback_db
  139.       (
  140.        xserver_name
  141.       ,name
  142.       )
  143. --g o
  144. ****/
  145.  
  146. ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+
  147.  
  148. raiserror(15339,-1,-1,'spt_fallback_dev')
  149. go
  150. create table spt_fallback_dev
  151.    (
  152.     xserver_name           character varying(30)      not null
  153.    ,xdttm_ins              datetime                   not null
  154.    ,xdttm_last_ins_upd     datetime                   not null
  155.    ,xfallback_low          integer                        null
  156.    ,xfallback_drive        character(2)                   null
  157.  
  158.    ,low                    integer                    not null
  159.    ,high                   integer                    not null
  160.    ,status                 smallint                   not null
  161.    ,name                   character varying(30)      not null
  162.    ,phyname                character varying(127)     not null
  163.    )
  164. go
  165.  
  166. /****
  167. create unique Clustered
  168.    index    idx1
  169.    on       spt_fallback_dev
  170.       (
  171.        xserver_name
  172.       ,name
  173.       )
  174. --g o
  175. ****/
  176.  
  177. ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+
  178.  
  179. raiserror(15339,-1,-1,'spt_fallback_usg')
  180. go
  181. create table spt_fallback_usg
  182.    (
  183.     xserver_name           character varying(30)      not null
  184.    ,xdttm_ins              datetime                   not null
  185.    ,xdttm_last_ins_upd     datetime                   not null
  186.    ,xfallback_vstart       integer                        null
  187.  
  188.    ,dbid                   smallint                   not null
  189.    ,segmap                 integer                    not null
  190.    ,lstart                 integer                    not null
  191.    ,sizepg                 integer                    not null
  192.    ,vstart                 integer                    not null
  193.    )
  194. go
  195.  
  196. /****
  197. create unique Clustered
  198.    index    idx1
  199.    on       spt_fallback_usg
  200.       (
  201.        xserver_name
  202.       ,dbid
  203.       ,lstart
  204.       )
  205. --go
  206. ****/
  207.  
  208.  
  209. ------------------------------------------------------------------
  210. ------------------------------------------------------------------
  211.  
  212. raiserror('Grant Select on spt_ ....',0,1)
  213. go
  214.  
  215. grant select on spt_values  to public
  216. grant select on spt_monitor to public
  217.  
  218. grant select on spt_fallback_db to public
  219. grant select on spt_fallback_dev to public
  220. grant select on spt_fallback_usg to public
  221. go
  222.  
  223.  
  224.  
  225. ------------------------------------------------------------------
  226. ------------------------------------------------------------------
  227.  
  228.  
  229. raiserror('Insert into spt_monitor ....',0,1)
  230. go
  231.  
  232. insert into spt_monitor
  233.     select
  234.     lastrun = getdate(),
  235.     cpu_busy = @@cpu_busy,
  236.     io_busy = @@io_busy,
  237.     idle = @@idle,
  238.     pack_received = @@pack_received,
  239.     pack_sent = @@pack_sent,
  240.     connections = @@connections,
  241.     pack_errors = @@packet_errors,
  242.     total_read = @@total_read,
  243.     total_write = @@total_write,
  244.     total_errors = @@total_errors
  245. go
  246.  
  247.  
  248.  
  249. -- Caution, 'Z  ' is used by sp_helpsort, though no 'Z  ' rows are inserted by this file.
  250.  
  251. print ''
  252. print 'Insert into spt_values ....'
  253. go
  254.  
  255. raiserror('Insert spt_values.type=''A  '' ....',0,1)
  256. go
  257. insert into spt_values (name, number, type)
  258.     values ('rpc', 1, 'A')
  259. insert into spt_values (name, number, type)
  260.     values ('pub', 2, 'A')
  261. insert into spt_values (name, number, type)
  262.     values ('sub', 4, 'A')
  263. insert into spt_values (name, number, type)
  264.     values ('dist', 8, 'A')
  265. insert into spt_values (name, number, type)
  266.     values ('dpub', 16, 'A')
  267. insert into spt_values (name, number, type)
  268.     values ('rpc out', 64, 'A')
  269. insert into spt_values (name, number, type)
  270.     values ('data access', 128, 'A')
  271. insert into spt_values (name, number, type)
  272.     values ('collation compatible', 256, 'A')
  273. insert into spt_values (name, number, type)
  274.     values ('system', 512, 'A')
  275. insert into spt_values (name, number, type)
  276.     values ('use remote collation', 1024, 'A')
  277. insert into spt_values (name, number, type)
  278.     values ('lazy schema validation', 2048, 'A')
  279. -- NOTE: PLEASE UPDATE ntdbms\include\systabre.h WHEN USING
  280. --  ADDITIONAL SYSSERVER STATUS BITS! (enum ESrvStatusBits)
  281. go
  282.  
  283.  
  284. raiserror('Insert spt_values.type=''B  '' ....',0,1)
  285. go
  286. insert spt_values (name, number, type)
  287.     values ('YES OR NO', -1, 'B')
  288. insert spt_values (name, number, type)
  289.     values ('no', 0, 'B')
  290. insert spt_values (name, number, type)
  291.     values ('yes', 1, 'B')
  292. insert spt_values (name, number, type)
  293.     values ('none', 2, 'B')
  294. go
  295.  
  296. -- NOTE: spt_values.name when type = 'C' CANNOT BE LONGER THAN 30 CHARS!
  297. -- (otherwise it breaks TPCC master.exe)
  298. raiserror('Insert spt_values.type=''C  '' ....',0,1)
  299. go
  300. insert spt_values(name, number, type)
  301.         values ('CONFIGURATION OPTIONS', 0, 'C') -- 1=Dynamic, 2=Advanced
  302.  
  303. insert spt_values(name, number, type, low, high,status)
  304.     values ('recovery interval (min)', 101, 'C', 0, 32767 ,0)
  305.  
  306. insert spt_values(name, number, type, low, high,status)
  307.     values ('allow updates', 102, 'C', 0, 1 ,0)
  308.  
  309. insert spt_values(name, number, type, low, high,status)
  310.     values ('user connections', 103, 'C', 0, @@max_connections ,0)
  311.  
  312. insert spt_values(name, number, type, low, high,status)
  313.     values ('locks', 106, 'C', 5000, 2147483647 ,0)
  314.  
  315. insert spt_values(name, number, type, low, high,status)
  316.     values ('open objects', 107, 'C', 0, 2147483647 ,0)
  317.  
  318. insert spt_values(name, number, type, low, high,status)
  319.     values ('fill factor (%)', 109, 'C', 0, 100 ,0)
  320.  
  321. insert spt_values(name, number, type, low, high,status)
  322.     values ('nested triggers', 115, 'C', 0, 1 ,0)
  323.  
  324. insert spt_values(name, number, type, low, high,status)
  325.     values ('remote access', 117, 'C', 0, 1 ,0)
  326.  
  327. insert spt_values(name, number, type, low, high,status)
  328.     values ('default language', 124, 'C', 0, 9999 ,0)
  329.  
  330. insert into spt_values(name, number, type, low, high,status)
  331.     values ('max worker threads', 503, 'C', 32, 32767 ,0)
  332.  
  333. insert spt_values(name, number, type, low, high,status)
  334.     values ('network packet size (B)', 505, 'C', 512, 65536 ,0)
  335.  
  336. insert spt_values(name, number, type, low, high,status)
  337.     values ('show advanced options', 518, 'C', 0, 1 ,0)
  338.  
  339. insert into spt_values (name ,number ,type ,low ,high ,status)
  340.     values ('remote proc trans', 542, 'C', 0, 1, 0)
  341.  
  342. insert spt_values(name, number, type, low, high,status)
  343.     values ('c2 audit mode', 544, 'C', 0, 1 ,2)
  344.  
  345. insert spt_values (name, number, type, low, high,status)
  346.     values ('default full-text language', 1126, 'C', 0, 2147483647, 0)
  347.  
  348. insert spt_values (name, number, type, low, high,status)
  349.     values ('two digit year cutoff', 1127, 'C', 1753, 9999, 0)
  350.  
  351. insert spt_values(name, number, type, low, high,status)
  352.     values ('index create memory (KB)', 1505, 'C', 704, 2147483647 ,0)
  353.  
  354. insert spt_values(name, number, type, low, high,status)
  355.     values ('priority boost', 1517, 'C', 0, 1 ,0)
  356.  
  357. insert spt_values(name, number, type, low, high,status)
  358.     values ('remote login timeout (s)', 1519, 'C', 0, 2147483647 ,0)
  359.  
  360. insert spt_values(name, number, type, low, high,status)
  361.     values ('remote query timeout (s)', 1520, 'C', 0, 2147483647 ,0)
  362.  
  363. insert into spt_values(name, number, type, low, high,status)
  364.     values ('cursor threshold', 1531, 'C', -1, 2147483647 ,0)
  365.  
  366. insert spt_values(name, number, type, low, high,status)
  367.     values ('set working set size', 1532, 'C', 0, 1 ,0)
  368.  
  369. insert spt_values(name, number, type, low, high,status)
  370.     values ('user options'  --Most on/off style SET options
  371.           ,1534, 'C', 0
  372.           ,0x7fff ,1)
  373.  
  374. insert spt_values(name, number, type, low, high,status)
  375.     values ('affinity mask', 1535, 'C', 0, 2147483647, 0)
  376.  
  377. insert spt_values(name, number, type, low, high,status)
  378.     values ('max text repl size (B)', 1536, 'C', 0, 2147483647, 0)
  379.  
  380. insert spt_values(name, number, type, low, high,status)
  381.     values ('media retention', 1537, 'C', 0, 365 ,0)
  382.  
  383. insert spt_values(name, number, type, low, high,status)
  384.     values ('cost threshold for parallelism', 1538, 'C', 0, 32767, 0)
  385.  
  386. insert spt_values(name, number, type, low, high,status)
  387.     values ('max degree of parallelism', 1539, 'C', 0, 32, 0)
  388.  
  389. insert spt_values(name, number, type, low, high,status)
  390.     values ('min memory per query (KB)', 1540, 'C', 512, 2147483647, 0)
  391.  
  392. insert spt_values(name, number, type, low, high,status)
  393.     values ('query wait (s)', 1541, 'C', -1, 2147483647, 0)
  394.  
  395. insert spt_values(name, number, type, low, high,status)
  396.     values ('min server memory (MB)', 1543, 'C', 0,  2147483647, 0)
  397.  
  398. insert spt_values(name, number, type, low, high,status)
  399.     values ('max server memory (MB)', 1544, 'C', 4,  2147483647, 0)
  400.  
  401. insert spt_values(name, number, type, low, high,status)
  402.     values ('query governor cost limit', 1545, 'C', 0,  2147483647, 0)
  403.  
  404. insert spt_values(name, number, type, low, high,status)
  405.     values ('lightweight pooling', 1546, 'C', 0,  1, 0)
  406.  
  407. insert spt_values(name, number, type, low, high,status)
  408.     values ('scan for startup procs', 1547, 'C', 0,  1, 0)
  409.  
  410. insert spt_values(name, number, type, low, high,status)
  411.     values ('awe enabled', 1548, 'C', 0,  1, 0)
  412. go
  413.  
  414. insert spt_values(name, number, type, low, high,status)
  415.     values ('affinity64 mask', 1549, 'C', 0, 2147483647, 0)
  416. go
  417. -- types 'D'(sysdatabase.status) and 'DC'(sysdatabase.category)
  418. -- and 'D2'(sysdatabases.status2) are options settable by sp_dboption
  419.  
  420. raiserror('Insert spt_values.type=''D  '' ....',0,1)
  421. go
  422. ---- If you add a bit here make sure you add the value to the value of the ALL SETTABLE DB status option if it is settable with sp_dboption.
  423.  
  424. insert spt_values (name, number, type)
  425.     values ('DATABASE STATUS', 0, 'D')
  426. --These bits come from sysdatabases.status.
  427. insert spt_values (name, number, type)
  428.     values ('autoclose', 1, 'D')
  429. insert spt_values (name, number, type)
  430.     values ('select into/bulkcopy', 4, 'D')
  431. insert spt_values (name, number, type)
  432.     values ('trunc. log on chkpt.', 8, 'D')
  433. insert spt_values (name, number, type)
  434.     values ('torn page detection', 16, 'D')
  435. insert spt_values (name, number, type)
  436.     values ('loading', 32, 'D')  -- Had been "don't recover".
  437. insert spt_values (name, number, type)
  438.     values ('pre recovery', 64, 'D') -- not settable
  439. insert spt_values (name, number, type)
  440.     values ('recovering', 128, 'D') -- not settable
  441. insert spt_values (name, number, type)
  442.     values ('not recovered', 256, 'D')  -- suspect - not settable
  443. insert into spt_values(name, number, type, low, high)
  444.     values ('offline', 512, 'D', 0, 1)
  445. insert spt_values (name, number, type)
  446.     values ('read only', 1024, 'D')
  447. insert spt_values (name, number, type)
  448.     values ('dbo use only', 2048, 'D')
  449. insert spt_values (name, number, type)
  450.     values ('single user', 4096, 'D')
  451. insert spt_values (name, number, type)
  452.     values ('emergency mode', 32768, 'D') -- not settable
  453. insert spt_values (name, number, type)
  454.     values ('autoshrink',  4194304, 'D')
  455. insert spt_values (name, number, type) -- not settable
  456.     values ('missing files',  0x40000, 'D')
  457. insert spt_values (name, number, type) -- not settable
  458.     values ('cleanly shutdown',  0x40000000, 'D')
  459. insert spt_values (name, number, type)
  460.     values ('ALL SETTABLE OPTIONS', 4202013, 'D')
  461. go
  462.  
  463.  
  464. insert spt_values (name, number, type)
  465.     values ('DATABASE OPTIONS', 0, 'D2')
  466. --These bits come from sysdatabases.status2.
  467. insert spt_values (name, number, type)
  468.     values ('numeric roundabort', 0x800, 'D2')
  469. insert spt_values (name, number, type)
  470.     values ('arithabort', 0x1000, 'D2')
  471. insert spt_values (name, number, type)
  472.     values ('ANSI padding', 0x2000, 'D2')
  473. insert spt_values (name, number, type)
  474.     values ('ANSI null default', 0x4000, 'D2')
  475. insert spt_values (name, number, type)
  476.     values ('concat null yields null', 0x10000, 'D2')
  477. insert spt_values (name, number, type)
  478.     values ('recursive triggers', 0x20000, 'D2')
  479. insert spt_values (name, number, type)
  480.     values ('default to local cursor',  0x100000, 'D2')
  481. insert spt_values (name, number, type)
  482.     values ('quoted identifier', 0x800000, 'D2')
  483. insert spt_values (name, number, type)
  484.     values ('auto create statistics', 0x1000000, 'D2')
  485. insert spt_values (name, number, type)
  486.     values ('cursor close on commit', 0x2000000, 'D2')
  487. insert spt_values (name, number, type)
  488.     values ('ANSI nulls', 0x4000000, 'D2')
  489. insert spt_values (name, number, type)
  490.     values ('ANSI warnings', 0x10000000, 'D2')
  491. insert spt_values (name, number, type) -- not user settable
  492.     values ('full text enabled', 0x20000000, 'D2')
  493. insert spt_values (name, number, type)
  494.     values ('auto update statistics', 0x40000000, 'D2')
  495.  
  496.  
  497.  
  498. -- Sum of bits of all settable DB status options,
  499. -- update when adding such options or modifying existing options to be settable.
  500. insert spt_values (name, number, type)
  501.     values ('ALL SETTABLE OPTIONS', 1469267968|0x800|0x1000|0x2000, 'D2')
  502. go
  503.  
  504. raiserror('Insert spt_values.type=''DC '' ....',0,1)
  505. go
  506. ---- If you add a bit here make sure you add the value to the value of the ALL SETTABLE DB category option if it is settable with sp_dboption.
  507.  
  508. insert spt_values (name, number, type)
  509.     values ('DATABASE CATEGORY', 0, 'DC')
  510.  
  511. --These bits come from sysdatabases.category.
  512. insert spt_values (name, number, type)
  513.     values ('published', 1, 'DC')
  514. insert spt_values (name, number, type)
  515.     values ('subscribed', 2, 'DC')
  516. insert spt_values (name, number, type)
  517.     values ('merge publish', 4, 'DC')
  518.  
  519. --These are not settable by sp_dboption
  520. insert spt_values (name, number, type)
  521.     values ('Distributed', 16, 'DC')
  522.  
  523. --Sum of bits of all settable options, update when adding such options or modifying existing options to be settable.
  524. insert spt_values (name, number, type)
  525.     values ('ALL SETTABLE OPTIONS', 7, 'DC')
  526. go
  527.  
  528. --UNDONE: Are these obsolete?
  529. --raiserror('Insert spt_values.type=''DBV'' ....',0,1)
  530. --go
  531. --insert into spt_values (name ,number ,type,low,high)
  532. --    values ('SYSDATABASES.VERSION', 0, 'DBV',-1,-1) --- dbcc getvalue('current_version') into @@error
  533. --insert into spt_values (name ,number ,type,low,high)
  534. --    values ('4.2' ,199307 ,'DBV',1,1)  --WinNT version
  535. --insert into spt_values (name ,number ,type,low,high)
  536. --    values ('6.0' ,199506 ,'DBV',400,406) --Betas thru Release range was 400-406.
  537. --insert into spt_values (name ,number ,type,low,high)
  538. --    values ('6.5' ,199604 ,'DBV',407,408) --First beta already had 408.
  539.  
  540. --declare @dbver int
  541. --dbcc getvalue('current_version')
  542. --select @dbver = @@error
  543. --insert into spt_values (name ,number ,type,low,high)
  544. --    values ('7.0' ,199707 ,'DBV',409 ,@dbver)
  545. --go
  546.  
  547.  
  548.  
  549. raiserror('Insert spt_values.type=''E  '' ....',0,1)
  550. go
  551. --Set the machine type
  552. --spt_values.low is the number of bytes in a page for the particular machine.
  553. insert spt_values (name, number, type, low)
  554.     values ('SQLSERVER HOST TYPE', 0, 'E', 0)
  555. go
  556. --Set the platform specific entries.
  557. --spt_values.low is the number of bytes in a page.
  558. insert into spt_values (name, number, type, low)
  559.     values ('WINDOWS/NT', 1, 'E', 8192)
  560.  
  561. /* Value to set and clear the high bit for int datatypes for os/2.
  562. ** Would like to enter -2,147,483,648 to avoid byte order issues, but
  563. ** the server won't take it, even in exponential notation.
  564. */
  565. insert into spt_values (name, number, type, low)
  566.     values ('int high bit', 2, 'E', 0x80000000)
  567.  
  568. /* Value which gives the byte position of the high byte for int datatypes for
  569. ** os/2.  This value was changed from 4 (the usual Intel 80x86 order) to 1
  570. ** when binary convert routines were changed to reverse the byte order.  So
  571. ** this value is accurate ONLY when ints are converted to binary datatype.
  572. */
  573. insert into spt_values (name, number, type, low)
  574.     values ('int4 high byte', 3, 'E', 1)
  575. go
  576.  
  577.  
  578. raiserror('Insert spt_values.type=''F  '' ....',0,1)
  579. go
  580. insert spt_values (name, number, type)
  581.     values ('SYSREMOTELOGINS TYPES', -1, 'F')
  582. insert spt_values (name, number, type)
  583.     values ('', 0, 'F')
  584. insert spt_values (name, number, type)
  585.     values ('trusted', 1, 'F')
  586. go
  587. insert spt_values (name, number, type)
  588.     values ('SYSREMOTELOGINS TYPES (UPDATE)', -1, 'F_U')
  589. insert spt_values (name, number, type)
  590.     values ('', 0, 'F_U')
  591. insert spt_values (name, number, type)
  592.     values ('trusted', 16, 'F_U')
  593. go
  594.  
  595.  
  596.  
  597. raiserror('Insert spt_values.type=''G  '' ....',0,1)
  598. go
  599. insert spt_values (name, number, type)
  600.     values ('GENERAL MISC. STRINGS', 0, 'G')
  601. insert spt_values (name, number, type)
  602.     values ('SQL Server Internal Table', 0, 'G')
  603. go
  604.  
  605.  
  606. raiserror('Insert spt_values.type=''I  '' ....',0,1)
  607. go
  608. insert spt_values (name, number, type)
  609.     values ('INDEX TYPES', 0, 'I')
  610. insert spt_values (name, number, type)
  611.     values ('nonclustered', 0, 'I')
  612. insert spt_values (name, number, type)
  613.     values ('ignore duplicate keys', 1, 'I')
  614. insert spt_values (name, number, type)
  615.     values ('unique', 2, 'I')
  616. insert spt_values (name, number, type)
  617.     values ('ignore duplicate rows', 4, 'I')
  618. insert spt_values (name, number, type)
  619.     values ('clustered', 16, 'I')
  620. insert spt_values (name, number, type)
  621.     values ('hypothetical', 32, 'I')
  622. insert spt_values (name, number, type)
  623.     values ('statistics', 64, 'I')
  624. insert spt_values (name, number, type)
  625.     values ('auto create', 8388608, 'I')
  626. insert spt_values (name, number, type)
  627.         values ('stats no recompute', 16777216, 'I')
  628.  
  629. --ref integ
  630. insert into spt_values (name, number, type, low, high)
  631.     values ('primary key', 2048, 'I', 0, 1)
  632. insert into spt_values (name, number, type, low, high)
  633.     values ('unique key', 4096, 'I', 0, 1)
  634. go
  635.  
  636.  
  637. --Adding listing of physical types that are compatible.
  638. raiserror('Insert spt_values.type=''J  '' ....',0,1)
  639. go
  640. insert spt_values (name, number, type)
  641.     values ('COMPATIBLE TYPES', 0, 'J')
  642. insert spt_values (name, number, low, type)
  643.     values ('binary', 1, 45, 'J')
  644. insert spt_values (name, number, low, type)
  645.     values ('varbinary', 1, 37, 'J')
  646. insert spt_values (name, number, low, type)
  647.     values ('bit', 2, 50, 'J')
  648. insert spt_values (name, number, low, type)
  649.     values ('char', 3, 47, 'J')
  650. insert spt_values (name, number, low, type)
  651.     values ('varchar', 3, 39, 'J')
  652. insert spt_values (name, number, low, type)
  653.     values ('datetime', 4, 61, 'J')
  654. insert spt_values (name, number, low, type)
  655.     values ('datetimn', 4, 111, 'J')
  656. insert spt_values (name, number, low, type)
  657.     values ('smalldatetime', 4, 58, 'J')
  658. insert spt_values (name, number, low, type)
  659.     values ('float', 5, 62, 'J')
  660. insert spt_values (name, number, low, type)
  661.     values ('floatn', 5, 109, 'J')
  662. insert spt_values (name, number, low, type)
  663.     values ('real', 5, 59, 'J')
  664. insert spt_values (name, number, low, type)
  665.     values ('int', 6, 56, 'J')
  666. insert spt_values (name, number, low, type)
  667.     values ('intn', 6, 38, 'J')
  668. insert spt_values (name, number, low, type)
  669.     values ('smallint', 6, 52, 'J')
  670. insert spt_values (name, number, low, type)
  671.     values ('tinyint', 6, 48, 'J')
  672. insert spt_values (name, number, low, type)
  673.     values ('money', 7, 60, 'J')
  674. insert spt_values (name, number, low, type)
  675.     values ('moneyn', 7, 110, 'J')
  676. insert spt_values (name, number, low, type)
  677.     values ('smallmoney', 7, 122, 'J')
  678. go
  679.  
  680.  
  681. --?!?! obsolete, old syskeys table.
  682. raiserror('Insert spt_values.type=''K  '' ....',0,1)
  683. go
  684. insert spt_values (name, number, type)
  685.     values ('SYSKEYS TYPES', 0, 'K')
  686. insert spt_values (name, number, type)
  687.     values ('primary', 1, 'K')
  688. insert spt_values (name, number, type)
  689.     values ('foreign', 2, 'K')
  690. insert spt_values (name, number, type)
  691.     values ('common', 3, 'K')
  692. go
  693.  
  694.  
  695. raiserror('Insert spt_values.type=''L  '' ....',0,1)
  696. -- See also 'SFL' type.
  697. go
  698. insert spt_values(name, number, type)
  699.   values ('LOCK TYPES', 0, 'L')
  700. insert spt_values(name, number, type)
  701.   values ('NULL', 1, 'L')
  702. insert spt_values(name, number, type)
  703.   values ('Sch-S', 2, 'L')
  704. insert spt_values(name, number, type)
  705.   values ('Sch-M', 3, 'L')
  706. insert spt_values(name, number, type)
  707.   values ('S', 4, 'L')
  708. insert spt_values(name, number, type)
  709.   values ('U', 5, 'L')
  710. insert spt_values(name, number, type)
  711.   values ('X', 6, 'L')
  712. insert spt_values(name, number, type)
  713.   values ('IS', 7, 'L')
  714. insert spt_values(name, number, type)
  715.   values ('IU', 8, 'L')
  716. insert spt_values(name, number, type)
  717.   values ('IX', 9, 'L')
  718. insert spt_values(name, number, type)
  719.   values ('SIU', 10, 'L')
  720. insert spt_values(name, number, type)
  721.   values ('SIX', 11, 'L')
  722. insert spt_values(name, number, type)
  723.   values ('UIX', 12, 'L')
  724. insert spt_values(name, number, type)
  725.   values ('BU', 13, 'L')
  726. insert spt_values(name, number, type)
  727.   values ('RangeS-S', 14, 'L')
  728. insert spt_values(name, number, type)
  729.   values ('RangeS-U', 15, 'L')
  730. insert spt_values(name, number, type)
  731.   values ('RangeIn-Null', 16, 'L')
  732. insert spt_values(name, number, type)
  733.   values ('RangeIn-S', 17, 'L')
  734. insert spt_values(name, number, type)
  735.   values ('RangeIn-U', 18, 'L')
  736. insert spt_values(name, number, type)
  737.   values ('RangeIn-X', 19, 'L')
  738. insert spt_values(name, number, type)
  739.   values ('RangeX-S', 20, 'L')
  740. insert spt_values(name, number, type)
  741.   values ('RangeX-U', 21, 'L')
  742. insert spt_values(name, number, type)
  743.   values ('RangeX-X', 22, 'L')
  744. go
  745.  
  746. -- Lock Resources.
  747. --
  748. raiserror('Insert spt_values.type=''LR '' ....',0,1)
  749. go
  750. insert spt_values(name, number, type)
  751.   values ('LOCK RESOURCES', 0, 'LR')
  752. insert spt_values(name, number, type)
  753.   values ('NUL', 1, 'LR')
  754. insert spt_values(name, number, type)
  755.   values ('DB', 2, 'LR')
  756. insert spt_values(name, number, type)
  757.   values ('FIL', 3, 'LR')
  758. insert spt_values(name, number, type)
  759.   values ('IDX', 4, 'LR')
  760. insert spt_values(name, number, type)
  761.   values ('TAB', 5, 'LR')
  762. insert spt_values(name, number, type)
  763.   values ('PAG', 6, 'LR')
  764. insert spt_values(name, number, type)
  765.   values ('KEY', 7, 'LR')
  766. insert spt_values(name, number, type)
  767.   values ('EXT', 8, 'LR')
  768. insert spt_values(name, number, type)
  769.   values ('RID', 9, 'LR')
  770. insert spt_values(name, number, type)
  771.   values ('APP', 10, 'LR')
  772. go
  773.  
  774. -- Lock Request Status Values
  775. --
  776. raiserror('Insert spt_values.type=''LS '' ....',0,1)
  777. go
  778. insert spt_values(name, number, type)
  779.   values ('LOCK REQ STATUS', 0, 'LS')
  780. insert spt_values(name, number, type)
  781.   values ('GRANT', 1, 'LS')
  782. insert spt_values(name, number, type)
  783.   values ('CNVT', 2, 'LS')
  784. insert spt_values(name, number, type)
  785.   values ('WAIT', 3, 'LS')
  786. go
  787.  
  788. -- Lock Owner Values
  789. --
  790. raiserror('Insert spt_values.type=''LO '' ....',0,1)
  791. go
  792. insert spt_values(name, number, type)
  793.   values ('LOCK REQ STATUS', 0, 'LO')
  794. insert spt_values(name, number, type)
  795.   values ('Xact', 1, 'LO')
  796. insert spt_values(name, number, type)
  797.   values ('Crsr', 2, 'LO')
  798. insert spt_values(name, number, type)
  799.   values ('Sess', 3, 'LO')
  800. go
  801.  
  802. -- --- 'O' in 6.5, but gone in Sphinx (sysobjects.sysstat) OBSOLETE ?!?!
  803. raiserror('Insert spt_values.type=''O  '' ....',0,1)
  804. go
  805. /*
  806. **  These values define the object type.  The number made from the low
  807. **  4 bits in sysobjects.sysstats indicates the type of object.
  808. */
  809. insert spt_values (name, number, type)
  810.     values ('OBJECT TYPES', 0, 'O')
  811. insert spt_values (name, number, type)
  812.     values ('system table', 1, 'O')
  813. insert spt_values (name, number, type)
  814.     values ('view', 2, 'O')
  815. insert spt_values (name, number, type)
  816.     values ('user table', 3, 'O')
  817. insert spt_values (name, number, type)
  818.     values ('stored procedure',4, 'O')
  819. --no number 5
  820. insert spt_values (name, number, type)
  821.     values ('default', 6, 'O')
  822. insert spt_values (name, number, type)
  823.     values ('rule', 7, 'O')
  824. insert spt_values (name, number, type)
  825.     values ('trigger', 8, 'O')
  826. insert spt_values (name, number, type)
  827.     values ('replication filter stored procedure', 12, 'O')
  828. go
  829.  
  830.  
  831.  
  832. -- --- 'O9T' sysobjects.type, for reports like sp_help (violate 1NF in name column).
  833. --     These rows new in 7.0 (old 'O' for sysstat are gone).
  834. --     Use  substring(v.name,1,2)  and  substring(v.name,5,31)
  835. raiserror('Insert spt_values.type=''O9T'' ....',0,1)
  836. go
  837. insert into spt_values (name ,number ,type ,low ,high ,status)
  838.     values ('sysobjects.type, reports'            ,0  ,'O9T' ,0 ,0 ,0)
  839.                  ----+----1----+----2----+----3----+
  840. insert into spt_values (name ,number ,type ,low ,high ,status)
  841.     values ('AP: application'                     ,-1 ,'O9T' ,0 ,0 ,0)
  842. insert into spt_values (name ,number ,type ,low ,high ,status)
  843.     values ('C : check cns'                       ,-1 ,'O9T' ,0 ,0 ,0)
  844. insert into spt_values (name ,number ,type ,low ,high ,status)
  845.     values ('D : default (maybe cns)'             ,-1 ,'O9T' ,0 ,0 ,0)
  846. insert into spt_values (name ,number ,type ,low ,high ,status)
  847.     values ('F : foreign key cns'                 ,-1 ,'O9T' ,0 ,0 ,0)
  848. insert into spt_values (name ,number ,type ,low ,high ,status)
  849.     values ('IF: inline function'                 ,-1 ,'O9T' ,0 ,0 ,0)
  850. insert into spt_values (name ,number ,type ,low ,high ,status)
  851.     values ('L : log'                             ,-1 ,'O9T' ,0 ,0 ,0)
  852. insert into spt_values (name ,number ,type ,low ,high ,status)
  853.     values ('P : stored procedure'                ,-1 ,'O9T' ,0 ,0 ,0)
  854. insert into spt_values (name ,number ,type ,low ,high ,status)
  855.     values ('FN: scalar function'                 ,-1 ,'O9T' ,0 ,0 ,0)
  856. insert into spt_values (name ,number ,type ,low ,high ,status)
  857.     values ('PK: primary key cns'                 ,-1 ,'O9T' ,0 ,0 ,0)
  858. insert into spt_values (name ,number ,type ,low ,high ,status)
  859.     values ('R : rule'                            ,-1 ,'O9T' ,0 ,0 ,0)
  860. insert into spt_values (name ,number ,type ,low ,high ,status)
  861.     values ('RF: replication filter proc'         ,-1 ,'O9T' ,0 ,0 ,0)
  862. insert into spt_values (name ,number ,type ,low ,high ,status)
  863.     values ('S : system table'                    ,-1 ,'O9T' ,0 ,0 ,0)
  864. insert into spt_values (name ,number ,type ,low ,high ,status)
  865.     values ('TF: table function'                  ,-1 ,'O9T' ,0 ,0 ,0)
  866. insert into spt_values (name ,number ,type ,low ,high ,status)
  867.     values ('TR: trigger'                         ,-1 ,'O9T' ,0 ,0 ,0)
  868. insert into spt_values (name ,number ,type ,low ,high ,status)
  869.     values ('U : user table'                      ,-1 ,'O9T' ,0 ,0 ,0)
  870. insert into spt_values (name ,number ,type ,low ,high ,status)
  871.     values ('UQ: unique key cns'                  ,-1 ,'O9T' ,0 ,0 ,0)
  872. insert into spt_values (name ,number ,type ,low ,high ,status)
  873.     values ('V : view'                            ,-1 ,'O9T' ,0 ,0 ,0)
  874. insert into spt_values (name ,number ,type ,low ,high ,status)
  875.     values ('X : extended stored proc'            ,-1 ,'O9T' ,0 ,0 ,0)
  876. go
  877.  
  878.  
  879.  
  880. --Adding bit position information  ''P''  (helpful with sysprotects.columns).
  881. raiserror('Insert spt_values.type=''P  '' ....',0,1)
  882. go
  883. ---- Cannot insert a header/dummy description row for type='P  ' (Bit Position rows).
  884.  
  885. insert spt_values (name ,number ,type ,low ,high ,status) values (null ,0 ,'P  ' ,1 ,0x00000001 ,0)
  886. insert spt_values (name ,number ,type ,low ,high ,status) values (null ,1 ,'P  ' ,1 ,0x00000002 ,0)
  887. insert spt_values (name ,number ,type ,low ,high ,status) values (null ,2 ,'P  ' ,1 ,0x00000004 ,0)
  888. insert spt_values (name ,number ,type ,low ,high ,status) values (null ,3 ,'P  ' ,1 ,0x00000008 ,0)
  889.  
  890. insert spt_values (name ,number ,type ,low ,high ,status) values (null ,4 ,'P  ' ,1 ,0x00000010 ,0)
  891. insert spt_values (name ,number ,type ,low ,high ,status) values (null ,5 ,'P  ' ,1 ,0x00000020 ,0)
  892. insert spt_values (name ,number ,type ,low ,high ,status) values (null ,6 ,'P  ' ,1 ,0x00000040 ,0)
  893. insert spt_values (name ,number ,type ,low ,high ,status) values (null ,7 ,'P  ' ,1 ,0x00000080 ,0)
  894.  
  895. go
  896.  
  897. -- 'P  ' continued....
  898. declare
  899.      @number_track        integer
  900.     ,@char_number_track    varchar(12)
  901.  
  902. select     @number_track        = 7
  903. select     @char_number_track    = convert(varchar,@number_track)
  904.  
  905. while @number_track <= 127
  906.     begin
  907.  
  908.     raiserror('type=''P  '' ,@number_track=%d' ,0,1 ,@number_track)
  909.  
  910.     EXECUTE(
  911.     '
  912.     insert spt_values (name ,number ,type ,low ,high ,status)
  913.       select
  914.          null
  915.  
  916.         ,(select     max(c_val.number)
  917.             from     spt_values    c_val
  918.             where     c_val.type = ''P  ''
  919.             and     c_val.number between 0 and ' + @char_number_track + '
  920.          )
  921.             + a_val.number + 1
  922.  
  923.         ,''P  ''
  924.  
  925.         ,(select     max(b_val.low)
  926.             from     spt_values    b_val
  927.             where     b_val.type = ''P  ''
  928.             and     b_val.number between 0 and ' + @char_number_track + '
  929.          )
  930.             + 1 + (a_val.number / 8)
  931.  
  932.         ,a_val.high
  933.         ,0
  934.         from
  935.          spt_values    a_val
  936.         where
  937.          a_val.type = ''P  ''
  938.         and     a_val.number between 0 and ' + @char_number_track + '
  939.     ')
  940.  
  941.  
  942.     select @number_track = ((@number_track + 1) * 2) - 1
  943.     select @char_number_track = convert(varchar,@number_track)
  944.  
  945.     end --loop
  946.  
  947. go
  948.  
  949.  
  950. --sysobjects.userstat in 6.5 and backward.  Obsolete ?!?!
  951. raiserror('Insert spt_values.type=''R  '' ....',0,1)
  952. go
  953. /*
  954. **  These values translate the object type's userstat bits.  If the high
  955. **  bit is set for a sproc, then it's a report.
  956. */
  957. insert spt_values (name, number, type)
  958.     values ('REPORT TYPES', 0, 'R')
  959. insert spt_values (name, number, type)
  960.     values ('', 0, 'R')
  961. insert spt_values (name, number, type)
  962.     values (' (rpt)', -32768, 'R')
  963. go
  964.  
  965.  
  966.  
  967. raiserror('Insert spt_values.type=''SFL'' ....',0,1)
  968. ---------------------------------------
  969. -- StarFighter Lock Description Strings
  970. ---------------------------------------
  971. go
  972. insert spt_values(name, number, type)
  973.   values ('SF LOCK TYPES', 0, 'SFL')
  974. insert spt_values(name, number, type)
  975.   values ('Extent Lock - Exclusive', 8, 'SFL')
  976. insert spt_values(name, number, type)
  977.   values ('Extent Lock - Update', 9, 'SFL')
  978. insert spt_values(name, number, type)
  979.   values ('Extent Lock - Next', 11, 'SFL')
  980. insert spt_values(name, number, type)
  981.   values ('Extent Lock - Previous', 12, 'SFL')
  982. go
  983.  
  984.  
  985.  
  986. --type=''SOP'' rows for SET Options status info.   See sp_help_setopts, @@options, and config=1534 (''user options'').
  987. raiserror('Insert spt_values.type=''SOP'' ....',0,1)
  988. go
  989. --status&1=1 means configurable via 'user options'.
  990. insert into spt_values (name ,number ,type ,status) values
  991.       ('@@OPTIONS' ,0 ,'SOP' ,0)
  992.  
  993. insert into spt_values (name ,number ,type ,status) values
  994.       ('disable_def_cnst_check'  ,1 ,'SOP' ,1)
  995.  
  996. insert into spt_values (name ,number ,type ,status) values
  997.       ('implicit_transactions'   ,2 ,'SOP' ,1)
  998.  
  999. insert into spt_values (name ,number ,type ,status) values
  1000.       ('cursor_close_on_commit'  ,4 ,'SOP' ,1)
  1001.  
  1002. insert into spt_values (name ,number ,type ,status) values
  1003.       ('ansi_warnings'           ,8 ,'SOP' ,1)
  1004.  
  1005. insert into spt_values (name ,number ,type ,status) values
  1006.       ('ansi_padding'            ,16 ,'SOP' ,1)
  1007.  
  1008. insert into spt_values (name ,number ,type ,status) values
  1009.       ('ansi_nulls'              ,32 ,'SOP' ,1)
  1010.  
  1011. insert into spt_values (name ,number ,type ,status) values
  1012.       ('arithabort'              ,64 ,'SOP' ,1)
  1013.  
  1014. insert into spt_values (name ,number ,type ,status) values
  1015.       ('arithignore'             ,128 ,'SOP' ,1)
  1016.  
  1017. insert into spt_values (name ,number ,type ,status) values
  1018.       ('quoted_identifier'       ,256 ,'SOP' ,1)
  1019.  
  1020. insert into spt_values (name ,number ,type ,status) values
  1021.       ('nocount'                 ,512 ,'SOP' ,1)
  1022.  
  1023. --Mutually exclusive when ON.
  1024. insert into spt_values (name ,number ,type ,status) values
  1025.       ('ansi_null_dflt_on'       ,1024 ,'SOP' ,1)
  1026. insert into spt_values (name ,number ,type ,status) values
  1027.       ('ansi_null_dflt_off'      ,2048 ,'SOP' ,1)
  1028.  
  1029. insert into spt_values (name ,number ,type ,status) values
  1030.       ('concat_null_yields_null' ,0x1000 ,'SOP' ,1)
  1031.  
  1032. insert into spt_values (name ,number ,type ,status) values
  1033.       ('numeric_roundabort'      ,0x2000 ,'SOP' ,1)
  1034.  
  1035. insert into spt_values (name ,number ,type ,status) values
  1036.       ('xact_abort'                 ,0x4000 ,'SOP' ,1)
  1037. go
  1038.  
  1039.  
  1040. --Adding sysprotects.action AND protecttype values: thus 'T  ' overloaded but just happens to not share any one integer.
  1041. raiserror('Insert spt_values.type=''T  '' ....',0,1)
  1042. go
  1043. insert spt_values(name, number, type)
  1044.   values ('SYSPROTECTS.ACTION', 0, 'T')
  1045. insert spt_values(name, number, type)
  1046.   values ('References', 26, 'T')
  1047. insert spt_values(name, number, type)
  1048.   values ('Create Function', 178, 'T')
  1049. insert spt_values(name, number, type)
  1050.   values ('Select', 193, 'T')          --- action
  1051. insert spt_values(name, number, type)
  1052.   values ('Insert', 195, 'T')  --- Covers BCPin and LoadTable.
  1053. insert spt_values(name, number, type)
  1054.   values ('Delete', 196, 'T')
  1055. insert spt_values(name, number, type)
  1056.   values ('Update', 197, 'T')
  1057. insert spt_values(name, number, type)
  1058.   values ('Create Table', 198, 'T')
  1059. insert spt_values(name, number, type)
  1060.   values ('Create Database', 203, 'T')
  1061.  
  1062. insert spt_values(name, number, type)
  1063.   values ('Grant_WGO', 204, 'T')
  1064. insert spt_values(name, number, type)
  1065.   values ('Grant', 205, 'T')           --- protecttype
  1066. insert spt_values(name, number, type)
  1067.   values ('Deny', 206, 'T')
  1068.  
  1069. insert spt_values(name, number, type)
  1070.   values ('Create View', 207, 'T')
  1071. insert spt_values(name, number, type)
  1072.   values ('Create Procedure', 222, 'T')
  1073. insert spt_values(name, number, type)
  1074.   values ('Execute', 224, 'T')
  1075. insert spt_values(name, number, type)
  1076.   values ('Backup Database', 228, 'T')
  1077. insert spt_values(name, number, type)
  1078.   values ('Create Default', 233, 'T')
  1079. insert spt_values(name, number, type)
  1080.   values ('Backup Transaction', 235, 'T')
  1081. insert spt_values(name, number, type)
  1082.   values ('Create Rule', 236, 'T')
  1083.  
  1084. go
  1085.  
  1086. raiserror('Insert spt_values.type=''V  '' ....',0,1)
  1087. go
  1088. insert spt_values (name, number, type)
  1089.     values ('SYSDEVICES STATUS', 0, 'V')
  1090. insert spt_values (name, number, type)
  1091.     values ('default disk', 1, 'V')
  1092. insert spt_values (name, number, type)
  1093.     values ('physical disk', 2, 'V')
  1094. insert spt_values (name, number, type)
  1095.     values ('logical disk', 4, 'V')
  1096. insert spt_values (name, number, type)
  1097.     values ('skip header', 8, 'V')
  1098. insert spt_values (name, number, type)
  1099.     values ('backup device', 16, 'V')
  1100. insert spt_values (name, number, type)
  1101.     values ('serial writes', 32, 'V')
  1102. insert into spt_values(name, number, type, low, high)
  1103.     values ('read only', 4096, 'V', 0, 1)
  1104. insert into spt_values(name, number, type, low, high)
  1105.     values ('deferred', 8192, 'V', 0, 1)
  1106. go
  1107.  
  1108.  
  1109. -- Values for fixed server roles.
  1110. raiserror('Insert spt_values.type=''SRV'' ...',0,1)
  1111. go
  1112. -- sysadmin
  1113. insert spt_values(name, number, type, low)
  1114.   values ('System Administrators', 16, 'SRV', -1)
  1115. insert spt_values(name, number, type, low)
  1116.   values ('sysadmin', 16, 'SRV', 0)
  1117. insert spt_values(name, number, type, low)
  1118.   values ('Raiserror With Log', 16, 'SRV', 1)
  1119. insert spt_values(name, number, type, low)
  1120.   values ('Constraints on System tables', 16, 'SRV', 2)
  1121. insert spt_values(name, number, type, low)
  1122.   values ('dbcc traceon/off', 16, 'SRV', 3)
  1123. insert spt_values(name, number, type, low)
  1124.   values ('dbcc setioweight', 16, 'SRV', 4)
  1125. insert spt_values(name, number, type, low)
  1126.   values ('dbcc setcpuweight', 16, 'SRV', 5)
  1127. insert spt_values(name, number, type, low)
  1128.   values ('dbcc showoptweights', 16, 'SRV', 6)
  1129. insert spt_values(name, number, type, low)
  1130.   values ('dbcc change ''on'' rules', 16, 'SRV', 7)
  1131. insert spt_values(name, number, type, low)
  1132.   values ('dbcc inputbuffer', 16, 'SRV', 8)
  1133. insert spt_values(name, number, type, low)
  1134.   values ('USE to a suspect database', 16, 'SRV', 9)
  1135. insert spt_values(name, number, type, low)
  1136.   values ('Create/delete/modify system tables', 16, 'SRV', 10)
  1137. insert spt_values(name, number, type, low)
  1138.   values ('Create indices on system tables', 16, 'SRV', 11)
  1139. insert spt_values(name, number, type, low)
  1140.   values ('Complete SETUSER SQL user', 16, 'SRV', 13)
  1141. insert spt_values(name, number, type, low)
  1142.   values ('Add extended procedures', 16, 'SRV', 14)
  1143. insert spt_values(name, number, type, low)
  1144.   values ('Add member to sysadmin', 16, 'SRV', 15)
  1145. insert spt_values(name, number, type, low)
  1146.   values ('sp_altermessage', 16, 'SRV', 16)
  1147. insert spt_values(name, number, type, low)
  1148.   values ('sp_dboption update part', 16, 'SRV', 17)
  1149. insert spt_values(name, number, type, low)
  1150.   values ('sp_updatestats', 16, 'SRV', 18)
  1151. insert spt_values(name, number, type, low)
  1152.   values ('sp_password', 16, 'SRV', 19)
  1153. insert spt_values(name, number, type, low)
  1154.   values ('sp_change_users_login', 16, 'SRV', 20)
  1155. insert spt_values(name, number, type, low)
  1156.   values ('sp_changedbowner', 16, 'SRV', 21)
  1157. insert spt_values(name, number, type, low)    -- backward-compat only
  1158.   values ('sp_adduser', 16, 'SRV', 22)
  1159. insert spt_values(name, number, type, low)
  1160.   values ('BULK INSERT', 16, 'SRV', 23)
  1161. insert spt_values(name, number, type, low)
  1162.   values ('DBCC ShrinkDatabase', 16, 'SRV', 24)
  1163. insert spt_values(name, number, type, low)
  1164.   values ('DBCC ShrinkFile', 16, 'SRV', 25)
  1165. insert spt_values(name, number, type, low)
  1166.   values ('sp_dropremotelogin', 16, 'SRV', 26)
  1167. insert spt_values(name, number, type, low)
  1168.   values ('sp_fulltext_service', 16, 'SRV', 27)
  1169. insert spt_values(name, number, type, low)
  1170.   values ('sp_remoteoption', 16, 'SRV', 28)
  1171. insert spt_values(name, number, type, low)
  1172.   values ('dbcc outputbuffer', 16, 'SRV', 29)
  1173. insert spt_values(name, number, type, low)
  1174.   values ('dbcc checkfilegroup', 16, 'SRV', 30)
  1175. insert spt_values(name, number, type, low)
  1176.   values ('dbcc checkdb', 16, 'SRV', 31)
  1177. insert spt_values(name, number, type, low)
  1178.   values ('dbcc checkident', 16, 'SRV', 32)
  1179. insert spt_values(name, number, type, low)
  1180.   values ('dbcc checktable', 16, 'SRV', 33)
  1181. insert spt_values(name, number, type, low)
  1182.   values ('dbcc dbreindex', 16, 'SRV', 34)
  1183. insert spt_values(name, number, type, low)
  1184.   values ('dbcc proccache', 16, 'SRV', 35)
  1185. insert spt_values(name, number, type, low)
  1186.   values ('dbcc show_statistics', 16, 'SRV', 36)
  1187. insert spt_values(name, number, type, low)
  1188.   values ('dbcc showcontig', 16, 'SRV', 37)
  1189. insert spt_values(name, number, type, low)
  1190.   values ('dbcc pintable', 16, 'SRV', 38)
  1191. insert spt_values(name, number, type, low)
  1192.   values ('dbcc dropcleanbuffers', 16, 'SRV', 39)
  1193.  
  1194. -- securityadmin
  1195. insert spt_values(name, number, type, low)
  1196.   values ('Security Administrators', 32, 'SRV', -1)
  1197. insert spt_values(name, number, type, low)
  1198.   values ('securityadmin', 32, 'SRV', 0)
  1199. insert spt_values(name, number, type, low)
  1200.   values ('sp_grantlogin', 32, 'SRV', 1)
  1201. insert spt_values(name, number, type, low)
  1202.   values ('sp_revokelogin', 32, 'SRV', 2)
  1203. insert spt_values(name, number, type, low)
  1204.   values ('sp_denylogin', 32, 'SRV', 3)
  1205. insert spt_values(name, number, type, low)
  1206.   values ('sp_addlogin', 32, 'SRV', 4)
  1207. insert spt_values(name, number, type, low)
  1208.   values ('sp_droplogin', 32, 'SRV', 5)
  1209. insert spt_values(name, number, type, low)
  1210.   values ('Read the error log', 32, 'SRV', 6)
  1211. insert spt_values(name, number, type, low)
  1212.   values ('Add member to securityadmin', 32, 'SRV', 7)
  1213. insert spt_values(name, number, type, low)
  1214.   values ('Grant/deny/revoke CREATE DATABASE', 32, 'SRV', 8)
  1215. insert spt_values(name, number, type, low)
  1216.   values ('sp_helplogins', 32, 'SRV', 9)
  1217. insert spt_values(name, number, type, low)
  1218.   values ('sp_password', 32, 'SRV', 10)
  1219. insert spt_values(name, number, type, low)
  1220.   values ('sp_defaultdb', 32, 'SRV', 11)
  1221. insert spt_values(name, number, type, low)
  1222.   values ('sp_defaultlanguage', 32, 'SRV', 12)
  1223. insert spt_values(name, number, type, low)
  1224.   values ('sp_addlinkedsrvlogin', 32, 'SRV', 13)
  1225. insert spt_values(name, number, type, low)
  1226.   values ('sp_droplinkedsrvlogin', 32, 'SRV', 14)
  1227. insert spt_values(name, number, type, low)
  1228.   values ('sp_dropremotelogin', 32, 'SRV', 15)
  1229. insert spt_values(name, number, type, low)
  1230.   values ('sp_remoteoption (update)', 32, 'SRV', 16)
  1231.  
  1232. -- serveradmin
  1233. insert spt_values(name, number, type, low)
  1234.   values ('Server Administrators', 64, 'SRV', -1)
  1235. insert spt_values(name, number, type, low)
  1236.   values ('serveradmin', 64, 'SRV', 0)
  1237. insert spt_values(name, number, type, low)
  1238.   values ('RECONFIGURE', 64, 'SRV', 1)
  1239. insert spt_values(name, number, type, low)
  1240.   values ('SHUTDOWN', 64, 'SRV', 2)
  1241. insert spt_values(name, number, type, low)
  1242.   values ('Add member to serveradmin', 64, 'SRV', 3)
  1243. insert spt_values(name, number, type, low)
  1244.   values ('sp_fulltext_service', 64, 'SRV', 4)
  1245. insert spt_values(name, number, type, low)
  1246.   values ('sp_configure', 64, 'SRV', 5)
  1247. insert spt_values(name, number, type, low)
  1248.   values ('sp_tableoption', 64, 'SRV', 6)
  1249. insert spt_values(name, number, type, low)
  1250.   values ('dbcc freeproccache', 64, 'SRV', 7)
  1251.  
  1252. -- setupadmin
  1253. insert spt_values(name, number, type, low)
  1254.   values ('Setup Administrators', 128, 'SRV', -1)
  1255. insert spt_values(name, number, type, low)
  1256.   values ('setupadmin', 128, 'SRV', 0)
  1257. insert spt_values(name, number, type, low)
  1258.   values ('Add member to setupadmin', 128, 'SRV', 1)
  1259. insert spt_values(name, number, type, low)
  1260.   values ('Add/drop/configure linked servers', 128, 'SRV', 2)
  1261. insert spt_values(name, number, type, low)
  1262.   values ('Mark a stored procedure as startup', 128, 'SRV', 3)
  1263.  
  1264. -- processadmin
  1265. insert spt_values(name, number, type, low)
  1266.   values ('Process Administrators', 256, 'SRV', -1)
  1267. insert spt_values(name, number, type, low)
  1268.   values ('processadmin', 256, 'SRV', 0)
  1269. insert spt_values(name, number, type, low)
  1270.   values ('KILL', 256, 'SRV', 1)
  1271. insert spt_values(name, number, type, low)
  1272.   values ('Add member to processadmin', 256, 'SRV', 2)
  1273.  
  1274. -- diskadmin
  1275. insert spt_values(name, number, type, low)
  1276.   values ('Disk Administrators', 512, 'SRV', -1)
  1277. insert spt_values(name, number, type, low)
  1278.   values ('diskadmin', 512, 'SRV', 0)
  1279. insert spt_values(name, number, type, low)
  1280.   values ('DISK INIT', 512, 'SRV', 1)
  1281. insert spt_values(name, number, type, low)
  1282.   values ('Add member to diskadmin', 512, 'SRV', 6)
  1283. insert spt_values(name, number, type, low)
  1284.   values ('sp_addumpdevice', 512, 'SRV', 7)
  1285. insert spt_values(name, number, type, low)
  1286.   values ('sp_diskdefault', 512, 'SRV', 8)
  1287. insert spt_values(name, number, type, low)
  1288.   values ('sp_dropdevice', 512, 'SRV', 9)
  1289.  
  1290. -- dbcreator
  1291. insert spt_values(name, number, type, low)
  1292.   values ('Database Creators', 1024, 'SRV', -1)
  1293. insert spt_values(name, number, type, low)
  1294.   values ('dbcreator', 1024, 'SRV', 0)
  1295. insert spt_values(name, number, type, low)
  1296.   values ('CREATE DATABASE', 1024, 'SRV', 1)
  1297. insert spt_values(name, number, type, low)
  1298.   values ('ALTER DATABASE', 1024, 'SRV', 2)
  1299. insert spt_values(name, number, type, low)
  1300.   values ('Add member to dbcreator', 1024, 'SRV', 3)
  1301. insert spt_values(name, number, type, low)
  1302.   values ('Extend database', 1024, 'SRV', 4)
  1303. insert spt_values(name, number, type, low)
  1304.   values ('sp_renamedb', 1024, 'SRV', 5)
  1305. insert spt_values(name, number, type, low)
  1306.   values ('RESTORE DATABASE', 1024, 'SRV', 6)
  1307. insert spt_values(name, number, type, low)
  1308.   values ('RESTORE LOG', 1024, 'SRV', 7)
  1309. insert spt_values(name, number, type, low)
  1310.   values ('DROP DATABASE', 1024, 'SRV', 8)
  1311. go
  1312.  
  1313. -- bulkadmin
  1314. insert spt_values(name, number, type, low)
  1315.   values ('Bulk Insert Administrators', 4096, 'SRV', -1)
  1316. insert spt_values(name, number, type, low)
  1317.   values ('bulkadmin', 4096, 'SRV', 0)
  1318. insert spt_values(name, number, type, low)
  1319.   values ('BULK INSERT', 4096, 'SRV', 1)
  1320. insert spt_values(name, number, type, low)
  1321.   values ('Add member to bulkadmin', 4096, 'SRV', 1)
  1322. go
  1323.  
  1324.  
  1325. -- Values for fixed db roles.
  1326. raiserror('Insert spt_values.type=''DBR'' ...',0,1)
  1327. go
  1328.  
  1329. -- db_owner
  1330. -- Note: names are nvarchar(35) currently.
  1331. insert spt_values(name, number, type, low)
  1332.   values ('DB Owners', 16384, 'DBR', -1)
  1333. insert spt_values(name, number, type, low)
  1334.   values ('EXECUTE any procedure', 16384, 'DBR', 1)
  1335. insert spt_values(name, number, type, low)
  1336.   values ('sp_change_users_login', 16384, 'DBR', 2)
  1337. insert spt_values(name, number, type, low)
  1338.   values ('Add/drop to/from db_accessadmin', 16384, 'DBR', 3)
  1339. insert spt_values(name, number, type, low)
  1340.   values ('Add/drop to/from db_owner', 16384, 'DBR', 4)
  1341. insert spt_values(name, number, type, low)
  1342.   values ('Add/drop to/from db_securityadmin', 16384, 'DBR', 5)
  1343. insert spt_values(name, number, type, low)
  1344.   values ('Add/drop to/from db_ddladmin', 16384, 'DBR', 6)
  1345. insert spt_values(name, number, type, low)
  1346.   values ('Add/drop to/from db_backupoperator', 16384, 'DBR', 7)
  1347. insert spt_values(name, number, type, low)
  1348.   values ('Add/drop to/from db_datareader', 16384, 'DBR', 8)
  1349. insert spt_values(name, number, type, low)
  1350.   values ('Add/drop to/from db_datawriter', 16384, 'DBR', 9)
  1351. insert spt_values(name, number, type, low)
  1352.   values ('Add/drop to/from db_denydatareader', 16384, 'DBR', 10)
  1353. insert spt_values(name, number, type, low)
  1354.   values ('Add/drop to/from db_denydatawriter', 16384, 'DBR', 11)
  1355. insert spt_values(name, number, type, low)
  1356.   values ('dbcc checkalloc', 16384, 'DBR', 12)
  1357. insert spt_values(name, number, type, low)
  1358.   values ('sp_fulltext_catalog', 16384, 'DBR', 13)
  1359. insert spt_values(name, number, type, low)
  1360.   values ('sp_fulltext_database', 16384, 'DBR', 14)
  1361. insert spt_values(name, number, type, low)
  1362.   values ('sp_fulltext_table', 16384, 'DBR', 15)
  1363. insert spt_values(name, number, type, low)
  1364.   values ('dbcc checkdb', 16384, 'DBR', 16)
  1365. insert spt_values(name, number, type, low)
  1366.   values ('dbcc checkfilegroup', 16384, 'DBR', 17)
  1367. insert spt_values(name, number, type, low)
  1368.   values ('dbcc checkident', 16384, 'DBR', 18)
  1369. insert spt_values(name, number, type, low)
  1370.   values ('dbcc checktable', 16384, 'DBR', 19)
  1371. insert spt_values(name, number, type, low)
  1372.   values ('dbcc dbreindex', 16384, 'DBR', 20)
  1373. insert spt_values(name, number, type, low)
  1374.   values ('dbcc proccache', 16384, 'DBR', 21)
  1375. insert spt_values(name, number, type, low)
  1376.   values ('dbcc show_statistics', 16384, 'DBR', 22)
  1377. insert spt_values(name, number, type, low)
  1378.   values ('dbcc showcontig', 16384, 'DBR', 23)
  1379. insert spt_values(name, number, type, low)
  1380.   values ('dbcc shrinkdatabase', 16384, 'DBR', 24)
  1381. insert spt_values(name, number, type, low)
  1382.   values ('dbcc shrinkfile', 16384, 'DBR', 25)
  1383. insert spt_values(name, number, type, low)
  1384.   values ('sp_refreshview', 16384, 'DBR', 26)
  1385. insert spt_values(name, number, type, low)
  1386.   values ('sp_dbcmptlevel', 16384, 'DBR', 27)
  1387. insert spt_values(name, number, type, low)
  1388.   values ('sp_dboption (update)', 16384, 'DBR', 28)
  1389. insert spt_values(name, number, type, low)
  1390.   values ('dbcc updateusage', 16384, 'DBR', 29)
  1391.  
  1392. -- db_accessadmin
  1393. insert spt_values(name, number, type, low)
  1394.   values ('DB Access Administrators', 16385, 'DBR', -1)
  1395. insert spt_values(name, number, type, low)
  1396.   values ('sp_grantdbaccess', 16385, 'DBR', 1)
  1397. insert spt_values(name, number, type, low)
  1398.   values ('sp_revokedbaccess', 16385, 'DBR', 2)
  1399. insert spt_values(name, number, type, low)
  1400.   values ('sp_dropuser', 16385, 'DBR', 3)
  1401. insert spt_values(name, number, type, low)
  1402.   values ('sp_addalias', 16385, 'DBR', 4)
  1403. insert spt_values(name, number, type, low)
  1404.   values ('sp_dropalias', 16385, 'DBR', 5)
  1405.  
  1406. -- db_securityadmin
  1407. insert spt_values(name, number, type, low)
  1408.   values ('DB Security Administrators', 16386, 'DBR', -1)
  1409. insert spt_values(name, number, type, low)
  1410.   values ('sp_addrolemember', 16386, 'DBR', 1)
  1411. insert spt_values(name, number, type, low)
  1412.   values ('sp_droprolemember', 16386, 'DBR', 2)
  1413. insert spt_values(name, number, type, low)
  1414.   values ('sp_addrole', 16386, 'DBR', 3)
  1415. insert spt_values(name, number, type, low)
  1416.   values ('sp_droprole', 16386, 'DBR', 4)
  1417. insert spt_values(name, number, type, low)
  1418.   values ('GRANT', 16386, 'DBR', 5)
  1419. insert spt_values(name, number, type, low)
  1420.   values ('REVOKE', 16386, 'DBR', 6)
  1421. insert spt_values(name, number, type, low)
  1422.   values ('DENY', 16386, 'DBR', 7)
  1423. insert spt_values(name, number, type, low)
  1424.   values ('sp_addapprole', 16386, 'DBR', 8)
  1425. insert spt_values(name, number, type, low)
  1426.   values ('sp_dropapprole', 16386, 'DBR', 9)
  1427. insert spt_values(name, number, type, low)
  1428.   values ('sp_approlepassword', 16386, 'DBR', 10)
  1429. insert spt_values(name, number, type, low)
  1430.   values ('sp_changeobjectowner', 16386, 'DBR', 11)
  1431. insert spt_values(name, number, type, low)
  1432.   values ('sp_changegroup', 16386, 'DBR', 12)
  1433. insert spt_values(name, number, type, low)
  1434.   values ('sp_dropgroup', 16386, 'DBR', 13)
  1435. insert spt_values(name, number, type, low)
  1436.   values ('sp_addgroup', 16386, 'DBR', 14)
  1437.  
  1438. -- db_ddladmin
  1439. insert spt_values(name, number, type, low)
  1440.   values ('DB DDL Administrators', 16387, 'DBR', -1)
  1441. insert spt_values(name, number, type, low)
  1442.   values ('All DDL but GRANT, REVOKE, DENY', 16387, 'DBR', 1)
  1443. insert spt_values(name, number, type, low)
  1444.   values ('REFERENCES permission on any table', 16387, 'DBR', 2)
  1445. insert spt_values(name, number, type, low)
  1446.   values ('sp_recompile', 16387, 'DBR', 3)
  1447. insert spt_values(name, number, type, low)
  1448.   values ('sp_tableoption', 16387, 'DBR', 4)
  1449. insert spt_values(name, number, type, low)
  1450.   values ('sp_rename', 16387, 'DBR', 5)
  1451. insert spt_values(name, number, type, low)
  1452.   values ('sp_changeobjectowner', 16387, 'DBR', 6)
  1453. insert spt_values(name, number, type, low)
  1454.   values ('sp_fulltext_column', 16387, 'DBR', 7)
  1455. insert spt_values(name, number, type, low)
  1456.   values ('sp_fulltext_table', 16387, 'DBR', 8)
  1457. insert spt_values(name, number, type, low)
  1458.   values ('TRUNCATE TABLE', 16387, 'DBR', 9)
  1459. insert spt_values(name, number, type, low)
  1460.   values ('dbcc show_statistics', 16387, 'DBR', 10)
  1461. insert spt_values(name, number, type, low)
  1462.   values ('dbcc showcontig', 16387, 'DBR', 11)
  1463. insert spt_values(name, number, type, low)
  1464.   values ('dbcc cleantable', 16387, 'DBR', 12)
  1465.  
  1466.  
  1467.  
  1468. -- db_backupoperator
  1469. insert spt_values(name, number, type, low)
  1470.   values ('DB Backup Operator', 16389, 'DBR', -1)
  1471. insert spt_values(name, number, type, low)
  1472.   values ('CHECKPOINT', 16389, 'DBR', 1)
  1473. insert spt_values(name, number, type, low)
  1474.   values ('BACKUP LOG', 16389, 'DBR', 2)
  1475. insert spt_values(name, number, type, low)
  1476.   values ('BACKUP DATABASE', 16389, 'DBR', 3)
  1477.  
  1478.  
  1479. -- db_datareader
  1480. insert spt_values(name, number, type, low)
  1481.   values ('DB Data Reader', 16390, 'DBR', -1)
  1482. insert spt_values(name, number, type, low)
  1483.   values ('SELECT permission on any object', 16390, 'DBR', 1)
  1484.  
  1485. -- db_datawriter
  1486. insert spt_values(name, number, type, low)
  1487.   values ('DB Data Writer', 16391, 'DBR', -1)
  1488. insert spt_values(name, number, type, low)
  1489.   values ('INSERT permission on any object', 16391, 'DBR', 1)
  1490. insert spt_values(name, number, type, low)
  1491.   values ('UPDATE permission on any object', 16391, 'DBR', 2)
  1492. insert spt_values(name, number, type, low)
  1493.   values ('DELETE permission on any object', 16391, 'DBR', 3)
  1494.  
  1495. -- db_denydatareader
  1496. insert spt_values(name, number, type, low)
  1497.   values ('DB Deny Data Reader', 16392, 'DBR', -1)
  1498. insert spt_values(name, number, type, low)
  1499.   values ('No SELECT permission on any object', 16392, 'DBR', 1)
  1500.  
  1501. -- db_denydatawriter
  1502. insert spt_values(name, number, type, low)
  1503.   values ('DB Deny Data Writer', 16393, 'DBR', -1)
  1504. insert spt_values(name, number, type, low)
  1505.   values ('No INSERT permission on any object', 16393, 'DBR', 1)
  1506. insert spt_values(name, number, type, low)
  1507.   values ('No UPDATE permission on any object', 16393, 'DBR', 2)
  1508. insert spt_values(name, number, type, low)
  1509.   values ('No DELETE permission on any object', 16393, 'DBR', 3)
  1510. go
  1511.  
  1512.  
  1513. update statistics spt_values
  1514. go
  1515.  
  1516. ------------------------------------------------------------------
  1517. go
  1518. exec sp_MS_upd_sysobj_category 2
  1519. go
  1520. ------------------------------------------------------------------
  1521.  
  1522. /********
  1523. if object_id('sp_configure','P') IS NOT NULL
  1524.     begin
  1525.         exec sp_configure 'allow updates',0
  1526.         reconfigure with override
  1527.     end
  1528. ********/
  1529. go
  1530.  
  1531. declare @vdt varchar(99)
  1532. select  @vdt = convert(varchar,getdate(),113)
  1533. raiserror('Finishing at  %s',0,1,@vdt)
  1534. go
  1535.  
  1536. backup tran master with no_log
  1537. go
  1538. checkpoint
  1539. go
  1540. print 'End of .SQL file.'
  1541. go
  1542. -- -
  1543.  
  1544.  
  1545.  
  1546.  
  1547.