SQL Server Scripts
SQL Server Scripts
Above statement will provide you all the databases backup history, this is going to be our master table to retrieve
various type of information about database backups.
2- How to retrieve backup dates of all the databases including system databases?
3- How to find out how many times backup was taken of a particular database?
when 'I'
then 'Diff'
when 'L'
then 'tran'
Note: You can add columns as you wish from our master table dbo.backupset
The below query can be used to get all blocked processes with blocking SPIDs.
USE MASTER
GO
SELECT spid,
blocked AS BlockingSPID,
(SELECT CRI.TEXT
FROM sysprocesses st
CROSS apply sys.Dm_exec_sql_text(sql_handle) CRI
WHERE spid = s.blocked) AS BlockingQuery,
PROGRAM_NAME,
nt_userName,
loginame,
DB_NAME(s.dbid) AS DatabaseName,
CR.TEXT AS Query
FROM sysprocesses s
CROSS apply sys.Dm_exec_sql_text(sql_handle) CR
WHERE blocked <> 0
from sys.databases
OPEN cUpdateStatistics
FETCH NEXT FROM cUpdateStatistics INTO @Databases
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @TSQLScript = 'USE [' + @Databases +']' + ';' + CHAR(13) + 'EXEC sp_updatestats' + ';' + CHAR(13)
PRINT @TSQLScript
FETCH NEXT FROM cUpdateStatistics INTO @Databases
END
CLOSE cUpdateStatistics
DEALLOCATE cUpdateStatistics
SET @sqlcmd = 'ALTER USER [' + @USER + '] WITH LOGIN = [' + @USER + ']'
Exec(@sqlcmd)
PRINT @USER + ' link to DB user reset';
SET @loop = @loop + 1
END
END
SET NOCOUNT OFF
OR
IF (@login_name IS NULL)
DECLARE login_curs CURSOR FOR
SET @tmpstr = 'CREATE LOGIN ' + QUOTENAME( @name ) + ' FROM WINDOWS
WITH DEFAULT_DATABASE = [' + @defaultdb + ']'
END
ELSE BEGIN -- SQL Server authentication
-- obtain password and sid
SET @PWD_varbinary = CAST( LOGINPROPERTY( @name, 'PasswordHash' )
AS varbinary (256) )
EXEC sp_hexadecimal @PWD_varbinary, @PWD_string OUT
EXEC sp_hexadecimal @SID_varbinary,@SID_string OUT
execute (@SQL)
execute(@SQL)
select * from #Test order by DbName
List all triggers in SQL Server database with table name and table's
schem
SELECT
sysobjects.name AS trigger_name
,USER_NAME(sysobjects.uid) AS trigger_owner
,s.name AS table_schema
,OBJECT_NAME(parent_obj) AS table_name
,OBJECTPROPERTY( id, 'ExecIsUpdateTrigger') AS isupdate
,OBJECTPROPERTY( id, 'ExecIsDeleteTrigger') AS isdelete
,OBJECTPROPERTY( id, 'ExecIsInsertTrigger') AS isinsert
,OBJECTPROPERTY( id, 'ExecIsAfterTrigger') AS isafter
,OBJECTPROPERTY( id, 'ExecIsInsteadOfTrigger') AS isinsteadof
,OBJECTPROPERTY(id, 'ExecIsTriggerDisabled') AS [disabled]
FROM sysobjects
SET @TotalUserTables = 0
SET @TotalStoredProcedures = 0
SET @TotalViews = 0
-- Configure basic select statement (without 'USE db' part) for SQL 2005+
servers
OPEN DatabasesCursor
FETCH NEXT FROM DatabasesCursor INTO @DBName
WHILE @@fetch_status = 0
BEGIN
INSERT #tblDBResults
EXEC (@SQLWithDB)
END
CLOSE DatabasesCursor
DEALLOCATE DatabasesCursor
SELECT Item
,SUM(Total_count) AS TotalItems
FROM #tblDBResults
GROUP BY [#tblDBResults].Item
ORDER BY [#tblDBResults].Item
[FOREIGN_KEY_CONSTRAINT],
[SQL_SCALAR_FUNCTION],
[CLR_SCALAR_FUNCTION],
[CLR_TABLE_VALUED_FUNCTION],
[SQL_INLINE_TABLE_VALUED_FUNCTION],
[INTERNAL_TABLE],[SQL_STORED_PROCEDURE],[CLR_STORED_PROCEDURE],[PLAN_GUIDE],[
PRIMARY_KEY_CONSTRAINT],
[RULE],[REPLICATION_FILTER_PROCEDURE],[SYNONYM],[SERVICE_QUEUE],[CLR_TRIGGER]
,[SQL_TABLE_VALUED_FUNCTION],[SQL_TRIGGER],
[TABLE_TYPE],[USER_TABLE],[UNIQUE_CONSTRAINT],[VIEW],[EXTENDED_STORED_PROCEDU
RE]
[FOREIGN_KEY_CONSTRAINT],
[SQL_SCALAR_FUNCTION],
[CLR_SCALAR_FUNCTION],
[CLR_TABLE_VALUED_FUNCTION],
[SQL_INLINE_TABLE_VALUED_FUNCTION],
[INTERNAL_TABLE],[SQL_STORED_PROCEDURE],[CLR_STORED_PROCEDURE],[PLAN_GUIDE],[
PRIMARY_KEY_CONSTRAINT],
[RULE],[REPLICATION_FILTER_PROCEDURE],[SYNONYM],[SERVICE_QUEUE],[CLR_TRIGGER]
,[SQL_TABLE_VALUED_FUNCTION],[SQL_TRIGGER],
[TABLE_TYPE],[USER_TABLE],[UNIQUE_CONSTRAINT],[VIEW],[EXTENDED_STORED_PROCEDU
RE])) pvt' from sys.databases
where [name] NOT IN ('master','tempdb','model','msdb') order by [Name]
execute(@Qry)
Record Count in All Tables in All Databases
declare @SQL nvarchar(max)
execute (@SQL)
To Check the Log Shipping status.
EXEC sp_help_log_shipping_monitor
[SQL_STORED_PROCEDURE],[SQL_TRIGGER],
[VIEW]
execute(@Qry)
Table counts in instance level
declare @t table(
DBName sysname,
NumTables int
)
insertinto @t
execsp_MSforeachdb N'select ''?'', count(*)
from [?].dbo.sysobjects
where type = ''U'''
selectSUM(NumTables)as TotalTables
from @t
where DBName notin('distribution','master','model','msdb','tempdb')
execute(@Qry)
OPEN c1
FETCH c1 INTO @name
WHILE @@FETCH_STATUS >= 0
BEGIN
SELECT @sql =
'INSERT INTO #tmpTable
SELECT N'''+ @name + ''', a.name, c.name
FROM [' + @name + '].sys.database_principals a
JOIN [' + @name + '].sys.database_role_members b ON b.member_principal_id =
a.principal_id
JOIN [' + @name + '].sys.database_principals c ON c.principal_id =
b.role_principal_id
WHERE a.name != ''dbo'''
EXECUTE (@sql)
FETCH c1 INTO @name
END
CLOSE c1
DEALLOCATE c1
SET @sql = 'SELECT LEFT(DBName, ' + LTRIM(STR(@maxlen1)) + ') AS ''DB Name'', '
SET @sql = @sql + 'LEFT(UserName, ' + LTRIM(STR(@maxlen2)) + ') AS ''User Name'',
'
SET @sql = @sql + 'LEFT(RoleName, ' + LTRIM(STR(@maxlen3)) + ') AS ''Role Name''
'
SET @sql = @sql + 'FROM #tmpTable '
SET @sql = @sql + 'ORDER BY DBName, UserName'
EXEC(@sql)
list the databases and and the respective roles/privileges mapped for a
particular user
-- display results
SELECT*
FROM #tempww
ORDER BY dbname, username
-- cleanup
DROP TABLE #tempww
DBCC CHECKTABLE
Informational Statements
DBCC INPUTBUFFER DBCC SHOWCONTIG
DBCC SHOW_STATISTICS
Validation Statements
DBCC CHECKALLOC DBCC CHECKFILEGROUP
DBCC CHECKDB
Maintenance Statements
DBCC CLEANTABLE DBCC INDEXDEFRAG
sys.dm_exec_connections
sys.dm_exec_sessions
sys.dm_exec_requests
sys.dm_exec_cached_plans
sys.dm_exec_query_plans
sys.dm_exec_sql_text
sys.dm_exec_query_stats
Index Related
sys.dm_db_index_physical_stats
sys.dm_db_index_usage_stats
sys.dm_os_performance_counters
sys.dm_os_schedulers
sys.dm_os_nodes
sys.dm_os_waiting_tasks
sys.dm_os_wait_stats