30 Eylül 2017 Cumartesi

SQL Server max degree of parallelism

USE AdventureWorks2012 ; GO EXEC sp_configure 'show advanced options', 1; GO RECONFIGURE WITH OVERRIDE; GO EXEC sp_configure 'max degree of parallelism', 8; GO RECONFIGURE WITH OVERRIDE; GO

26 Eylül 2017 Salı

Oracle Tablo Boyutları

SELECT A.OWNER,
A.TABLE_NAME,
NUM_ROWS,
TRUNC (b.size_G, 2) AS SIZE_G
FROM DBA_TABLES A,
(  SELECT owner, table_name, ROUND (SUM (bytes) / 1024 / 1024 / 1024) SIZE_G
  FROM (SELECT segment_name table_name, owner, bytes
  FROM dba_segments
WHERE segment_type IN ('TABLE',
'TABLE PARTITION',
'TABLE SUBPARTITION')
UNION ALL
SELECT i.table_name, i.owner, s.bytes
  FROM dba_indexes i, dba_segments s
WHERE     s.segment_name = i.index_name
   AND s.owner = i.owner
   AND s.segment_type IN ('INDEX',
  'INDEX PARTITION',
  'INDEX SUBPARTITION')
UNION ALL
SELECT l.table_name, l.owner, s.bytes
  FROM dba_lobs l, dba_segments s
WHERE     s.segment_name = l.segment_name
   AND s.owner = l.owner
   AND s.segment_type IN ('LOBSEGMENT',
  'LOB PARTITION',
  'LOB SUBPARTITION')
UNION ALL
SELECT l.table_name, l.owner, s.bytes
  FROM dba_lobs l, dba_segments s
WHERE     s.segment_name = l.index_name
   AND s.owner = l.owner
   AND s.segment_type = 'LOBINDEX')
  GROUP BY table_name, owner
  ORDER BY SUM (bytes) DESC) b
WHERE     A.TABLE_NAME IN ('AUDIT_COUNTER',
'AUDIT_DETAILS',
'AUDIT_TRAIL',
'CI_INDEXES',
'CUBE_INSTANCE',
'CUBE_SCOPE',
'DLV_MESSAGE',
'DLV_SUBSCRIPTION',
'DOCUMENT_CI_REF',
'DOCUMENT_DLV_MSG_REF',
'HEADERS_PROPERTIES',
'WI_FAULT',
'WORK_ITEM',
'XML_DOCUMENT',
'COMPONENT_INSTANCE',
'COMPOSITE_INSTANCE',
'COMPOSITE_INSTANCE_ASSOC',
'COMPOSITE_INSTANCE_FAULT',
'COMPOSITE_SENSOR_VALUE',
'INSTANCE_PAYLOAD',
'REFERENCE_INSTANCE',
'REJECTED_MESSAGE',
'REJECTED_MSG_NATIVE_PAYLOAD',
'MEDIATOR_AUDIT_DOCUMENT',
'MEDIATOR_CASE_DETAIL',
'MEDIATOR_CASE_INSTANCE',
'MEDIATOR_DEFERRED_MESSAGE',
'MEDIATOR_INSTANCE',
'MEDIATOR_PAYLOAD')
AND A.OWNER = 'TTOTEST_SOAINFRA'
AND a.table_name = b.TABLE_name
AND A.OWNER=B.OWNER
ORDER BY TABLE_NAME

17 Eylül 2017 Pazar

SQL Server Rebuild All Index

DECLARE @Database VARCHAR(255) 
DECLARE @Table VARCHAR(255) 
DECLARE @cmd NVARCHAR(500) 
DECLARE @fillfactor INT

SET @fillfactor = 90

DECLARE DatabaseCursor CURSOR FOR 
SELECT name FROM master.dbo.sysdatabases 
WHERE name IN ('RTM', 'RTM2') 
ORDER BY 1 

OPEN DatabaseCursor 

FETCH NEXT FROM DatabaseCursor INTO @Database 
WHILE @@FETCH_STATUS = 0 
BEGIN 

   SET @cmd = 'DECLARE TableCursor CURSOR FOR SELECT ''['' + table_catalog + ''].['' + table_schema + ''].['' +
  table_name + '']'' as tableName FROM [' + @Database + '].INFORMATION_SCHEMA.TABLES
  WHERE table_type = ''BASE TABLE''' 

   -- create table cursor 
   EXEC (@cmd) 
   OPEN TableCursor 

   FETCH NEXT FROM TableCursor INTO @Table 
   WHILE @@FETCH_STATUS = 0 
   BEGIN 

       IF (@@MICROSOFTVERSION / POWER(2, 24) >= 9)
       BEGIN
           -- SQL 2005 or higher command
           SET @cmd = 'ALTER INDEX ALL ON ' + @Table + ' REBUILD WITH (FILLFACTOR = ' + CONVERT(VARCHAR(3),@fillfactor) + ')'
           EXEC (@cmd)
       END
       ELSE
       BEGIN
          -- SQL 2000 command
          DBCC DBREINDEX(@Table,' ',@fillfactor) 
       END

       FETCH NEXT FROM TableCursor INTO @Table 
   END 

   CLOSE TableCursor 
   DEALLOCATE TableCursor 

   FETCH NEXT FROM DatabaseCursor INTO @Database 
END 
CLOSE DatabaseCursor 
DEALLOCATE DatabaseCursor

SQL Server Index Fragmantation List

SELECT OBJECT_NAME(ind.OBJECT_ID) AS TableName,
ind.name AS IndexName, indexstats.index_type_desc AS IndexType,
indexstats.avg_fragmentation_in_percent
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, NULL) indexstats
INNER JOIN sys.indexes ind 
ON ind.object_id = indexstats.object_id
AND ind.index_id = indexstats.index_id
WHERE indexstats.avg_fragmentation_in_percent > 30
ORDER BY indexstats.avg_fragmentation_in_percent DESC