Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
37 Cards in this Set
- Front
- Back
see queries currently running on SQL Server |
SELECT sqltext.TEXT,
req.session_id, req.status, req.command, req.cpu_time, req.total_elapsed_time FROM sys.dm_exec_requests req CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS sqltext |
|
amount of connections to a sql server(w)
|
select db_name(dbid) as db, count(dbid) as connection from sys.sysprocesses where dbid > 0 group by dbid
|
|
kill a session
|
KILL [session_id]
|
|
kill all connections to a db
|
DECLARE @DatabaseName nvarchar(50)
SET @DatabaseName = N'navigator1' DECLARE @SQL varchar(max) SELECT @SQL = COALESCE(@SQL,'') + 'Kill ' + Convert(varchar, SPId) + ';' FROM MASTER..SysProcesses WHERE DBId = DB_ID(@DatabaseName) AND SPId <> @@SPId --SELECT @SQL EXEC(@SQL) |
|
see compatibility level of a db
|
select compatibility_level, name from sys.databases
|
|
list compatibility level (cmd)
|
60 = SQL Server 6.0
65 = SQL Server 6.5 70 = SQL Server 7.0 80 = SQL Server 2000 90 = SQL Server 2005 100 = SQL Server 2008 |
|
set compatibility level (cmd)
|
1)ALTER DATABASE database_name SET SINGLE_USER;
2)ALTER DATABASE database_name SET COMPATIBILITY_LEVEL = { 80 | 90 | 100 } 3)ALTER DATABASE database_name SET MULTI_USER; |
|
backup a database TSQL
|
DECLARE @DB AS VARCHAR(200), @PATH AS VARCHAR(400);
SET @DB = N'navigator1'; SET @PATH = N'D:\MSSQL\BACKUP\'+ @DB + N'-09-30-2011.bak' BACKUP DATABASE @DB TO DISK = @PATH |
|
To confirm the Database Mail activation is started, execute the following statement
|
EXEC msdb.dbo.sysmail_help_status_sp;
|
|
3.To view the error messages returned by Database Mail, execute the following statement
|
SELECT * FROM msdb.dbo.sysmail_event_log;
|
|
add account to idocSendReceive
|
DECLARE @WMSGuid VARCHAR(80),
@URL VARCHAR(80), @TODAY DATE, @WHEN DATE; SET @WMSGuid = '120836fc-05a8-4659-b093-cf2a6a386feb'; SET @URL = 'http://www.nscnavigator.com/' + 'ultera_nav'; SET @TODAY = GETDATE(); SET @WHEN = DATEADD(YEAR, 16, @TODAY); INSERT INTO dbo.idocAccount VALUES (0, @WMSGuid, 51, 7, 7, @URL, @TODAY, @WHEN, 1) |
|
last query ran
|
SELECT deqs.last_execution_time AS [Time], dest.TEXT AS [Query]
FROM sys.dm_exec_query_stats AS deqs CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest ORDER BY deqs.last_execution_time DESC |
|
last querry ran more detailed
|
SELECT TOP 50 * FROM(SELECT COALESCE(OBJECT_NAME(s2.objectid),'Ad-Hoc') AS ProcName,
execution_count,s2.objectid, (SELECT TOP 1 SUBSTRING(s2.TEXT,statement_start_offset / 2+1 , ( (CASE WHEN statement_end_offset = -1 THEN (LEN(CONVERT(NVARCHAR(MAX),s2.TEXT)) * 2) ELSE statement_end_offset END)- statement_start_offset) / 2+1)) AS sql_statement, last_execution_time FROM sys.dm_exec_query_stats AS s1 CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS s2 ) x WHERE sql_statement NOT like 'SELECT TOP 50 * FROM(SELECT %' --and OBJECTPROPERTYEX(x.objectid,'IsProcedure') = 1 ORDER BY last_execution_time DESC |
|
get a list of all user tables in a DB
|
SELECT * FROM sysobjects WHERE type = 'U'
|
|
get a list of all DB in sql
|
EXEC sp_databases
EXEC sp_helpdb |
|
query to backup all DB in SQL
|
DECLARE @name VARCHAR(50) -- database name
DECLARE @path VARCHAR(256) -- path for backup files DECLARE @fileName VARCHAR(256) -- filename for backup DECLARE @fileDate VARCHAR(20) -- used for file name SET @path = 'C:\Backup\' SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) DECLARE db_cursor CURSOR FOR SELECT name FROM master.dbo.sysdatabases WHERE name NOT IN ('master','model','msdb','tempdb') OPEN db_cursor FETCH NEXT FROM db_cursor INTO @name WHILE @@FETCH_STATUS = 0 BEGIN SET @fileName = @path + @name + '_' + @fileDate + '.BAK' BACKUP DATABASE @name TO DISK = @fileName FETCH NEXT FROM db_cursor INTO @name END CLOSE db_cursor DEALLOCATE db_cursor |
|
list of all user tables
|
SELECT name
FROM master.dbo.sysdatabases WHERE name NOT IN ('master','model','msdb','tempdb') |
|
generate sha1
|
declare @hash varchar(100)
SELECT @hash = '2011!V0dka' SELECT HASHBYTES('SHA1', @hash) |
|
concat fields in query result
|
SELECT FirstNAme + ' ' + LastName, EmailAddress as FullName FROM SalesLT.Customer
|
|
generate an MD5 hash
|
declare @hash varchar(100)
SELECT @hash = '2011!V0dka' SELECT HASHBYTES('MD5', @hash) |
|
backup all db in an instance
|
DECLARE @name VARCHAR(50) -- database name
DECLARE @path VARCHAR(256) -- path for backup files DECLARE @fileName VARCHAR(256) -- filename for backup DECLARE @fileDate VARCHAR(20) -- used for file name SET @path = 'd:\MSSQL\backup\2012-03-06\' SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) DECLARE db_cursor CURSOR FOR SELECT name FROM master.dbo.sysdatabases WHERE name NOT IN ('master','model','msdb','tempdb') OPEN db_cursor FETCH NEXT FROM db_cursor INTO @name WHILE @@FETCH_STATUS = 0 BEGIN SET @fileName = @path + @name + '_' + @fileDate + '.BAK' BACKUP DATABASE @name TO DISK = @fileName FETCH NEXT FROM db_cursor INTO @name END CLOSE db_cursor DEALLOCATE db_cursor |
|
extract date from date and time
|
declare @date datetime
set @date=CONVERT(varchar(8), GETDATE(), 112) SELECT @date |
|
Look up a value in all tables
|
DECLARE @SearchStr nvarchar(100)
SET @SearchStr = '## YOUR STRING HERE ##' CREATE TABLE #Results (ColumnName nvarchar(370), ColumnValue nvarchar(3630)) SET NOCOUNT ON DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110) SET @TableName = '' SET @SearchStr2 = QUOTENAME('%' + @SearchStr + '%','''') WHILE @TableName IS NOT NULL BEGIN SET @ColumnName = '' SET @TableName = ( SELECT MIN(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME)) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) > @TableName AND OBJECTPROPERTY( OBJECT_ID( QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) ), 'IsMSShipped' ) = 0 ) WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL) BEGIN SET @ColumnName = ( SELECT MIN(QUOTENAME(COLUMN_NAME)) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = PARSENAME(@TableName, 2) AND TABLE_NAME = PARSENAME(@TableName, 1) AND DATA_TYPE IN ('char', 'varchar', 'nchar', 'nvarchar', 'int', 'decimal') AND QUOTENAME(COLUMN_NAME) > @ColumnName ) IF @ColumnName IS NOT NULL BEGIN INSERT INTO #Results EXEC ( 'SELECT ''' + @TableName + '.' + @ColumnName + ''', LEFT(' + @ColumnName + ', 3630) FROM ' + @TableName + ' (NOLOCK) ' + ' WHERE ' + @ColumnName + ' LIKE ' + @SearchStr2 ) END END END SELECT ColumnName, ColumnValue FROM #Results DROP TABLE #Results |
|
3 line kill all connections to a DB
|
DECLARE @SQL VARCHAR(8000)
SELECT @SQL=COALESCE(@SQL,'')+'Kill '+CAST(spid AS VARCHAR(10))+ '; ' FROM sys.sysprocesses WHERE DBID=DB_ID('catglobal_test') EXEC(@SQL) |
|
kill all connections to a DB
|
-- Create the sql to kill the active database connections
declare @execSql varchar(1000), @databaseName varchar(100) -- Set the database name for which to kill the connections set @databaseName = 'myDatabase' set @execSql = '' select @execSql = @execSql + 'kill ' + convert(char(10), spid) + ' ' from master.dbo.sysprocesses where db_name(dbid) = @databaseName and DBID <> 0 and spid <> @@spid exec(@execSql) |
|
kill all connections to a DB
using alter database |
alter database dbName set single_user with rollback immediate
alter database dbName set multi_user with rollback immediate |
|
list each table in a DB with its particular size
|
SELECT
Coalesce(8 * Sum(CASE WHEN si.indid IN (255) THEN si.reserved END), 0) AS blob_kb , 8 * Sum(CASE WHEN si.indid IN (0, 1) THEN si.reserved END) AS data_kb , Coalesce(8 * Sum(CASE WHEN si.indid NOT IN (0, 1, 255) THEN si.reserved END), 0) AS index_kb , so.name FROM dbo.sysobjects AS so JOIN dbo.sysindexes AS si ON (si.id = so.id) WHERE 'U' = so.type GROUP BY so.name ORDER BY so.name |
|
find all columns with a particular name in a DB
|
SELECT t.name AS table_name,
SCHEMA_NAME(schema_id) AS schema_name, c.name AS column_name FROM sys.tables AS t INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID WHERE c.name LIKE '%EmployeeID%' ORDER BY schema_name, table_name; |
|
find a value in all tables
|
DECLARE @SearchStr nvarchar(100)
SET @SearchStr = 'Corrective Action Report' -- Purpose: To search all columns of all tables for a given search string -- Updated and tested by Tim Gaunt CREATE TABLE #Results (ColumnName nvarchar(370), ColumnValue nvarchar(3630)) SET NOCOUNT ON DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110) SET @TableName = '' SET @SearchStr2 = QUOTENAME('%' + @SearchStr + '%','''') WHILE @TableName IS NOT NULL BEGIN SET @ColumnName = '' SET @TableName = ( SELECT MIN(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME)) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) > @TableName AND OBJECTPROPERTY( OBJECT_ID( QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) ), 'IsMSShipped' ) = 0 ) WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL) BEGIN SET @ColumnName = ( SELECT MIN(QUOTENAME(COLUMN_NAME)) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = PARSENAME(@TableName, 2) AND TABLE_NAME = PARSENAME(@TableName, 1) AND DATA_TYPE IN ('char', 'varchar', 'nchar', 'nvarchar', 'int', 'decimal') AND QUOTENAME(COLUMN_NAME) > @ColumnName ) IF @ColumnName IS NOT NULL BEGIN INSERT INTO #Results EXEC ( 'SELECT ''' + @TableName + '.' + @ColumnName + ''', LEFT(' + @ColumnName + ', 3630) FROM ' + @TableName + ' (NOLOCK) ' + ' WHERE ' + @ColumnName + ' LIKE ' + @SearchStr2 ) END END END SELECT ColumnName, ColumnValue FROM #Results DROP TABLE #Results |
|
move tempdb
|
USE master
GO ALTER DATABASE TempDB MODIFY FILE (NAME = tempdev, FILENAME = 'd:datatempdb.mdf') GO ALTER DATABASE TempDB MODIFY FILE (NAME = templog, FILENAME = 'e:datatemplog.ldf') GO |
|
size of each table in a DB
|
SELECT
t.NAME AS TableName, p.rows AS RowCounts, SUM(a.total_pages) * 8 AS TotalSpaceKB, SUM(a.used_pages) * 8 AS UsedSpaceKB, (SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSpaceKB FROM sys.tables t INNER JOIN sys.indexes i ON t.OBJECT_ID = i.object_id INNER JOIN sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id INNER JOIN sys.allocation_units a ON p.partition_id = a.container_id WHERE t.NAME NOT LIKE 'dt%' AND t.is_ms_shipped = 0 AND i.OBJECT_ID > 255 GROUP BY t.Name, p.Rows ORDER BY t.Name |
|
disable alerts on a site after it has being copied
|
--delete emails from accounts
UPDATE tbl_WMSAccounts SET Email='' WHERE Username!='isupport' --delete values from all 'email' information fields DELETE v FROM tbl_WMSCustomFieldValues v JOIN tbl_WMSCustomFields f ON v.CustomFieldID=f.ID AND f.DataType=18 --disable alerts UPDATE tbl_SmartAlerts SET enabled=0 UPDATE tbl_SmartViewAlerts SET Active=0 --remove automatic run of custom queries DELETE FROM tbl_Schedules WHERE ScheduleType=0 |
|
Update MS Reports pat
Update MS reports templates path (use for when copying sites) |
UPDATE tbl_MSReports SET Path = REPLACE (Path, '#old path#', '#new path#')
UPDATE tbl_DocType SET MsReport = REPLACE (MsReport, '/vion2/', '/vion2_test/') WHERE MsReport IS NOT NULL |
|
delete all records, not binders or modules, just the records so it is clean in a site called highreach
|
delete tbl_CustomObjRecords
|
|
clear all emails in IDM1
|
--delete emails from accounts
UPDATE tbl_WMSAccounts SET Email='' WHERE Username!='isupport' update tbl_WMSWorkers set Email='' update tbl_WMSContacts set Email='' --delete values from all 'email' information fields DELETE v FROM tbl_WMSCustomFieldValues v JOIN tbl_WMSCustomFields f ON v.CustomFieldID=f.ID AND f.DataType=18 --disable alerts UPDATE tbl_SmartAlerts SET enabled=0 UPDATE tbl_SmartViewAlerts SET Active=0 --remove automatic run of custom queries DELETE FROM tbl_Schedules WHERE ScheduleType=0 ----------- |
|
top 10 most poorly performing queries across all |
SELECT TOP 10 execution_count as [Number of Executions], |
|
Finding frequency Counts with SQL |
SELECT tag, count(*) AS total FROM tags GROUP by tag |