c)9Ýx01./3==CSSSSSSScccmw)VLHDJca/@@B#IC$"logu\{}Nmssqlsystemresource &nA"A"jaJqG$M /Em;JqG$M /Emc\4 KhQF@eQCu\{}Nmssqlsystemresource &np2p2jaJqG$M /Em;JqG$M /Emc\4 KhQF@eQC@u\{}Nmssqlsystemresource &np2p2jaJqG$M /Em;JqG$M /Emc\4 KhQF@eQCu\{}Nmssqlsystemresource &nA"A"jaJqG$M /Em;JqG$M /EmcxY4 KhQF@eQCQCI` #KLv0`JkbPF J5-= JARc6ASAT AU AV AW  AX AY AZ  A[  A\ A] A^ A_ A`AaAbAcAd AeAf AgAhAiAjAkAlAmAn Ao!Ap"JII@HpGFEE0D`CBA@ @P?>=<<@;p:98807`6543 3P210P00RL6l007;bP08ĹLLF4bPFShrinkFile8F 8F 0 9j>cK)) 01./3==CSSSSSSScccmw)VLHDJca/@ @@B#IC$"log01./3==CSSSSSSScccmw)VLHDJca/@@B#IC$"log0 > P8FbP80^?VƼLF4bPFFileSize>?FK   aj@@?F$%?bP0@P?FbP?0"AWj 5-= AR#ASAATA AUA AVA AWA AXAAYA AZA  A[A  A\A  A]A  A^A A_A A`AAaAAbAAcAAdA AeAAfA AgAAhAAiAAjAAkAAlAAmAAnAAoAApA `ŤPF0` P@p0 ` P@p0ROfP00Pw}A"ŤPA"0 8F 0 QPLF3.PF(DBMgr::ChangeDBState>QF c $@0RfBE>QF cQ O.Pr:0ChangeDBState>QF c $@0zSޓP@RF'%Q.P0 O.Pr:0ChangeDBState>QF c $@0T=QPQF.PQ.P0r:0ChangeDBState>QF c $@0HU= LF3P-F,CREATE/ALTER PROCEDURE>UF  =P>UFt"{ "P00=PP PP Psp_autostats " P*>UF]" "&&=P&sp_autostats " ƹ̠>UF" "&&=P&sp_autostats " K9~>UFz" " =P " [>UF<&< 0=P 8create procedure sys.sp_autostats @tblname nvarchar(776), @flagc varchar(10)=null, @indname sysname=null as begin declare @fag bit, -- no recompute @permit bit, -- locked after permission check? @tabid int, @objtype varchar(2) -- Check flag set @flag = (case lower(@flagc) when 'on' then 0 when 'off' then 1 end) if @flag is null AND @flagc is NOT null begin raiserror(17000,-1,-1) return (1) end -- set NORECOMPUTE mask select @permit = 1 -- Check we are executing in the correct database declare @db sysname select @db = parsename(@tblname, 3) if (@db is NOTnull AND @db <> db_name()) begin raiserror(15387,-1,-1) return (1) end -- VERIFY WE HAVE A USER-TABLE/INDEXED-VIEW BY THIS NAME IN THE DATABASE select @tabid = object_id, @objtype = type from sys.objects where object_id = object_id(@tblname, 'local') and (type = 'U' or type = 'V' or type = 'IT') if (@tabid is null) OR ( @objtype = 'V' AND (ObjectProperty(@tabid, 'IsIndexed') = 0 OR ObjectProperty(@tabid, 'IsMSShipped') = 1) ) begin raiserror(15390,-1,-1,@tblname) return @@error end -- PRINT or UPDATE status? if (@flag is null) begin -- Display global settings (sp_dboption) -- PRINT 'Global statistics settings for ' + quotename(db_name(), '[') + ':' PRINT ' Automatic update statistics: ' + (case when DatabasePropertyEx(db_name(), 'IsAutoUpdateStatistics') = 1 then 'ON' else 'OFF' end) PRINT ' Automatic create statistics: ' + (case when DatabasePropertyEx(db_name(), 'IsAutoCreateStatistics') = 1 then 'ON' else 'OFF' end) PRINT '' -- Display the current status of the index(s) -- PRINT 'settings for table ' + quotename(@tblname, '[') PRINT '' select 'Index Name' = quotename(s.name, '['), 'AUTOSTATS' = case s.no_recompute when 1 then 'OFF' else 'ON' end, 'Last Updated' = stats_date(@tabid, s.stats_id) from sys.stats s where s.object_id = @tabid AND -- Table case -- Match name when @indname is null then 1 when @indname = s.name then 1 else 0 end = 1 end else begin BEGIN TRANSACTION -- Lock the table schema and check permissions EXEC %%Object(MultiName = @tblname).LockMatchID(ID = @tabid, Exclusive = 1, BindInternal = 1) if (@@error <> 0) begin COMMIT TRANSACTION raiserror(15165,-1,-1,@tblname) return @@error end -- Flip the status bits if (@indname is null) -- Match all index begin declare ms_crs_autostat cursor local static for select s.name from sys.stats s left outer join sys.indexes i on s.object_id] = i.[object_id] and s.[stats_id] = i.[index_id] where s.[object_id] = @tabid and isnull(i.is_hypothetical, 0) = 0 open ms_crs_autostat fetch next from ms_crs_autostat into @indname while @@fetch_status = 0 begin EXEC %%StatisticsEx(ObjectID = @tabid, Name = @indname).SetNoRecompute(Value = @flag) fetch next from ms_crs_autostat into @indname end deallocate ms_crs_autostat end else begin if exists(select * from sys.stats whereobject_id = @tabid and name = @indname) EXEC %%StatisticsEx(ObjectID = @tabid, Name = @indname).SetNoRecompute(Value = @flag) else begin COMMIT TRANSACTION raiserror(15323,-1,-1,@tblname) return @@error end end COMMIT TRANSACTION end return(0) -- sp_autostats end  < '8ө>UFk){ )E0-=PE@tblname ) x />UF)R )"6=P"@tblname ) ɮs>U Fk)U)A0-=P A@flagc ) L)>U F)U )6=P@flagc ) s>U Fk)U )E0-=PE@indname ) aX̟>U F)U )"6=P"@indname ) s>U Ft"U"=P " P*>UFt"U" =P " P*PUFPU-XX0X0 [ l  aLF3P;F,CREATE/ALTER PROCEDURE>aF  z>aFt"U"T00zP PP Tsp_updatestats " >aFU"""*=&z*sp_updatetats " eww>aFV!"&"*s&z*sp_updatestats " v{ C>aFz"U" z " ^ >aF<< 0z 8 create procedure sys.sp_updatestats @resample char(8)='NO' as declare @dbsid varbinary(85) select@dbsid = owner_sid from sys.databases where name = db_name() -- Check the user sysadmin if not is_srvrolemember('sysadmin') = 1 and suser_sid() <> @dbsid begin raiserror(15247,-1,-1) return (1) end -- cannot execute against R/O databases if DATABASEPROPERTYEX(db_name(), 'Updateability')=N'READ_ONLY' begin raiserror(15635,-1,-1,N'sp_updatestats') return (1) end if upper(@resample)<>'RESAMPLE' and upper(@resample)<>'NO' begin raiserror(14138, -1, -1, @resample) return (1) end -- required so it can update stats on ICC/IVs set ansi_warnings on set ansi_padding on set arithabort on set concat_null_yields_null on set numeric_roundabort off declare @exec_stmt nvarchar(4000) -- "UPDATE STATISTICS [sysname].[sysname] [sysname] WITH RESAMPLE NORECOMPUTE" declare @exec_stmt_head nvarchar(4000) -- "UPDATE STATISTICS [sysname].[sysname] " declare @options nvarchar(100) -- "RESAMPLE NORECOMPUTE" declare @index_names cursor declare @ind_nae sysname declare @ind_id int declare @ind_rowmodctr int declare @updated_count int declare @skipped_count int declare @sch_id int declare @schema_name sysname declare @table_name sysname declare @table_id int declare @table_type char(2) declare @schema_table_name nvarchar(640) -- assuming sysname is 128 chars, 5x that, so it's > 128*4+4 declare @compatlvl tinyint declare ms_crs_tnames cursor local fast_forward read_only for select name, object_id, schema_id, type from sys.bjects o where o.type = 'U' or o.type = 'IT' open ms_crs_tnames fetch next from ms_crs_tnames into @table_name, @table_id, @sch_id, @table_type -- determine compatibility level select @compatlvl = cmptlevel from sys.sysdatabases where name = db_name() while (@@fetch_status <> -1) -- fetch successful begin -- generate fully qualified quoted name select @schema_name = schema_name(@sch_id) select @schema_table_name = quotename(@schema_name, '[') +'.'+ quotename(rtrim(@table_name), [') -- check for table with disabled clustered index if (1 = isnull((select is_disabled from sys.indexes where object_id = @table_id and index_id = 1), 0)) begin -- raiserror('Table ''%s'': cannot perform the operation on the table because its clustered index is disabled', -1, -1, @tablename) raiserror(15654, -1, -1, @schema_table_name) end else begin -- filter out local temp tables and Hekaton tables -- Note that OBJECTPROPERTY returns NULL on type="IT" tables, thus we nly call it on type='U' tables if ((@@fetch_status <> -2) and (substring(@table_name, 1, 1) <> '#') and -- temp tables ((@table_type<>'U') or (0 = OBJECTPROPERTY(@table_id, 'TableIsInMemory')))) -- Hekaton tables begin -- reset counters for this table select @updated_count = 0 select @skipped_count = 0 -- print status message --raiserror('Updating %s', -1, -1, @schema_table_name) raiserror(15650, -1, -1, @schema_table_name) -- initial statementpreparation: UPDATE STATISTICS [schema].[name] select @exec_stmt_head = 'UPDATE STATISTICS ' + @schema_table_name + ' ' -- using another cursor to iterate through -- indices and stats (user and auto-created) set @index_names = cursor local fast_forward read_only for select name, indid, rowmodctr from sys.sysindexes where id = @table_id and indid > 0 and indexproperty(id, name, 'ishypothetical') = 0 order by indid open @index_names fetch @index_names into ind_name, @ind_id, @ind_rowmodctr -- if there are no stats, skip update if @@fetch_status < 0 --raiserror(' %d indexes/statistics have been updated, %d did not require update.', -1, -1, @updated_count, @skipped_count) raiserror(15651, -1, -1, @updated_count, @skipped_count) else begin while @@fetch_status >= 0 begin -- create quoted index name declare @ind_name_quoted nvarchar(258) select @ind_name_quoted = quotename(@ind_name, '[') -- reset options select @options = '' declare @is_ver_current bit select @is_ver_current = stats_ver_current(@table_id, @ind_id) -- note that <> 0 should work against old and new rowmodctr logic (when it is always > 0) -- also, force a refresh if the stats blob version is not current if ((@ind_rowmodctr <> 0) or ((@is_ver_current is not null) and (@is_ver_current = 0))) begin select @exec_stmt = @exec_stmt_head + @ind_name_quoted - add resample if needed if (upper(@resample)='RESAMPLE') select @options = 'RESAMPLE ' if (@compatlvl >= 90) -- put norecompute if local properties are set to AUTOSTATS = OFF -- note that ind name is unique within the object if ((select no_recompute from sys.stats where object_id = @table_id and name = @ind_name) = 1) begin if (len(@options) > 0) select @options = @options + ', NORECOMPUTE' else select @options = 'NORECOMPUTE' end if (len(@options) > 0) select @exec_stmt = @exec_stmt + ' WITH ' + @options --print @exec_stmt exec (@exec_stmt) --raiserror(' %s has been updated...', -1, -1, @ind_name_quoted) raiserror(15652, -1, -1, @ind_name_quoted) select @updated_count = @updated_count + 1 end else begin --raiserror(' %s, update is not necessary...', -1, -1, @ind_name_quoted) raiserror(15653, -1, -1, @ind_name_quoted) select @skipped_count = @skipped_count + 1 end fetch @index_names into @ind_name, @ind_id, @ind_rowmodctr end --raiserror(' %d index(es)/statistic(s) have been updated, %d did not require update/disabled.', -1, -1, @updated_count, @skipped_count) raiserror(15651, -1, -1, @updated_count, @skipped_count) end deallocate @index_names end end print ' ' fetch next from ms_crs_tnames into @table_name, @table_id, @sch_id, @table_type end raiserrr(15005,-1,-1) deallocate ms_crs_tnames return(0) -- sp_updatestats  < }Yn>aF)i )G0-zG@resample ) c7>aFk)U )$6z$@resample ) " T>a Ft"a"z " a Ft"a " z " qF  >qFa%" "T00P ~P~P Tsp_createstats " q>>qF] "U"*=&*sp_createtats " !@>qF"U"*s&*sp_createstats " -2d%>qFz"a"  " Gބ>qF <Jc Dz  @qF<PqF<m sys.>q F<q <Af 2tme <>q F<q <Ah create procedure sys.sp_createstats @indexonly char(9)= 'NO', -- Optional 'INDEXONLY' text - if present, then only the columns -- covered by indexes are subject of statistics creation @fullscan char(9)= 'NO', -- Optional 'FULLSCAN' text - if present, then the statistics - will be created with full scan rather than sampling @norecompute char(12)= 'NO' -- Optional 'NORECOMPUTE' text - if present, then statistics -- will not be updated automatically as -- NOTE: This sp will create statistics for *all* columns of all tables -- which the user has the privilege to create stats on (sysadmin, dbo, owner). -- The following columns are not considered -- - first column of an index -- - column which already has statistics -- - XML column -- - filestream clumn -- - sparse column in a wide-table (a table with a sparse column set) -- - nondeterministic computed columns -- - imprecise computed columns declare @sysadmin int ,@dbname sysname select @indexonly = UPPER (@indexonly collate Latin1_General_CI_AS) -- Validate input options if (@indexonly not in ('INDEXONLY', 'NO') OR UPPER(@fullscan) not in ('FULLSCAN', 'NO') OR UPPER(@norecompute) not in ('NORECOMPUTE', 'NO')) begin raiserror(15600,-1,-1, 'sys.sp_createstats') retrn @@error end -- remember dbname select @dbname = db_name() -- create temporary table (column, index position) create table #colpostab ( col_name sysname collate catalog_default, col_pos int, ) set nocount on -- required for sp_createstats so it can create stats on on ICC/IVs set ansi_warnings on set ansi_padding on set arithabort on set concat_null_yields_null on set numeric_roundabort off declare @exec_stmt nvarchar(4000) declare @tablename sysname dclare @columnname sysname --declare @shortcolumnname sysname declare @indexname sysname declare @uid int declare @indid smallint declare @position smallint declare @table_id int declare @table_type char(2) declare @schema_name sysname declare @numcols int -- number of eligible columns found declare @msg nvarchar(388) -- adding two more chars for msg with 15654 declare @twopart_tablename nvarchar(517) declare @timestamp varchar(17) declare @wide_table bit declare @tablename_eader varchar(267) declare ms_crs_tnames cursor local static for select o.name, o.object_id, s.principal_id, s.name, o.type from sys.objects o join sys.schemas s on s.schema_id = o.schema_id where o.type = 'U' or o.type = 'IT' select @numcols = 0 -- cannot execute against R/O databases if DATABASEPROPERTYEX(db_name(),N'Updateability')=N'READ_ONLY' begin raiserror(15635,-1,-1,N'sp_createstats') return (1) end open ms_crs_tnames fetch next from ms_crs_tnames into @talename, @table_id, @uid, @schema_name, @table_type while (@@fetch_status <> -1) begin -- check for table with disabled clustered index if (1 = isnull((select is_disabled from sys.indexes where object_id = @table_id and index_id = 1), 0)) begin -- raiserror('Table ''%s'': cannot perform the operation on the table because its clustered index is disabled', -1, -1, @tablename) -- note that we cannot use '%s' in the sqlerrorcodes.h as the same error is reused by sp_create|updatestats and hey have -- different formatting styles. This style is consistent with the rest of the messages in this SP select @msg = ''''+ @dbname +'.'+ @schema_name +'.'+ @tablename + '''' raiserror(15654, -1, -1, @msg) end else begin -- filter out local temp tables, Hekaton tables, and tables for which current user has no permissions -- Note that OBJECTPROPERTY returns NULL on type="IT" tables, thus we only call it on type='U' tables if ( (@@fetch_status <> -2) and (sbstring(@tablename, 1, 1) <> '#') and -- temp tables ((@table_type<>'U') or (0 = OBJECTPROPERTY(@table_id, 'TableIsInMemory'))) and -- Hekaton table ((is_member('db_owner')=1) or (is_member('ddl_admin')=1) or (is_member(user_name(@uid))=1) or (user_id() = @uid))) -- permissions begin select @wide_table = objectproperty(@table_id, 'tablehascolumnset') -- these are all columns for which the statistics will be created declare ms_crs_cnames cursor local for select c.name fom sys.columns c where c.object_id = @table_id and (type_name(c.system_type_id) not in ('xml')) and c.name not in (select col_name from #colpostab where col_pos = 1) and ((c.name in (select col_name from #colpostab)) or (@indexonly <> 'INDEXONLY')) and (@wide_table=0 or is_sparse=0) and (is_filestream=0) and (is_computed = 0 or (is_computed = 1 and columnproperty(@table_id, c.name, 'isdeterministic') = 1 and columnproperty(@table_id, c.name 'isprecise') = 1)) -- populate temporary table of all (column, index position) tuples for this table truncate table #colpostab -- for each index on the table, loop though all columns and insert rows -- open cursor over indexes declare ms_crs_ind cursor local static for select stats_id, name from sys.stats where object_id = @table_id order by stats_id select @twopart_tablename = quotename( @schema_name , '[')+'.' + quotename( @tablename, '[') open ms_rs_ind fetch ms_crs_ind into @indid , @indexname -- if an index exists while @@fetch_status >= 0 begin -- if the index is not disabled and not a columnstore or if there is no entry in sys.indexes for current @indid -- (we are looking at a statistic not an index) then we need to include the columns of that statistic in #colpostab if not exists (select * from sys.indexes where object_id = @table_id and index_id = @indid and (is_disabled = 1 or type in (5, 6))) bgin -- every index has at least one column at position 1 insert into #colpostab values (index_col(@twopart_tablename,@indid,1),1) -- now try position 2 and beyond.... select @columnname = index_col(@twopart_tablename, @indid, 2) select @position = 2 while (@columnname is not null ) begin insert into #colpostab values (@columnname,@position) select @position = @position +1 select @columnname = index_col(@twopart_tablename, @indid, position) end end -- next index fetch ms_crs_ind into @indid , @indexname end close ms_crs_ind deallocate ms_crs_ind -- now go over all columns which are eligible for creating statistics -- and are not first columns of any index -- optionaly we test if they are covered by some index (as non-leading) open ms_crs_cnames fetch next from ms_crs_cnames into @columnname if @@fetch_status < 0 begin select @msg = @dbnam +'.'+ @schema_name +'.'+ @tablename raiserror(15013,-1,-1,@msg) end else begin select @msg = @dbname +'.'+ @schema_name +'.'+ @tablename raiserror(15018, -1, -1, @msg) end while @@fetch_status >= 0 begin select @numcols = @numcols +1 -- use the column name as the name for the statistics as well select @exec_stmt = 'CREATE STATISTICS ' + quotename(@columnname, '[') + ' ON ' + quotename( @schema_name ,'[')+'.' + quotename( @tablenam, '[')+'('+ quotename( @columnname, '[')+')' -- determining the correct suffix if ((UPPER(@fullscan) = 'FULLSCAN') AND (UPPER(@norecompute) = 'NORECOMPUTE')) select @exec_stmt = @exec_stmt + ' WITH FULLSCAN, NORECOMPUTE' else if (UPPER(@fullscan) = 'FULLSCAN') select @exec_stmt = @exec_stmt + ' WITH FULLSCAN' else if (UPPER(@norecompute) = 'NORECOMPUTE') select @exec_stmt = @exec_stmt + ' WITH NORECOMPUTE' EXEC (@exec_stmt) --print 'Statement='+@exec_stmt if(@@error = 0) -- otherwise the CREATE STATS will give a me>q Fu<<A2t <>q Fu<q <Assage print ' ' + @columnname fetch next from ms_crs_cnames into @columnname end close ms_crs_cnames deallocate ms_crs_cnames end end fetch next from ms_crs_tnames into @tablename, @table_id, @uid, @schema_name, @tabletype end print ' ' raiserror(15020,-1,-1,@numcols) deallocate ms_crs_tnames if (object_id('[#colpostab]') is not null) begin drop table [#colpostab] end return(0) -- sp_createstats >q F9<-<D0 D82th>!u < 7+_>qF7L) )I0- I@indexonly ) η>qF&K) )&6&@indexonly ) |͕>qF7M)q)G0- G@fullscan ) .=V>qF&K)q)$6$@fullscan ) ccm>qFN)q)M0- M@norecompute ) Z>qF&M)q)*6*@norecompute ) lI2>qFa%"q" " q>qFa%"q"  " qPqF~PqB,+(+*)`)(0('&$@$ ((07_ ee@ec,rutbheuo-s. CLF3PIF INVOKEALTF  =P>Ft"a "$"=P " P*>Fk)U ) =P> ) x / >Fk))t=P  ) L)>Fk))ra=P ) aX̟>Ft"" =P " P*>PFPI 0880F<PqF<9cLF3PLF INVOKEALTF  z>Ft""$"z " F)a) z> ) c7 >Ft"" tz " Ft"" =P " P*>PFPI 0880F<PqF<LF3POF INVOKEALTF  >Fa%"q"$~" " q>F7L)q) > ) η >F7M))t" ) .=VP>F7N))r ) Z>Fa%""  " q>PFPO 0880F<PqF<2(*1R*7A"5-=HA"8)5!-!=I)N"5-=o"" 5 -="B &"B "B  "B  "B  "cB  "B "B"B" 0B" B" B" )L5N-Q=)B)tB)tB)tB)tB)B)B)B)B) B) B ) B!) B") wB #)tB!$)tB"%)wJ"5-=f""'<f5h-i=$(< O)<-=@J<8@,<8@-<8@.<8@/<@0<`A"PF(0'`&%$# #P"! @p0` P@p0 ` P@p0F7M)q)G0- G@fullscan ) .=V>qF&K)q)$6$@fullscan ) ccm>R*6:70A"5-=HA"862P20HA"8 PLF3[PF(DBMgr::ChangeDBState>F cR$@0h]E>F c.P[Pr:0ChangeDBState>F cR$@0zP@F*%\P0.P[Pr:0ChangeDBState>F cR$@0QPF\P[P0r:0ChangeDBState>F cR$@08 g?LF4,PɃF"CREATE/ALTER VIEWaeF  UpT>Ft""p00UpTV ,P,P pdm_exec_query_optimizer_info " 11>FM""F&UpTFd_exec_query_optimizer_info " Wz >F)""F&UpTFdm_exec_query_optimizer_info " F>Fz"q" UpT " #1>F?<?<0UpT 8CREATE VIEW sys.dm_exec_query_optimizer_info AS SELECT * FROM OpenRowSet(TABLE OPTIMIZERINFO)  < e>F4)w )C0-UpT@@Ccounter ) 30*>FV)a ) 6UpT counter ) >?> F5))I0-UpTIoccurrence ) ,> FW) )&6UpT&occurrence ) 7 _> F6) )?0-UpT>>5?value ) *G> FX) )6UpTvalue ) C"> Ft""UpT " 11>Ft"" UpT " 11PF,PɃHP(xPhP0 m &J2LF4HP҃F INVOKEALTF  UpT>Ft""$,HUpT " 11 >F4) )_nUpT ) 30*>F5))xcUpTo ) ,fo>F6))UpT ) *Gc_q>Ft"" FUpT " 11"PFIP҃0880<0UpT 8CREATE VIEW sys.dm_exec_query_optimizer_info A*l'(_4vLF4P؃F"CREATE/ALTER VIEWFF  y>Ft""^ 00yV PP ^dm_qn_subscriptions " =>FM""4&y4dm_qn_subcriptions " Fx(' ,>F;""4&y4dm_qn_subscriptions " =bH>Fz"" pTy" " Ӣ/b9APLF4PكFFSplitPage2F+<+ )+ s. +ery_op2F<+ IM   2 F?< 4 ?> F <qc C@co  @ F<P F<?>?2 F< J  >F<e0} K8create proc sys.sp_fulltext_catalog @ftcat sysname, -- full-text catalog name @action varchar(20), -- create | drop | | rebuild | ... @path nvarchar(101) = null -- optional file path for create (max of 100 chars!!!) as declare @objname sysname, @tabname nvarchar(517), @schemaname nvarchar(517) declare @execstring nvarchar (4000) set nocount on -- sp_fulltext_catalog willrun under read committed isolation level -- set transaction isolation level READ COMMITTED -- CHECK PERMISSIONS (must be a dbowner) -- if (is_member('db_owner') = 0) begin raiserror(15247,-1,-1) return 1 end if (db_name() in ('master','tempdb','model')) begin raiserror(9966, -1, -1) return 1 end -- VALIDATE PARAMS -- if @action is null OR @action not in ('create','drop','start_full','start_incremental','sto','rebuild') OR @ftcat is null OR datalength(@ftcat) = 0 -- allow spaces in the name, but not a 0-length string OR (@path is not null and @action <> 'create') OR (len(@path) > 100) begin raiserror(15600,-1,-1,'sys.sp_fulltext_catalog') return 1 end -- DISALLOW USER TRANSACTION -- set implicit_transactions off if @@trancount > 0 begin raiserror(15002,-1,-1,'sys.sp_fulltext_catalog') return 1 end declar @ftcatid smallint select @ftcatid = fulltext_catalog_id from sys.fulltext_catalogs where name = @ftcat if @action not in ('create', 'drop') and @ftcatid is null begin declare @curdbname sysname select @curdbname = db_name() declare @curdbnamelen int select @curdbnamelen = LEN(@curdbname) raiserror(7641,-1,-1,@ftcat, @curdbnamelen, @curdbname) return 1 end if @action = 'create' begin -- CREATE FULLTEXT CATALOG -- select @execstring ='CREATE FULLTEXT CATALOG ' + quotename( @ftcat, '[') + CASE when @path is null then '' else ' IN PATH '''+REPLACE(@path ,N'''',N'''''')+'''' END EXEC (@execstring) end if @action = 'drop' begin -- build DROP FULLTEXT CATALOG -- select @execstring = 'DROP FULLTEXT CATALOG ' + quotename( @ftcat, '[') EXEC (@execstring) end if @action = 'start_full' begin -- FIND all the table and start full crawl -- declare ms_crs_ftind cursor static local for select T.name, schema_name(T.schema_id) from sys.fulltext_indexes as FT join sys.objects as T on(FT.object_id = T.object_id) where FT.fulltext_catalog_id = @ftcatid open ms_crs_ftind fetch ms_crs_ftind into @tabname,@schemaname while @@fetch_status >= 0 begin select @execstring = 'ALTER FULLTEXT INDEX ON' + quotename(@schemaname,'[')+'.'+quotename(@tabname,'[') + ' START FULL POPULATION ' EXEC (@execstring) fetch ms_crs_ftind into @tabname,@schemaname end deallocate ms_crs_ftind end if @action = 'start_incremental' begin -- FIND all the table and start full crawl -- declare ms_crs_ftind cursor static local for select T.name, schema_name(T.schema_id) from sys.fulltext_indexes as FTjoin sys.objects as T on(FT.object_id = T.object_id) where FT.fulltext_catalog_id = @ftcatid open ms_crs_ftind fetch ms_crs_ftind into @tabname,@schemaname while @@fetch_status >= 0 begin select @execstring = 'ALTER FULLTEXT INDEX ON ' + quotename(@schemaname,'[')+'.'+quotename(@tabname,'[') + ' START INCREMENTAL POPULATION ' EXEC (@execstring) fetch ms_crs_ftind into @tabname,@schemaname end deallocate ms_crs_ftind end if @action = 'stop' begin -- FIND all the table and start full crawl -- declare ms_crs_ftind cursor static local for select T.name, schema_name(T.schema_id) from sys.fulltext_indexes as FT join sys.objects as T on(FT.object_id = T.object_id) where FT.fulltext_catalog_id = @ftcatid open ms_crs_ftind fetch ms_crs_ftind into @tabname,@schemaname while @@fetch_status >= 0 begin select @execstring = 'ALTER FULLTEXT INDEX ON ' + quotename(@schemaname,'[')+'.'+quotename(@tabname,'[') + ' STOP POPULATION ' EXEC (@execstring) fetch ms_crs_ftind into @tabname,@schemaname end deallocate ms_crs_ftind end if @action = 'rebuild' begin -- REBUILD FULLTEXT CATALOG -- select @execstring = 'ALTER FULLTEXT CATALOG ' + quotename( @ftcat, '[') +' REBUILD ' EXEC (@execstring) end return 0 -- sp_fulltext_catalog <F < M>F<?>F?< >F+<<}2F<2F?2F<2F+<PFPك>F<<0y 8CREATE VIEW sys.dm_qn_subscriptions AS SELECT * FROM OpenRowSet(TABLE SYSNOTIFICATIONSUBS)  < >F&))0-y88 9id ) eR>FH) )6yid ) xQ>F'))K0-y88 Kdatabase_id ) jQ-v]>FH))(6y(database_id ) \>F());0-yUU;sid ) FsQ>FJ))6ysid ) CG=D>F)))G0-y88 Gobject_id ) 8qh$> FJ))$6y$object_id ) {s>!F*) )C0-y==Ccreated ) Rt(>"FH)!) 6y created )  r}%>#F+)")C0-y88 Ctimeout ) @4p>>$FM)#) 6y timeout ) s i>%F,)$)A0-y88 Astatus ) K _ۘ>&FM)%)6ystatus ) od>'Ft""y " =>(Ft"(" y " =PFP؃&H&%P%$($##X"!(!  `PHXx 88009< ep Ks (#^5LF4˪P݃F INVOKEALTF  y>Ft")"$y " = >F&)&)"y> ) eR>F'))ity" ) jQ-v]>>F())d_yc ) FsQ">F)))y" ) 8qh$P>F*))yg ) Rt(>F+))y ) @4p>  > F,) )y ) K _ۘc> Ft"" y " = PF˪P݃ 088880 J  >F<< |JLF4QPF"CREATE/ALTER VIEWFF  $>Fa*""| 00 $V QPQP |dm_exec_query_transformation_stats " 6*\]>FM""R $Rdm_exec_query_transformation_stats " Tza+)>F*""R& $Rdm_exec_query_transformation_stats " 5=LQ)>Fz""  $ " 8>Fz<o<0 $ 8REATE VIEW sys.dm_exec_query_transformation_stats AS SELECT * FROM OpenRowSet(TABLE SYSRULESTATS)  < y>F)` )=0- $@4@=name ) YQ>F&h)q)6 $name ) 1&0> F))O0- $Opromise_total. ) t > F&i) ), 6 $,promise_total ) r{ nvar> F) )K!!0- $>>5Kpromise_avg) ) @name n> F&i) )(ou6 $(promise_avg ) 5Лte> F) )EED0- $Epromisedr(' ) x#jeg>F&k) )"f 6 $"promisedmo ) y r>F))UAR0- $Ubuilt_substitutel', ) H`to>F&h))2al6 $2built_substitute  ) l`t null>F))G 0- $Gsucceeded  ) afrkAL>F&m))$ra6 $$succeeded ) gxqsp_ful>Fa*"" sel $ " 6*\]g_id f>Fa*""', dro $ " 6*\]begin PFQPmelen @ @ H P (p0) raiserror(7641,-1,-1,@ftcat, @curdbnamelen, @curdbname) return 1 end if @action = 'create' begin -- CREATE FULLTEXT CATALOG -- select @execsC& c%LF4mPF INVOKEALTF  $>Fa*""$Qm $ " 6*\] >F))ai $s ) YQ>F))  $c ) t sfo>F)) $ ) @>F))t $  ) x#j>F))  $> ) H`>F))E VEW  $er ) afrk AS > Fa*""  $ " 6*\]PFmPe88880>F&h)q)6 $name ) 1&0> F))O0- $7V9:c&]LF4ԫPF"CREATE/ALTER VIEWFF  U}>Ft " "p 00U}V ԫPԫP pdm_exec_background_job_queue " 200>FM""F&U}Fd_exec_background_job_queueo " r6=C>F)""F&U}Fdm_exec_background_job_queue " B[V>Fz "" U} " ~">F<a<H0U} 8CREATE VIEW sys.dm_exec_background_job_queue AS SELECT * FROM OpenRowSet(TABLE DM_EXEC_BACKGROUND_JOB_QUEUE)  < ue> ')> ')6 ) c >F) )K0-U}==Ktime_queued ) \G> Fu)')(6U}(time_queued ) ȕ6 > F) )A 0-U}88 Ajob_id  ) iT> Fu) )6U}job_idr ) F LF4իPFFSplitPage2F)8  o2F) 8 $ 2F)y  ) #jeg>F ) c f $@ pro@F)PF)-2F), ) H`to>F)dGC?GEAEE?GE;K?AIGGUICCMGQ?A?AKKKKKKCQGCIS=AAEMOIIOEMISKGS??UcIEGGIE[[GMWaOYSq{uKKS_KUKSKEKOI]QUCA0-zG@resample0-XCkeyword0-X88 ?colid0-X88 GunusedPidl0-XEdocidmax0-X88 Adupseq0-XEdocidmin0-XEdoccount0-X?docid)0-X 88 Gdoclength 0-X 88 EocccountATE0-X 88 ;occ 0-X 88 KinternalPid 0-X88 ?@dbid 0-X88 A@objidtio0-X88 I@complevel s0-7G@rolename@0-v%88 Gobject_id=0-v%44Uprocedure_number 0-v%@Idefinition sc0-,+@C@cookieT0-Ckeywordw0-@@Mdisplay_termtch0-88 Gcolumn_id=0-Qdocument_count 0-88 ?@dbid,0-88 A@objid 0-VJ?@name 0-VJbbPA@valueon 0-VJK@level0typeu0-VJK@level0name 0-VJK@level1typei0-VJK@level1name 0-VJK@level2type 0-VJK@level2nameu0-9bC@dbnameT0-9b00Q@new_cmptlevelme,0-dG@acctname 0-d C@option 0- I@privilegep' 0-sxxSpermission_namem0-s=typee, 0-sxA@levelas 0-sA@perms 0-$E@devtype 0-$M@logicalnameus 0-O@physicalname'0-$44I@cntrltype) +0-$(I@devstatus ms0-$$Oag_replica_idf0-$$Eag_db_idBUI0-Mrecovery_lsn' 0-00Isync_statestr0-  hhS@createNewState0-  88 K@newstateid0-  88 G@parentid0-  88 S@phraseIdOrNull0-  ?@term0-  88 ?@lcid0-  hhU@newStateCreatedF0-  hhc@duplicateThesaurusRule0-Y I@functname0-YE@dllname0-_G@rolename 0-_G@password0-7$$Ireplica_id-7$$Egroup_id 0-788 [replica_metadata_id0-74[replica_server_name0-7UUGowner_sid0-74Mendpoint_url0-700Wavailability_mode0-7xxaavailability_mode_desc0-7 00Ofailover_mode 0-7 xxYfailover_mode_desc0-7 88 Ssession_timeout0-7 00qprimary_role_allow_connections 0-7 x4x{primary_role_allow_connections_desc0-700usecondary_role_allow_connections0-7x4xsecondary_role_allow_connections_desc0-7==Kcreate_date0-7==Kmodify_date0-788 Sbackup_priority0-74_read_only_routing_url0-Z88 Kdatabase_id0-Z88 Uencryption_stateat0-Z==Kcreate_date0-Z==Sregenerate_date0-Z==Kmodify_date0-Z==Eset_date0-Z==Kopened_date0-Z4Okey_algorithm0-Z 88 Ikey_lengthH0-Z ]encryptor_thumbprint0-Z 4Qencryptor_typeep 0-Z ;;Upercent_complete0-әC@action0-әbbPA@value<F )b>F)>F)>Fo))z2F)2F)2F)2Fo)PFիP>F))K0-U}88 Kdatabase_id ) EX>!Fu))(6U}(database_id ) 3_P<>"F)!)I0-U}88 Iobject_id1 ) }5->#Fw)")&6U}&object_id1 ) H^>$F)#)I0-U}88 Iobject_id2 ) ^}!>%Fx)$)&6U}&object_id2 ) „v>&F )%)I0-U}88 Iobject_id3 ) dp>'Fy)&)6U}&object_id3 ) i>(F )')I0-U}88 Iobject_id4 ) \>)Fz)()&6U}&object_id4 ) ƫh>*F )))I0-U}88 Ierror_code ) `w>+Fv)*)&6U}&error_code ) Q&>,F )+)M0-U} 44Mrequest_type ) u{>-F|),)*6U} *request_type ) >.F )-)K0-U} 44Kretry_count ) [A>/F}).)(6U} (retry_count ) MN.>0F)/)K0-U} 44Kin_progress ) 0>1Fw0)(6U} (in_progress ) i>2F)1)I0-U} 44Isession_id ) Ⱦ>3F)2)&6U} &session_id ) {>4Ft ""U} " 200>5Ft "5" U} " 200PFիP8877h650543h320210H0//.-P-,,h++**h*0*)x) )( ` x0xP`hP0)&0$do m* :%LF4PF INVOKEALTF  U}>Ft "6"$U} " 200 >F)3)qeU} ) \G>F))xcU}o ) iTueo>F))U} ) EXc_b>F))FU} ) }5->F))U}< ) ^}!U}>F ))ECT* U}et ) dpUND_JO> F ) )U} ) \ > F ) )U}> ) `w> F ) )U} e ) u{)> F ) )U}  ) [Aued> F) )U} - ) 0>F))FU}  ) Ⱦ>Ft "" FU} " 200PFP888888802F) 8 $ 2F)y  ) #jeg>F ) c f $@ pro@F)PF)-2F), ) H"$ M2LF4{PF"CREATE/ALTER VIEWFF  > t("6 ">FtP""|00V {P{P |dm_exec_background_job_qeue_stats " FI i>FM""R&Rdm_exec_background_job_queue_stats " f?>F*""R5&Rdm_exec_background_job_queue_stats " 71]b< >FzQ""  " FƏ U}>F_<&+< 0 8CREATE VIEW sys.dm_exec_background_job_queue_stats AS SELECT * FROM OpenRowSet(TABLE DM_EXEC_BACKGROUND_JOB_QUEUE_STATS)  < AzF}> F5:))O 0-88 Oqueue_max_len ) {> F%)I)6,queue_max_len ) 7M,[> F5;) )Q0-88 Qenqueued_count) ) Uj¢> F%) ).6.enqueued_count ) r ߅ > F5<) )O0-88 Ostarted_count ) >'>F%) ),6,started_count ) d >F5=))Ko0-88 Kended_count ) tK>F%))(6(ended_count ) ;͖>F5>))W;0-88 Wfailed_lock_count ) 8b[>F%))464failed_lock_count ) cGC>F5?))Y0-88 Yfailed_other_count ) حLljkl0->F%))6-66failed_other_counts ) 6E>F5@))[0-88 [failed_giveup_count ) !'gid)>F%))8 68failed_giveup_count ) _=>F5A))g0-88 genqueue_failed_full_count ) "~>F%))D6Denqueue_failed_full_count ) *t//x>F5B))q0- 88 qenqueue_failed_duplicate_countnu ) QIV>F%))N6 Nenqueue_failed_duplicate_count ) P%r>F5C))QM0- 88 Qelapsed_avg_msco ) gf1>F%)) 6 .elapsed_avg_ms ) x>F5D))Q0- 88 Qelapsed_max_ms ) H w=val>F%)).l6 .elapsed_max_ms ) &v>FtP""el1t " FI> FtP" "  " FItypPF|P-9bЈPXx `  HP0P000Q@new_cmptlevelme,0-dG@acctname 0-d C@opt.,uՊLF4PF INVOKEALTF  >FtP"!"${ " FI>F5:))0 ) {{P>F5;))es" ) Uj¢>>F5<))d_c ) >'_qu>F5=))*" ) tK>F5>)) "< ) 8b>F5?))Ə  ) حLljk> F5@) )ys.m_e_j ) !'gLECT *> F5A) ) A ) "~> F5B) )O a ) QIV > F5C) ) q ) gf1n > F5D) ) - ) H w=>FtP"" > " FIPFP )08888880F5<) )O0-88 00 ELF4PF"CREATE/ALTER VIEWFF  g>Fa " "f 00gV PP fdm_db_index_usage_stats " I#^H >FM""<&g<dm_dbindex_usage_stats " Š(P>>F(""<d&g<dm_db_index_usage_stats " f$q>Fz"" g " L>F<T*<0g 8CREATE VIEW sys.dm_db_index_usage_stats AS SELECT database_id, object_d, index_id, user_seeks, user_scans, user_lookups, user_updates, last_user_seek, last_user_scan, last_user_lookup, last_user_update, system_seeks, system_scans, system_lookups, system_updates, last_system_seek, last_system_scan, last_system_lookup, last_system_update FROM OpenRowSet(TABLE LOGINDEXSTATS) WHERE status = 0  < \ǒԻ>F4?)l )K 0-g44Kdatabase_id ) ƌq >Fe))(6g(database_id ) ~;S> F4@))G0-g88 Gobject_id ) Z0> Ff) )$6g$object_id ) W.Ҝ> F4A) )Ee0-g88 Eindex_id ) 䃔 > Ff) )"6g"index_id ) -Wf> F4B) )I0-gIuser_seeksF ) ~>Fh) )&)g&user_seeks ) L:>F4C))I0-gIuser_scans ) bߊ\r>Fh))&k6g&user_scans ) `'>F4D))M0-gMuser_lookups ) >Fh))*6g*user_lookupsn ) Ƈ8mHE>F4E))M0-gMuser_updatesp_ ) {}>Fk))*6g*user_updatese ) W1FIUunt>F4F))Q0-g==Qlast_user_seekqu ) A$ful>Fg)).6g.last_user_seek ) Zajce>F4G))Q0-g ==Qlast_user_scan ) (>Fg)). 6g .last_user_scan ) P>F4H))U_0-g ==Ulast_user_lookupC ) `>Fg))2l6g 2last_user_lookup ) 26P%>F4I))Ua0-g ==Ulast_user_update ) DZ>Fj))2e6g 2last_user_update> ) 8>F4J))Md0-g Msystem_seeks ) *>Fl))*6g *system_seeks ) VB-FK>F4K))M0-g Msystem_scans  ) Ӯ > Fl))*p6g *system_scans ) Vn7G@a>!F4L) )Qo0-gQsystem_lookupsge ) 3 ]x>"Fl)!).6g.system_lookupse ) jB;x>#F4M)")Q0-gQsystem_updates ) ֨-Qype>$Fo)#).l6gsystem_updates ) 4gf&y>%F4N)$)UI0-g==Ulast_system_seekst ) vZ5[8>&Fg)%)2-6g2last_system_seekg ) {Ǯ>'F4O)&)U-0-g==Ulast_system_scanhh ) 2:14>(Fg)')26g2last_system_scan- ) OAo>)F4P)()Y0-g==Ylast_system_lookup ) -z0->*Fg)))66g6last_sytem_lookupt ) {1->+F4Q)*)Yh0-g==Ylast_system_updatena ) +Bt>,Fj)+)66g6last_system_update- ) a{{>-Fa ""g " I#^H d>.Fa "."7 g " I#^H PFPx0@8`h(@@ h ( x @  P pP@0Gowner_sid0-74Mendpoint_url0-700Wavailability_modes.6i_  BlLF4;PF INVOKEALTF  g>Fa "/"$;g " I#^H >F4?),) g^H ) ƌ>F4@))dxgs ) Z0 Š>F4A))dg_ ) 䃔 age>F4B))g ) ~ >F4C))g ) bߊ\r8>F4D))nde_idgks ) kups, > F4E) )_upategek ) {}m_look> F4F) )up,lasge  ) A$LE LOG> F4G) )g  ) ( > F4H) ) )g q ) `> F4I) )s_g  ) DZ >F4J)) g  ) *id>F4K))g  ) Ӯ ct_>F4L)))g ) 3 ] >F4M))g ) ֨-Q)>F4N))>g ) vZ5[8 >F4O))userg ) 2:14>F4P))g_ ) -z >F4Q))-g ) +Bt>Fa "" g " I#^H PF;P0 8 8 888888880M0-gMuseRcd 횼LF4P F"CREATE/ALTER VIEWFF  >FN" "v 00V PP vdm_db_missing_index_group_stats " 5j5ƌ>FM""L&Ldm_db_missing_index_group_stats " Csג>F)""L&Ldm_db_missing_index_group_stats " /I g>Fz"" C " Z'W>F < <.0 .8CREATE VIEW sys.dm_db_mising_index_group_stats AS SELECT IdxS.index_id as group_handle, unique_compiles, -- stats for user queries user_seeks, user_scans, last_user_seek, last_user_scan, case when (user_seeks + user_scans) > 0 then total_user_cost / (user_seeks + user_scans) else 0 end as avg_total_user_cost, case when (user_seeks + user_scans) > 0 then ceiling(total_user_impact / (user_seeks + user_scans) * 10000.0 - 0.5) / 100.0 else 0 end as avg_user_impact, -- statsfor system queries system_seeks, system_scans, last_system_seek, last_system_scan, case when (system_seeks + system_scans) > 0 then total_system_cost / (system_seeks + system_scans) else 0 end as avg_total_system_cost, case when (system_seeks + system_scans) > 0 then ceiling(total_system_impact / (system_seeks + system_scans) * 10000.0 - 0.5) / 100.0 else 0 end as avg_system_impact FROM OpenRowset(TABLE LOGINDEXSTATS) IdxS WHERE IdxS.status <> 0  < Vս>F) )MM0-88 Mgroup_handle ) &>F  ) )*6*group_handle ) ͉u> F ))S0-Sunique_compiles ) <> F  ) )060unique_compiles ) TY֑> F ) )I0-Iuser_seeks ) W> F  ) )& 6&user_seeks0 ) !) 6 );> F ))Io0-Iuser_scans ) +`k>F  ) )&u6&user_scans ) &LF4P FFaSplitPage W1F2Fo)8  o2F)8  t_u2F)6   >F )c s_@s ek@F)PF)-Qla2F)-  >F)bQ_EI[K???=GKMCMA?=[M1?E=AKK_SSGGGAKKMMMGWWM;==?EGGCE==CE?E?EA?EMCGOC=?CKMMCGICOGGCG_cKKIMGUGIQ_c0-'Qmemory_addressg0-'_parent_memory_address 0-'hhEis_retry0-'44Isession_idU0-'88 [processed_row_count0-'88 Kerror_count0-{88 ?@lcid0-%.?class0-%.88 ?values0-%.xx=name0-oG@ProcName0-ho#K@OptionName0-ho M@OptionValue0-C@object0-hhM@grantpublics0-A@owner0- i88 ?@lcid0-Y!=nameoo0-Y!88 [service_contract_id0-Y!88 Mprincipal_id-88 0-?@type0-Y88 Eaudit_id֨0-Y4=name0-Y44Astatus 0-Y4Kstatus_desc0-Y**Kstatus_timet0-Y_event_session_address0-Y4Saudit_file_path 0-YSaudit_file_size0->G@typenamet0->G@phystype0->G@nulltype0->A@owner0-׵K@table_name0-nK@name_in_dbp0-rM@srvrolename0- M@schema_namet0- M@object_name0- 88 G@index_ida0- 88 W@partition_number0- xW@data_compression0- bb88 Mprincipal_id0- bbUU;sid0- bb4=name0- bb4=type 0- bb4?usage0-gE@objname0-gG@newownere0-jG@rolenamep0-xAC@dbname0-xAE@newnamex0-cF88 =lcidsc0-cF4=nameil0-/C@object0-/E@colname0-/hh?@fset0-00Evalclass_a0-88 ?objid0-88 Esubobjidne0-88 Avalnum0-bbPP?valuet0-@Eimagevalco0-Mpartition_id0-Chobt_id0-88 Gcolumn_id0-88 Odictionary_idt0-88 Cversiono0-88 =type0-?flags0-88 Clast_idt0- Kentry_count0- Mon_disk_sizeat0-Mpartition_ide0-Chobt_ide0-88 Gcolumn_idd0-88 Isegment_idgo0-88 Cversione0-88 Oencoding_typer0-88 Grow_count0-hhGhas_nulls0- Cbase_id0- >>5Gmagnitude0- 88 _primary_dictionary_id0- 88 csecondary_dictionary_id0- Kmin_data_id0-Kmax_data_id0-Inull_value0-Mon_disk_size0-88 Gobject_id0-88 Uparent_object_id0-88 Gobject_id0-hhIis_enabled0-Qdirectory_name0-88 _filename_collation_id0-cfilename_collation_name<F  )`ct>F)">F)H^>Fo))' 2F) 2F)x2 F)2!Fo)PFP  >F )!)Qp0-==Qlast_user_seekU} ) ұ ct_>$F  )).6.last_user_seek88 ) u+>%F )$)Q0-==Qlast_user_scano ) 2%J )>&F  )%).6.last_user_scan ) 5r>'F)&)[0->>5[avg_total_user_cost  ) N>>  %)'6 )# >(F  )))868avg_total_user_cost ) )t>+F)()S 0->>5Savg_user_impact ) BKounLF4PFF)SplitPageU} 2-F)'  02.F )+   442/F)2 s )60F)[J0>1F )*c$)>2F )2c$ -@} 63F )d)@4F)6c[J dP5F )  "27F )7 0 >>8F )8*..0&&(".<8&(*$* *800"<(($$$((*4$*4**$"$ "" """$,( ** $,$ $((&**<$@& $2.<@&$&(,$$&*,*8,,($2$*$(.$*:(02,4((*2"(("((*($(6$"$04:.&D"""&(D2(2"(88,0H4$446*group_handlem.last_user_scan6.last_user_seek60unique_compiles6&user_scans6&user_seeks6'(error_count6'"is_retry6'.memory_address6'<parent_memory_address6'8processed_row_count6'&session_id6{@lcid6%.class6%.name6%.value6ho(@OptionName6ho*@OptionValue6ho$@ProcName6*@grantpublic6 @object6@owner6 i@lcid6Y!name6Y!*principal_id6Y!8service_contract_id6@type6Y0audit_file_path6Y0audit_file_size6Y"audit_id6Y<event_session_address6Yname6Ystatus6Y(status_desc6Y(status_time6>$@nulltype6>@owner6>$@phystype6>$@typename6׵(@able_name6n(@name_in_db6r*@srvrolename6 4@data_compression6 $@index_id6 *@object_name6 4@partition_number6 *@schema_name6 bbname6 bb*principal_id6 bbsid6 bbtype6 bbusage6g$@newoner6g"@objname6j$@rolename6xA @dbname6xA"@newname6cFlcid6cFname6/"@colname6/@fset6/ @object6"imageval6objid6"subobjid6"valclass6valnum6value6column_id6,dictionary_id6 (entry_count6flags6 hobt_id6 last_id6 *on_disk_size6*partition_id6type6 version6  base_id6$column_id6,encoding_type6$has_nulls6 hbt_id6 $magnitude6(max_data_id6 (min_data_id6&null_value6*on_disk_size6*partition_id6 <primary_dictionary_id6$row_count6 @secondary_dictionary_id6&segment_id6 version6$objct_id62parent_object_id6.directory_name6<filename_collation_id6@filename_collation_name6&is_enabled6$object_id6&cache_size6(create_date6,current_value6$increment6$is_cached6&is_cycling6*is_exhausted6 ,is_ms_shipped6 *is_published6 8is_schema_published6,maximum_value6,minimum_value6 (modify_date6name6$object_id62parent_object_id6$precision6*principal_id6scale6$schema_id6 (start_value6.system_type_id6type6$type_desc6*user_type_id6:property_description6(property_id60property_int_id62property_list_id6property_name64property_set_guid6(create_date6(modify_date6name6*principal_id62property_list_id6"language6(language_id6(stoplist_id6"stopword6(create_date6(modify_dae6name6*principal_id6(stoplist_id6 $data_size6 (fragment_id6 6fragment_object_id6 $row_count6 status6 "table_id6 $timestamp6 0audit_action_id6 4audit_action_name6 :audted_principal_id6 .audited_result6 class6 &class_desc6 Ddatabase_specification_id6 "is_group6 "major_id6 "minor_id6 &audit_guid6 (create_date6 Ddatabase_specification_id6 2is_state_nabled6 (modify_date6 name6 2local_service_id6 name6 "priority6 (priority_id6 8remote_service_name6 8service_contract_id6 ,begin_version6 0cleanup_version6 His_track_columns_updated_n6 4min_valid_version6 $object_id64bounding_box_xmax64bounding_box_xmin<9F   )/ K>:F ): >;F)0  ><F).), ,group_handle2=F )92>F)<2?F );2@F)=P-FP->,F  )@)060avg_user_impact ) 7>CF),)M0- Msystem_seeks ) v>DF )>)*6 *system_seeks ) 6!>EF)D)M0- Msystem_scans ) [P>FF)E)*6 *system_scans ) 63>GF)F)U0- ==Ulast_system_seek ) eW\>HF )G)26 2last_system_seek ) E$>IF)H)U0- ==Ulast_system_scan ) R;)>JF )I)26 2last_system_scan ) 񏌂>KF)J)_0- >>5_avg_total_system_cost ) c9 %>LF  )C)<6 <avg_total_system_cost ) iy>MF)L)W0->>5Wavg_system_impact ) >NF  )M)464avg_system_impact ) \'">OFN"" " 5j5>PFN"P"  " 5j5PFP b@ba0ax`__^]0]x\[8[ZYhYYXXhX0XW`WWV 877H776h6655@544383322p10(0p//..p.8.--(-,h(8 H  H  P `0 6oeit,eo$wt6dh s. dJLF4 PF INVOKEALTJF  >JFN"Q"$  " 5j5 >JF)N)u_  ) &>>JF )J)d_i ) JF )J) ) WLd>JF )J)/  ) +`k>JF )J) ) ұ <>JF )J)_inex_  ) 2%J d as g>J F)J ), uer_er ) N ca>J F)J )sees +  ) BK_total>J F)J )totl_u us ) v * 100>J F)J )sysem  te ) [P last_>J F)J )) >0  _s ) eW\eeks +>JF)J) (sste em ) R;)eiling>JF)J)  el s  ) c9 %FROM O>JF)J) V ) >JFN"J" M " 5j5 )PJF PJ888888880le ) ͉u> F ))S0-Sunique_compiles )2L34 O<}#LF4PF"CREATE/ALTER VIEWFOF  vLF4PFF SplitPage2OFM"  M_2OFt"  t 2OF`"   `i >OF "3cf )@ b@OF"POFb"t0`2O Fb"O 5  b>O Fb"O +TPhVt\Rbn^^`TvTNTtX\PRnRjPL^ZLXbfZb\\X|009bЀ P NN Tsp_dbcmptlevel00d P NN Pxp_logininfo00s IFNN hfn_translate_permissions00$ P NN Vsp_addumpdevice00 V uVNuVN dm_hadr_internal_wsfc_ag_db_replicas00   P ^OO tsp_fulltext_thesaurus_add_term00Y P SNrN \sp_addextendedproc00_ P eNYN Rsp_addapprole007 V XNXN bavailability_replicas00Z V -NVN ndm_database_encryption_keys00ә P NoO ^sp_fulltext_service00 V WNWN ^availability_groups00*тX MNNN `sp_releaseschemalock00 P ]NrN Tsp_refreshview00 P OO vsp_fulltext_load_thesaurus_file00cG IFNN Tfn_flltext_i400J| P N)N Nsp_bindruleu00 IFNN Tfn_fulltext_i200kX P PNPN tsp_SetSDSPublicInterfaceObject00 V NN Xdm_audit_actions00 P NYN \sp_approlepassword00# P tNrN Psp_validlang00%H P NN Rsp_dropdevice00> P LNLN nsp_check_removable_sysusers00' P NN Rsp_helprotect00J P `N`N jsp_SetInternalTableAccess00  V  N N Pindex_couns00L% V ܟNN Luser_token00=HX 2N2N ^sp_recompile_module00` IF]NqN Zfn_get_audit_file00a` P NyN Lsp_adduser00u P NN Xsp_dbscriptlevel00G V NN bdm_fts_memor_buffers00k V NN fdm_fts_index_populationK00 V N"N Zsecurable_classesK001 V ˡNN bdm_os_child_instances00Ǥ P NN \sp_check_removable00s̆ P NZN \sp_resign_database00 V NӐN system_components_surface_area_configuration00B P 1NYN Xsp_addrolemember00 V {PP |dm_exec_background_job_queue_stats<O F t("Ob) >O Ft"O `b=>O F`"OtNb0->OFM"O" 9bb2OFb"O l2OF`"O2OFt"O 2OFM"OPOFPO>OFb""l00vV PP ldm_db_missing_index_groups " oTrlH88>OFM""B&vBdm_db_missing_index_groups " ܊K?@t>OF*""B_&vBdm_db_missing_index_groupse " ǬM'>Fz?"" 4v " YFBs_d>OF:<+ '<s0v 8CREATE VIEW sys.dm_db_missing_index_groups AS SELECT * FROM OpenRowset(TABLE MISSING_IDX_GROUPS) 4 < B 9S>OF#))Y0-v88 Yindex_group_handle ) Rht0->OF$T)+ /)6-6v6index_group_handlel ) 3PSV>OF$)O)M0-v88 Mindex_handle ) dݬLF4PFFMSplitPageame2OF)A s _na2OF$)O  $jec2OF%)  %G@i>O F )Oc% par@ti !num@O!F)PO"F!)$ %Mpr2O#F!)O# U !>O$F!O$W"*"*0$ &"$(&*:,6$>4&,<@&$:$(6(0:8<:&L$$JNFJH<B"$( ,& .* $&<0H(<@.@0H>V(&6"*6%H"@delfile6%H*@logicalname6>"@autofix6'*@grantornameG6'@name6'0@permissionarea6'$@username6J @objectJ @schema6 &data_pagesc6 "index_id46 $object_id6 rows6 (total_pages6 &used_pages6L%namee6L%*principal_id6L%sid6L%type6L%usage6`:@audit_record_offset6`,@file_pattern6`6@initial_file_name6`$action_id6`>additional_information6`4audit_file_offset6` &class_typel6`,database_name6` <database_principal_id6`@database_principal_name6`&event_timeo6`$file_name6`:is_olumn_permissiont6` $object_id6`(object_name6`6permission_bitmask6`(schema_name6`0sequence_number6`:server_instance_name6`8server_principal_id6`<server_principal_name6`:server_principal_sid6`&sssion_idd6`Lsession_server_principal_name6`$statement6`$succeeded6` Jtarget_database_principal_id-6`Ntarget_database_principal_name886` Ftarget_server_principal_id6`Jtarget_server_principal_name6`Htarget_servr_principal_sid6`<user_defined_event_id6`Buser_defined_information6a`"@grpname6a`$@loginame6a`(@name_in_db6u @dbname6u,@script_entry6u@value6G&bytes_useda6G is_free6G.memory_addressa6Gname6G*percent_usedv6G pool_id6G$row_count6k&catalog_id886k <completed_range_count6k 0completion_type6kHcompletion_type_description6k(database_id6k<incremental_timestamp6k@is_clustered_index_scank.memory_address886k @outstanding_batch_count6k0population_type6kHpopulation_type_description6k>queued_population_typet6kVqueued_population_type_description6k(range_count6k&start_time6k status6k status_description6k"table_id6k*worker_count<O%F $U)O!UK >O&F$)O&%!>O'F%)O $!>O(F)O)$6%H!$@delfile2O)F!)% 2O*F%)O( 2O+F$)O'2O,F)O)POFPO==>OF$U)O,)* 6v*index_handle ) 6%>O/Fb"O")v " oTrlH>O0Fb"O0" v " oTrlHal_POFPO221100H00/h//.x.@XXPhPHHX` H0  )))868avg_total_user_cost ) )t>+FO66eec6)OOytu^e4iE>LF4PF INVOKEALTiF  v>iFb"O1"$v " oTrlHitP>iF#)O)_v ) Rh>iF$)i)vi ) dݬ >iFb"i" v " oTrlHPiFPi8802O Fb"O 5  b>O Fb"O +TPhVt\Rbn^^`TvTNTtX\PRnRjPL^ZLXbfZb\\X|009b k5"LF4P%F*CREATE/ALTER FUNCTION  kF  &>kFt"O"n00&IFPP ndm_db_missing_index_columns " +1,R>kFM"O"D&&Ddm_db_missing_index_columns " 6y9>kF)"O"D&&Ddm_db_missing_index_columns " 3#{>kFz"O" &  " g, >kF{<<^0& 8CREATE FUNCTION sys.dm_db_missing_index_olumns (@handle int) RETURNS TABLE AS RETURN SELECT * FROM OPENROWSET(TABLE MISSING_IDX_COLUMNS, @handle)  < /( log>kF$) )Cn0-&88 C@handle ) h >kFF)4) 6& @handle ) { Tw>k F$)k)G-&88 Gcolumn_id ) ēPe >k FG)k )$r6&$column_id ) 1<:NRsp>k F%)k )K0-&@4@Kcolumn_name ) t >k FH)k )(6&(column_ame ) dx>k F&)k )M0-&@4@Mcolumn_usage ) qp>kFI)k )*6&*column_usagei ) : >kFt"k"rs& " +1,F>kFt""P & " +1,NspPkFPk%fulP `  `8pX0PNPN tsp_SetSDSPublicInterfaceObject00 V NN Xdm_audit_actions00 P NYN \sp_approlepassword00# P kn0c  qmLF4%P)F INVOKEALTqF  &>qFt"k"$%"& " +1,>qF$)k)_o&  ) ēPe>>qF%)q)d_&i ) tlum>qF&)q)"& ) q_db>qF')q)& ) h">qFt"q" & " +1,PqF&Pq)lumns 8880URNS TABLE AS RETURN SELECT * FROM OPENROWSET(TABLE MISSING_IDX_COLUMNS, @handle)  < /( log>kF$) )Cn0-&88 C@handle ) h >kFF)4) 6& @handle ) { Tw>k F$)k)G*d24tcLF4P/F"CREATE/ALTER VIEWFtF  WQ)>tFt#"q"n 00WQ)V PP ndm_db_missing_index_details& " |e>tFM"k"D&WQ)Dd_db_missing_index_details " %>tF*"k"D&WQ)Ddm_db_missing_index_details " Qf>tFz#"k" WQ) " 0S/\>tF<<0WQ) 8CREATE VIEW sys.dm_db_missing_index_details AS SELECT * FROM OpenRowset(TABLE MISSING_IDX_DETAILS)  < =8(T>tF))M0-WQ)88 Mindex_handle88 ) K1-[>tF)k)*6WQ)*index_handle ) +4>t F)t)K$0-WQ)44Kdatabase_id ) Dumn>t F)t )(6WQ)(database_id ) ckK_>t F)t )G0-WQ)88 Gobject_id ) RI5n>t F)t )$H6WQ)$object_id ) C=icol> F)t )U&0-WQ)@4@Uequality_columns ) jl͞a>tF)t )26WQ)2equality_columnsc ) Vi >tF)t)Y0-WQ)@4@Yinequality_columnsF ) +>tF)t)6p6WQ)6inequality_columns ) )lKLF4P0FFpSplitPagebicI2tFo)"8  oN2tF)t8  2tF)i s 0#>tF )O!c g0@H  @tF)PtF)-ble2tF)t-   >tF)tcC?GEAEE?GE;K?AIGGUICCMGQ?A?AKKKKKKCQGCIS=AAEMOIIOEMISKGS??UcIEGGIE[[GMWaOYSquKKS_KUKSKEKOI]QUCA0-XCkeyword0-X88 ?colid0-X88 GunusedPid0-XEdocidmaxL0-X88 Adupseq0-XEdocidminN0-XEdoccount00-X?docid0-X 88 Gdoclength0-X 88 Eocccount 0-X 88 ;occ0-X 88 KinternalPid0-X88 ?@dbid0-X88 A@objide0-X88 I@complevelm0-7G@rolename0-v%88 Gobject_id0-v%44Uprocedure_numbera0-v%@Idefinition0-,+@C@cookie0-Ckeyword0-@@Mdisplay_term>0-88 Gcolumn_id0-Qdocument_count0-88 ?@dbid0-88 A@objid0-VJ?@name0-VJbbPA@value0-VJK@level0type0-VJK@level0name0-VJK@level1type0-VJK@level1name0-VJK@level2type0-VJK@level2name0-9bC@dbname0-b00Q@new_cmptlevel 0-dG@acctname0-d C@option 0-d I@privilegeING0-sxxSpermission_name0-s=type0-sxA@level-sA@perms)0-$E@devtypel0-$M@logicalname)0-$O@physicalnamee0-$44I@cntrltype0-$(I@devstatusme0-$$Oag_replica_id0-$$Eag_db_id20-Mrecovery_lsn0-00Isync_state0-  hhS@createNewState0-  88 K@newstateidr0-  88 G@parentid0-  88 S@phraseIdOrNull0-  ?@term0-  88 ?@lcid0-  hhU@newStateCreatedo0-  hhc@duplicateThesaurusRuleG0-Y I@functnamea0-YE@dllnameJ0-_G@rolename 0-_G@password 0-7$$Ireplica_id0-7$$Egroup_id0-788 [replica_metadata_id0-74[replica_server_name0-7UUGowner_sid0-74Mendpoint_urlo0-700Wavailability_mode`0-7xxaavailability_mode_descd0-7 00Ofailover_mode0-7 xxYfailover_mode_desc_0-7 88 Ssession_timeout0-7 00qprimary_role_allow_connections0-7 x4x{primary_role_allow_connections_desc0-700usecondary_role_allow_connectionsn0-7x4xsecondary_role_allow_connections_desc0-7==Kcreate_date0-7==Kmodify_date0-788 Sbackup_priority0-74_read_only_routing_url0-Z88 Kdatabase_id0-Z88 Uencryption_statei0-Z==Kcreate_date0-Z==Sregenerate_date0-Z==Kmodify_date0-Z==Eset_date0-Z==Kopened_date0-Z4Okey_algorithm0-Z 88 Ikey_lengthr0-Z ]encryptor_thumbprint0-Z 4Qencryptor_typec0-Z ;;Upercent_completet0-әC@action0-әbbPA@valueamp<tF )taan>tF)tting>tF)tk>tFo)t)Xopu2tF)t_2tF)t2t F)t2t!Fo)tPtFPt0e_i>tF)t!)U 0-WQ)@4@Uincluded_columns ) s.>t$F)t)26WQ)2included_columns ) MR>t%F)t$)G0-WQ)@4@Gstatement ) X3 ">t&F)t%)$6WQ)$statement ) |>t'Ft#"t"WQ) " |e,>t(Ft#"t("  WQ) " |ePtFPt/ oTr1@10@0//H.---H--,X,,+( H X   H p@PhP0 v " oTrlHal_POFPO221100H00/h//.x.@XXPhPHHX` H0  )))868avg_total_user_cost ) )t>+F09{(t m 4=LF4P4F INVOKEALTF  WQ)>Ft#"t)"$WQ) " |e >F)t&)alWQ) ) K1-[>F))bmWQ)i ) Ds >F))WQ) ) RI5mis>F))FWQ) ) jl͞>F))WQ)< ) +(WQ)>F))CT  WQ)t( ) s.ILS) > F) )WQ)- ) X3 "> Ft#"" WQ) " |ePFP4 +4088880F)t)K$0-WQ)442(**7+"5-=H*"8)!5#-)=I)N"5-=o"" 5 -="B&"B "B  "B  "B  "B  "B "B"B" :B" B" B" )O5Q-Q=)B)B)B)B)B)B)B)B)B) B) B ) B!) B") B #)B!$)B"%)J"5-=f""'<g5i-i=$(<O)<-=@1<B@,<B@-<B@.<B@/<@0<`2PF(0'`&%$# #P"! @p0` P@p0 ` P@p0Kmodify_date0-Z==Eset_date0-Z==Kopened_date0-Z4Okey_algorithm0-Z 8R* :70+"5-=H*"8.2P20H*"8 kPLF3~PF(DBMgr::ChangeDBState>F c$@0]E>F c[P~Pr:0ChangeDBState>F c$@0zP@F-%~P0[P~Pr:0ChangeDBState>F c$@0fQPF~P~P0r:0ChangeDBState>F c$@0 4LF3LPF"CREATE/ALTER VIEWaeF  >Ft" "d00V LPLP ddm_db_task_space_usage " 3[FM "t":&:dm_dbtask_space_usage " [E>F."t":&:dm_db_task_space_usage " qc>Fz"t"  " m.;Ih>F<U<0 8CREATE VIEW sys.dm_db_task_space_usage AS SELECT * FROM OpenRowset(TBLE DM_DB_TASK_SPACE_USAGE)  < ͠s>Fk))M0-Mtask_address ) SIs"&>F)t')*6*task_address ) 4 T4> Fk))Q0-hhQis_remote_task ) }]o> F) ).6.is_remote_task ) mF``0x8P@00x8P@A_ > Fk) )I0-44Isession_id ) J16:c>F) )&6&session_id ) Ws>Fk))I0-88 Irequest_id ) rk>F))&6&request_id ) .N2>Fk))S0-88 Sexec_context_id ) Xj$>F))060exec_context_id ) Ҏ>F))K0-88 Kdatabase_id ) klDJ>F))(6(database_id ) =3>Fk))o0-ouser_objects_alloc_page_count ) /<> F))L6Luser_objects_alloc_page_count ) "H%G> Fk) )s0-suser_objects_dealloc_page_count ) &*L> ) > ) 6 )t3LF3MPFFSplitPage2F)O-^  2F) ^  2F$)O/  $>F )c& @ "@F)PF") $2F")X  "p  x 0 0x Xh0kb   >c9)) 01./3==CSSSSSSScccmw)VLHDJca/@@B#IC$"log01./3==CSSSSSSScccmw)VLHDJca/@@B#IC$"logH0"$ /x>F")$(HR@":4((" &0:"(" "$2*(*." &$(*(*,&".""0&:(&"..B(@" $(** ($  ($"$:&2 &*($(4(&::$(&,::2&"&.(&(&&&&*(&($(22*6$$&"""$( "$$&$2 $*. (((((( .$ &0&&"*,6-'$@loginame6-'(@name_in_db6ʈdHautomated_backup_preference6ʈdRautomated_backup_preference_desc6ʈd@failure_condition_level6ʈd"group_idx6ʈd:health_check_timeout>6ʈdname6ʈd4resource_group_id6ʈd(resource_id6(@futureonly6"@objname67 @dbname6co&class_typea6co0class_type_desc6co:securable_class_desc6)t"@defnamet6)t(@futureonly6)t"@objname6}#| @action6"index_id6$object_id6rowset_6I<$2@accentsensitiveI<$@lcid6I<$*@querystring6I<$(@stoplistid6I<$*display_term6I<$.expansion_type6I<$"group_id6I<$ keyword6I<$&occurrenced6I<$$phrase_id6I<$(source_term6I<$*special_term64B(@ProviderId64B*algorithm_i64B,algorithm_tag64Bkey_id64B&key_lengthF64B"key_name64B.key_thumbprint64B"key_type6 E"batch_id6 E 0batch_timestamp6 E&catalog_id 6 E:crawl_memory_address6 E(database_id6 E &doc_failed6 E"hr_batchP6 E .is_retry_batch6 E.memory_address6 EBmemregion_memory_addressx 6 E (retry_hints6 E @retry_hints_description6 E"table_id6& @handle6&$column_id6&(column_name6&*column_usage6+*@srvrlename6Y@ftcat6y created6y(database_id6yid6y$object_id6ysid6ystatus6y timeout6} @action6}@ftcat6}@path6O @ntname6E @dbName6E(@filegrowth6E$@filename6E"@maxsize6E@name6E@size6XZ$@typename6' :read_only_replica_id6' &replica_id6' 2routing_priority6UpT counter6UpT&occurrence6UpTvalue6*@srvrolename6W(batch_count6W$fdhost_id6W(fdhst_name6W4fdhost_process_id6W(fdhost_type6W&max_thread6e:@current_compression6e:@desired_compression6e$@index_id6e(@index_name6e&@object_id6e,@sample_table6e:compress_current_ddl6e:comress_desired_ddl6e2create_index_ddl6e&is_primary6>h"ag_db_id6>h&ag_db_name6>hag_id6>h.truncation_lsn6U}(database_id6U}&error_code6U} (in_progress6U}job_id6U}&object_id16U}&object_id2U}&object_id36U}&object_id46U} *request_type6U} (retry_count6U} &session_id6U}(time_queued6z$@resample6WQ)(database_id6WQ)2equality_columns6WQ)2included_columns6WQ)*index_handle6WQ)6inequality_coumns6WQ)$object_id6WQ)$statement6X&@complevel6X@dbid6X@objid6Xcolid6X"doccount6Xdocid6X"docidmax6X"docidmin6X $doclength6Xdupseq6X (internalPid6X keyword6X occX "occcount6X$unusedPid67$@rolename6v%&definition6v%$object_id6v%2procedure_number6,+ @cookie6@dbid6@objid6$column_id6*display_term6.document_count6 keyword6VJ(@leel0name6VJ(@level0type6VJ(@level1name6VJ(@level1type6VJ(@level2name6VJ(@level2type6VJ@name6VJ@value69b @dbname69b.@new_cmptlevel6d$@acctname6d @option6d&@privilege6s@level6s@perms6s0permission_name6stype6$&@cntrltype6$&@devstatus6$"@devtype6$*@logicalname6$,@physicalname<F )"K>F)$">F$)">F))&6-'"&@loginame2F")2F$)2F)2F)PFlPLFlPFSetFileSize> F?  aj@> F))P6Puser_objects_dealloc_page_count ) JU|P FlP > Fk) )w0-ˆ winternal_objects_alloc_page_count ) jA.v@!X! 0 h0h(0v6l6pood6$|>F) )T6 Tinternal_objects_alloc_page_count ) #^nLx)>Fk)){0- {internal_objects_dealloc_page_count ) ^o>F))X6 Xinternal_objects_dealloc_page_count ) \q@>Ft"" " 3[Ft""  " 3[Ft""$L$& " 3[Fk))$$ ) SIs"& .$>Fk))@_ ) }]oaut>Fk))td_ ) J16:cdes>Fk))i ) rkhea>Fk))r_ ) Xj$>Fk))m ) klDJ@db> Fk) )tpo ) / Fk) )@n ) &*L@ob> Fk) ) o ) jA.v@> Fk) ) d ) ^ouer> Ft"" sl " 3[Fa""d00#stV PP ddm_db_file_space_usage " E3ege_>FM"":&#st:dm_dbfile_space_usagei " zB2ect>F("":&#st:dm_db_file_space_usage " #7[ >Fz"" #st " KWK>Fm< <0#st 8CREATE VIEW sys.dm_db_file_space_usage AS SELECT * FROM OpenRowset(TBLE DM_DB_FILE_SPACE_USAGE)  < ߪ8>F6>))K0-#st88 Kdatabase_id ) 1D/3>FOm)')(6#st(database_id ) w\"A> F6?))C0-#st44Cfile_id ) </m> FOn) ) 6#st file_id ) i/wZ=> F6@) )M0-#st44Mfilegroup_id ) pt> FOo) )*6#st*filegroup_id ) 5m> F6A) )U0-#stUtotal_page_count ) UC1>FOp) )26#st2total_page_count ) *H>F6B))k0-#stkallocated_extent_page_count ) *(>FOm))H6#stHallocated_extent_page_count ) i!4_)!>F6C))o0-#stounallocated_extent_page_count ) -)1>FOr))L6#stLunallocated_extent_page_cout ) b 3?>F6D))w0-#stwversion_store_reserved_page_count ) 3am =>FOs))T6#stTversion_store_reserved_page_count ) ´W+>F6E))s0-#stsuser_object_reserved_page_count ) gh;>FOs))P6#stPuser_object_reserved_page_count ) C>F6F)){0-#st {internal_object_reserved_page_count ) C+>FOq))X6#st Xinternal_object_reserved_page_count ) z>F6G))c0-#st cmixed_extent_page_count ) -#=k>FOr))@6#st @mixed_etent_page_count ) eHh_>Fa""#st " E3e>Fa"" #st " E3ePFP„(88 p ( Hp8P@0xnA_& LF3 PƄF (INVOKE(" F  #st>Fa""$$ &#st " E3e&,:>F6>))$#st$ ) 1D .$>F6?))@#st_ ) </maut>F6@))td#st_ ) ptdes>F6A))#sti ) UC1hea>F6B))r#st_ ) *(>F6C))#stm ) -)1@db> F6D) )tp#sto ) 3am =rab> F6E) )@#stn ) gh;@ob> F6F) )#st o ) C+> F6G) )#st d ) -#=kuer> Fa"" sl#st " E3e.ePF PƄkey8888880currenced6I<$$phrase_id6I<$(source_term6I<$*special_term64B(@ProviderId64B*algorithm\LO;LF3sP̄F"CREATE/ALTER VIEWt_alF  Be>Ft""j00BeV sPsP jdm_db_session_space_usage" " M|>>FM ""@#s&Be@d_db_session_space_usage " FgD>F/""@#s&Be@dm_db_session_space_usage " 1{wH>Fz"" #sBe" " {͐>>F?<<st0Be 8CREATE VIEW sys.dm_db_session_space_usage AS SELECT * FROM penRowset(TABLE DM_DB_SESSION_SPACE_USAGE)   < |>>F<)q)I880-Be44Isession_id  ) |O>F"P))&6Be&session_id  ) p^:r> F=))K440-Be88 Kdatabase_id ) R-> F"P) )(l6Be(database_id ) @> F>) )o0-Beouser_objects_alloc_page_count ) 9W6!> F"R) )L6BeLuser_objects_aloc_page_count ) fN5)> F?) )s)0-Besuser_objects_dealloc_page_count ) ŨZT >F"S) )P6BePuser_objects_dealloc_page_count ) FKte>F@))0-Bewinternal_objects_alloc_page_count ) F"Q))T6BeTinternal_objects_alloc_page_count )  8_co>FA)){0-Be{internal_objects_dealloc_page_count  ) K{>F"R))X6BeXinternal_objects_dealloc_page_count ) c!)>Ft""Be " M|ion>Ft"" >Be " M|PFsP̄sus ` 0 P  80HXH0e_count ) gh;>FOs))P6#stPuser_object_reserved_page_count ) C>F6F)){0-#st {internal_object_reserved_page_counwlOm ΂LF3PЄF (INVOKE(" F  Be>Ft""$s$&Be " M|&,:>F<))$Be$ ) |O .$>F=))@Be_ ) R-aut>F>))tdBe_ ) 9W6!des>F?))Bei ) ŨZThea>F@))rBe_ ) FA))Bem ) K{@db> Ft"" tpBe " M| 3amPFPЄ88880 ) gh;@ob> F6F) )#st o ) C+> F6G) ) =LF3PքF"CREATE/ALTER VIEWt_alF  j>Ft"" "b00jV PP bdm_db_log_space_usages " +q짘 M>FM""8&j8dm_dblog_space_usage " c`[v">F*""8&j8dm_db_log_space_usage " k"e>Fz""" j " gG%:" >F<)<0j 8CREATE VIEW sys.dm_db_log_space_usage AS SELECT * FROM OpenRowset(TABLE DM_DB_LOG_SPCE_USAGE)  < "CE_USA>FY) )K0-j88 Kdatabase_id ) CXt_id>F"m))(6j(database_id ) Zĩn> FZ))c0-jctotal_log_size_in_bytese ) xmG R> F"n) )@6j@total_log_size_in_bytes ) H,;7(`(@80 )o0-Beouser_objects_alloc_page_count ) 9W6!> F"R) )L6BeLuser(`(@8A_#KLk-R0`:%WYj :#5-= :$ARBgASAT AU AV AW  AX AY AZ  A[  A\ A] A^ A_ A`AaAbAcAd AeAf AgAhAiAjAkAlAmAn Ao!Ap"JII@HpGFEE0D`CBA@ @P?>=<<@;p:98807`6543 3P210P00RL6l007$XY08 DLj3XY^,jShrinkFile8j 8j 0 9mS>cN;)) 01./3==CSSSSSSScccmw)VLHDJca/@@@B#IC$"log01./3==CSSSSSSScccmw)VLHDJca/@@B#IC$"log0 >/b P8jXY8^,0^?ǼLj3XY_,jFileSize>?j;  aj@@?j%?XY0@WbP?jXY?_,0"ANO 5-= AR#ASAATA AUA AVA AWA AXAAYA AZA  A[A  A\A  A]A  A^A A_A A`AAaAAbAAcAAdA AeAAfA AgAAhAAiAAjAAkAAlAAmAAnAAoAApA `ջYj0` P@p0 ` P@p0RO<00Pe$A"ֻYA"0 QE}PLj3\4zj(DBMgr::ChangeDBState>Qj c2$@0RNDXE>Qj cQxY\r:0ChangeDBState>Qj c2$@0zS,?P@Rj&Q\0xY\r:0ChangeDBState>Qj c2$@0TװQPQj\Q4z\0r:0ChangeDBState>Qj c2$@0UP'Lj3Q\TzjDROPOBJCaUj  >Uj "$"$HNU\  " qϜUj , Uj ; >Uj<u<?0  ?8CREAE VIEW sys.sac_state AS SELECT component_name, convert(sysname, N'mssqlsystemresource') collate catalog_default AS database_name, schema_name collate catalog_default AS schema_name, object_name collate catalog_default AS object_name, state, type FROM sys.obd_state  < #v6 <: >Ujs)u).6 .component_name ) A56 )U>Uj2)9#)Q0- 4Qcomponent_name ) U6 )U  >U jt)U),6 ,database_name ) X0>U j2)U )O0- Odatabase_name ) aP\>U jv)U )(6 (schema_name ) M\k>Uj2)U )K0- Kschema_name ) - P>Uju)U)(6 (object_name ) +Z>Uj2)U)K0- Kobject_name ) %>Ujw)U)6 state ) L0>Uj2)U)?0- 00?state ) /D<)>Ujx)U)6 type ) Hf>Uj2)U)=0- =type ) p>Uj"1" &  sac_state " ۷6 "U >UjFi"kB" &  sac_stae " /pH6 "US >Uj "42"   " SG76 "UO>Uj "U"J00  V HNU\ Jsac_state " qϜ6 "U{Uj PUjX\UTz X h H 0 X 8p8h80tT/~%&]YELj3\czj"CREATE/ALTER VIEWj]j  >]j "U"J 00 V \\ Jsac_state " qϜ 6 "U{>]j"U"W &  sac_state " ۷ys6 "]>]jFi"U"  &  sac_state " /pH 6 "]S >]j "U"   " SG76 "]OLj3\dzjjSplitPage2] j <: - 2] j<U a  )2] j<  >]j <] c`  @ \ tab@]j<P]j\ <2]j\ <]1  \ >>]j\ <]?n|rs<  ?8CREATE VIEW sys.sac_state AS SELECT component_name, convert(sysname, N'mssqlsystemresource') collate catalog_default AS database_name, schema_name collate catalog_default AS schema_name, object_name collate catalog_default AS object_name, state, type FROM sys.obd_state 0  n8CREATE VIEW sys.master_key_passwords AS SELECT co.id AS credential_id, convert(uniqueidentifier, stringtovarbinary(convert(varchar(128), SUBSTRING ( co.name, charindex('_', co.name) + 1, charindex('_', co.name, charindex('_', co.name) + 1) - charindex('_', co.name) - 1) ) ) ) AS family_guid FROM master.sys.sysclsobjs co LEFT JOIN master.sys.sysobjvalues ov ON ov.valclass = 28 AND ov.objid = co.id AND ov.subobjid = 0 AND ov.vlnum = 1 WHERE co.class = 57 AND has_access('CR', 0) = 1 AND co.name LIKE '##DBMKEY_%' 0 |8CREATE VIEW sys.database_recovery_status AS SELECT d.id AS database_id, p.database_guid, p.family_guid, p.last_log_backup_lsn, p.recovery_fork_guid, p.first_recovery_fork_guid, p.fork_point_lsn FROM master.sys.sysdbreg d OUTER APPLY OpenRowset(TABLE DBRECOVER, d.id) p WHERE d.id < 0x7fff AND has_access('DB', d.id) = 1 0 r8CREAE VIEW sys.database_mirroring AS SELECT d.id AS database_id, p.guid AS mirroring_guid, p.state AS mirroring_state, p.state_desc AS mirroring_state_desc, p.role AS mirroring_role, p.role_desc AS mirroring_role_desc, p.role_sequence AS mirroring_role_sequence, p.safety_level AS mirroring_safety_level, p.safety_level_desc AS mirroring_safety_level_desc, p.safety_sequence AS mirroring_safety_sequence, p.partner_name AS mirroring_partner_name, p.partner_instance AS mirroring_partnerinstance, p.witness_name AS mirroring_witness_name, p.witness_state AS mirroring_witness_state, p.witness_state_desc AS mirroring_witness_state_desc, p.failover_lsn AS mirroring_failover_lsn, p.connection_timeout AS mirroring_connection_timeout, p.redo_queue AS mirroring_redo_queue, p.redo_queue_type AS mirroring_redo_queue_type, p.end_of_log_lsn AS mirroring_end_of_log_lsn, p.safe_relication_lsn AS mirroring_replication_lsn FROM master.sys.sysdbreg d OUTER APPLY OpenRowset(TABE DBMIRROR, d.id) p WHERE d.id < 0x7fff AND has_access('DB', d.id) = 1 0 8CREATE VIEW sys.credentials AS SELECT co.id AS credential_id, co.name, convert(nvarchar(4000), ov.value) as credential_identity, co.created as create_date, co.modified as modify_date, n.name as target_type, r.indepid AS target_id FROM master.sys.sysclsobjs co LEFT JOIN master.sys.sysobjvalues ov ON ov.valclass = 28 AND ov.objid = co.id AND ov.subobjid = 0 AND ov.valnum =1 LEFT JOIN master.sys.syssingleobjrefs r ON r.depid = co.id AND r.class = co.intprop AND r.depsubid = 0 LEFT JOIN sys.syspalvalues n ON n.class = 'SRCL' AND n.value = co.intprop WHERE co.class = 57 AND has_access('CR', 0) = 1 6 <]k<]j <] \ D "&>]j<]\ >]j<]\ >]j <] < \ 2]j\ <]2]j<]2]j<]2]j <]P] j\] dz>] j\ <]<[0  [8CREATE VIEW sys.sac_state AS SELECT component_name, convert(sysname, N'mssqlsystemresource') collate catalog_default AS database_name, schema_name collate catalog_default AS schema_name, object_name collate catalog_default AS object_name, state, type FROM sys.obd_state UNION ALL SELECT convert(sysname, c.name) AS component_name, convert(sysname, N'master') collate catalog_default AS database_name, s.name collate catalog_default AS schema_name, o.name collte catalog_default AS object_name, convert(tinyint, convert(int, c.value) & 1) AS state, o.type FROM master.sys.sysobjkeycrypts k JOIN master.sys.sysschobjs o ON o.id = k.id JOIN master.sys.sysxlgns l ON l.type = 'M' AND substring(l.sid, 13, 28) = k.thumbprint JOIN master.sys.configurations c ON c.name = substring(l.name, 3, len(l.name) - 4) LEFT JOIN master.sys.schemas s ON s.schema_id = o.nsid WHERE k.class = 1 AND k.type = 'INCP' UNION ALL SELECT convert(sysname, c.name) AS componet_name, convert(sysname, N'msdb') collate catalog_default AS database_name, s.name collate catalog_default AS schema_name, o.name collate catalog_default AS object_name, convert(tinyint, convert(int, c.value) & 1) AS state, o.type FROM msdb.sys.sysobjkeycrypts k JOIN msdb.sys.sysschobjs o ON o.id = k.id JOIN master.sys.sysxlgns l ON l.type = 'M' AND substring(l.sid, 13, 28) = k.thumbprint JOIN master.sys.configurations c ON c.name = substring(l.name, 3, len(l.name) - 4) LEFT JOIN mdb.sys.schemas s ON s.schema_id = o.nsid WHERE k.class = 1 AND k.type = 'INCP'  < #v6 <]k>]j2)U)Q0- 4Qcomponent_name ) U>] js)U).6 .component_name ) A5>]!j2)] )O0- Odatabase_name ) aP\>]"jt)]!),6 ,database_name ) X0>]#j2)]")K0- Kschema_name ) - P>]$jv]#)(6 (schema_name ) M\k>]%j2)]$)K0- Kobject_name ) %>]&ju)]%)(6 (object_name ) +Z>]'j2)]&)?0- 00?state ) /D<)>](jw)]')6 state ) L0>])j2)]()=0- =type ) p6 )] >]*jx)]))6 type ) Hf6 )]+>],j "]"  " qϜP]j\]cz$P$$#`#"@"!!h 0`pX xh(` H0x@0)sna L_Ta 2(*&pCJA"'5)-)=fA" p"?5A-A=p" By2""3 Bp"3 B p"3 B p"3 B p" #B p "3 B p "3 Bp "3 Bp " Bp " 3 Bp" Bp" p)5-=p)PBp)QBp)QBp)QBp)QBp)QBp)QBp)QBp)QBp) QBp) ,RBp) 5Bp) QBp) QB p)QB!p )QB"p!)Q"p<5-=$p<GOp#<-=@: <@p&<@p'<@p(<@p)<@p*<Np%"5-=op$" 7p,")5+-1=Hp-" 8p.)5-=Ip/)P`A"\j(0'`&%$# #P"! @p0` P@p0 ` P@p0R* :J0A"'5)-)=fA" pRQp2\p20fA" p