Saturday, July 9, 2016

Check for Index on table


IF EXISTS (SELECT *  FROM sys.indexes  WHERE name='Index_Name' 
    AND object_id = OBJECT_ID('[SchmaName].[TableName]'))
  begin
    DROP INDEX [Index_Name] ON [SchmaName].[TableName];
  end

Friday, May 20, 2016

Perform Mass Table Drops


You can build up a string using the catalog views, e.g.:
DECLARE @sql NVARCHAR(MAX) = N'';

SELECT @sql += '
DROP TABLE ' 
    + QUOTENAME(s.name)
    + '.' + QUOTENAME(t.name) + ';'
    FROM sys.tables AS t
    INNER JOIN sys.schemas AS s
    ON t.[schema_id] = s.[schema_id] 
    WHERE t.name LIKE 'LG_001%';

PRINT @sql;
-- EXEC sp_executesql @sql;
To just get the list of tables, use:
SELECT s.name, t.name 
  FROM sys.tables AS t 
  INNER JOIN sys.schemas AS s 
  ON t.[schema_id] = s.[schema_id] 
  WHERE t.name LIKE 'LG_001%';


Wednesday, January 13, 2016

The transaction log for database is full due to 'LOG_BACKUP'

There are only 2 ways the Transaction Log will truncate itself to reuse the internal space (Virtual log files) , 1 is through checkpoint process, on the simple recovery model when the log gets 70% full. The other, is after every Log Backup under Full recovery model. Maybe something is going on with these log backups. Perhaps they are completing in SQL Agent, but not doing anything at all? Try checking the backup history table in MSDB to make sure the log backups are happening and their physical file exist
SELECT TOP (10) a.database_name[DB],a.server_name[SQL INST],b.physical_device_name,a.backup_finish_date [BKP END DATE],CASE a.type
    WHEN 'D' THEN 'FULL'
    WHEN 'L' THEN 'LOG'
    END AS 'Backup Type'
FROM dbo.backupset a
JOIN dbo.backupmediafamily b
ON a.media_set_id = b.media_set_id
WHERE database_name IN ('Your Database Here') AND type = 'L'
ORDER BY backup_finish_date DESC
Thanks

Wednesday, August 26, 2015

EXCEL :: Excel FIND() function


IF Cell A1 = "cfuccillo003***********00300285569"

THEN Cell B2 = LEFT(A1, FIND("*",A1,1)-1)
 
 

Wednesday, August 5, 2015

ORACLE SQL BETWEEN two dates




SELECT * FROM ps_job
WHERE emplid = '00000000000'

  and action_dt between to_date('10/01/2014','mm-dd-yyyy') and to_date('06/30/2015','mm-dd-yyyy')


Monday, August 3, 2015

Display Column Properties

 SELECT b.name as 'schema_name', a.name, c.name as 'Column_Name', c.column_id, a.object_id, a.schema_id, a.parent_object_id, a.type, a.type_desc, a.create_date, a.modify_date
 FROM sys.columns c INNER JOIN (sys.objects a INNER JOIN sys.schemas b ON a.schema_id = b.schema_id) ON c.object_ID = a.object_id
 WHERE a.object_id IN (select object_ID from sys.columns where name like 'snapshot%')
  and b.name = 'dbo'
  and a.name = 'Flatfile_employee'
 ORDER BY a.[type], b.name, a.name

Tuesday, July 21, 2015

Database Stored Procedures list



SELECT o.schema_ID, s.name, o.name, o.create_date, o.modify_date, len(m.[definition]) as 'Definition_length'
FROM sys.schemas s INNER JOIN (sys.sql_modules m inner join sys.objects o on m.object_id=o.object_id) ON s.schema_id = o.schema_id
WHERE type = 'P'
 --and m.[definition] LIKE '%2015%'
 and s.name IN ('[name1]', '[name2]', '[name3]')
 --and s.name NOT IN ('Reporting')
 --and modify_date > '07/01/2015'
order by o.schema_ID, o.name, o.modify_date DESC




Friday, July 10, 2015

Find all Stored Procedures with specific text included within


In this example, I'm looking for the hard-coded "2015" so it can be replaced with a dynamic variable.

SELECT o.schema_ID, s.name, o.name
   , o.create_date
   , o.modify_date
   , len(m.[definition]) as 'Definition_length'
FROM sys.schemas s INNER JOIN (sys.sql_modules m inner join sys.objects o on m.object_id=o.object_id) ON s.schema_id = o.schema_id
WHERE type = 'P'
 and m.[definition] LIKE '%2015%'
 --and o.name IN ('snapshot', 'snapshotbase', 'snapshotLimit', 'snapshotlimitnonhc', 'snapshot_rel2_model_a','snapshot_rel2_model_b', 'snapshot_rel2_model_c', 'snapshotlimitnonhc')
 and s.name NOT IN ('Reporting')

ORDER BY o.schema_ID, o.name, o.modify_date DESC



Thursday, July 9, 2015

Last Run Date of Stored Procedure

SELECT o.name,
       ps.last_execution_time
FROM   sys.dm_exec_procedure_stats ps
INNER JOIN
       sys.objects o
       ON ps.object_id = o.object_id
WHERE  DB_NAME(ps.database_id) = 'HRSSCRPT'
--and o.name like 'sp_gen%'
ORDER BY ps.last_execution_time DESC