initial population of repo
This commit is contained in:
6
POS-2e06e4b5-85f0-4493-b17d-67a332f9e634.json
Normal file
6
POS-2e06e4b5-85f0-4493-b17d-67a332f9e634.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "2e06e4b5-85f0-4493-b17d-67a332f9e634",
|
||||||
|
"prefix": "POS",
|
||||||
|
"description": "list all POS",
|
||||||
|
"body": "SELECT * \r\nFROM [Arizona].[dbo].[Point_of_sale] [pos]\r\nWHERE [pos].[POS_active]=1\r\nAND [pos].[POS_type] IN (1,2)\r\nAND [pos].[POS_number] < 99\r\n;\r\n"
|
||||||
|
}
|
||||||
@@ -1,2 +1,4 @@
|
|||||||
# sql-snippets
|
# sql-snippets
|
||||||
red-gate sql prompt snippets
|
red-gate sql prompt snippets
|
||||||
|
|
||||||
|
Find in this repo my most often used and most useful red-gate sql prompt snippets
|
||||||
|
|||||||
6
be-1bb85689-38cd-4f92-89b6-8df1612b1c8f.json
Normal file
6
be-1bb85689-38cd-4f92-89b6-8df1612b1c8f.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "1bb85689-38cd-4f92-89b6-8df1612b1c8f",
|
||||||
|
"prefix": "be",
|
||||||
|
"description": "BEGIN...END block",
|
||||||
|
"body": "BEGIN\r\n $SELECTEDTEXT$$CURSOR$\r\nEND"
|
||||||
|
}
|
||||||
6
bkpHist-9bbe2292-2584-4d65-a484-4f60dc92cd94.json
Normal file
6
bkpHist-9bbe2292-2584-4d65-a484-4f60dc92cd94.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "9bbe2292-2584-4d65-a484-4f60dc92cd94",
|
||||||
|
"prefix": "bkpHist",
|
||||||
|
"description": "list database backup history",
|
||||||
|
"body": "SELECT \r\n\td.name\r\n\t,[last 5 backups] = STUFF(CONVERT(VARCHAR(MAX),bkp.strDates),1,1,'')\r\n\t,d.create_date\r\n\t,d.collation_name\r\n\t,d.compatibility_level\r\nFROM sys.databases d\r\n\tCROSS APPLY (\r\n\t\tSELECT TOP 5\r\n ',' + CONVERT(VARCHAR(50), ibs.backup_finish_date, 120) + ' (by ' + ibs.name +')'\r\n\t\tFROM msdb.dbo.backupset ibs \r\n\t\tWHERE 1=1\r\n\t\tAND ibs.type='D'\t--Database backup\r\n\t\tAND ibs.database_name = d.name\r\n\t\tORDER BY ibs.backup_finish_date DESC \r\n\t\tFOR XML PATH(''), TYPE \r\n\t)bkp(strDates)\r\nWHERE 1=1\r\nAND d.name NOT IN (\r\n\t'master'\r\n\t,'model'\r\n\t,'tempdb'\r\n)\r\nORDER BY d.name \r\n;\r\n"
|
||||||
|
}
|
||||||
6
bt-c867233c-3e25-49a8-b4e9-94c8dc11bdb0.json
Normal file
6
bt-c867233c-3e25-49a8-b4e9-94c8dc11bdb0.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "c867233c-3e25-49a8-b4e9-94c8dc11bdb0",
|
||||||
|
"prefix": "bt",
|
||||||
|
"description": "Begin transaction",
|
||||||
|
"body": "BEGIN TRANSACTION "
|
||||||
|
}
|
||||||
6
cal-ca9ed7a3-6fb0-4d39-b918-887951161076.json
Normal file
6
cal-ca9ed7a3-6fb0-4d39-b918-887951161076.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "ca9ed7a3-6fb0-4d39-b918-887951161076",
|
||||||
|
"prefix": "cal",
|
||||||
|
"description": "create a calendar #cal table",
|
||||||
|
"body": "--#region create calendar\r\nDECLARE @nb TABLE( val INT);\r\nINSERT INTO @nb(val)\r\nSELECT a=0 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9;\r\n\r\nIF (SELECT OBJECT_ID('tempdb..#cal'))IS NOT NULL BEGIN\r\n\tDROP TABLE #cal;\r\nEND; \r\n\r\nSELECT * \r\nINTO #cal\r\nFROM (\r\n\tSELECT \r\n\t\tdtm=DATEADD(\r\n\t\t\tDAY\r\n\t\t\t, DATEDIFF(\r\n\t\t\t\tDAY\r\n\t\t\t\t, 0\r\n\t\t\t\t, DATEADD(\r\n\t\t\t\t\tDAY\r\n\t\t\t\t\t, ROW_NUMBER()OVER(ORDER BY a.val) * -1\r\n\t\t\t\t\t, CURRENT_TIMESTAMP\r\n\t\t\t\t)\r\n\t\t\t)\r\n\t\t\t, 1\r\n\t\t)\r\n\tFROM @nb a\r\n\t\tCROSS JOIN @nb b\r\n\t\tCROSS JOIN @nb c\r\n\t\tCROSS JOIN @nb d\r\n)x\r\nWHERE 1=1\r\nAND x.dtm BETWEEN @dtmFrom AND @dtmTo;\r\n--#endregion\r\n"
|
||||||
|
}
|
||||||
6
cc-f1d3df2e-22bf-4a1e-b423-72b3fb610932.json
Normal file
6
cc-f1d3df2e-22bf-4a1e-b423-72b3fb610932.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "f1d3df2e-22bf-4a1e-b423-72b3fb610932",
|
||||||
|
"prefix": "cc",
|
||||||
|
"description": "comment",
|
||||||
|
"body": "/* $CURSOR$ */"
|
||||||
|
}
|
||||||
6
chk-2a256de1-a831-4337-a883-7ee540cb4563.json
Normal file
6
chk-2a256de1-a831-4337-a883-7ee540cb4563.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "2a256de1-a831-4337-a883-7ee540cb4563",
|
||||||
|
"prefix": "chk",
|
||||||
|
"description": "Creates an extended event session, runs the code you want to test, extracts the output and then stops the session",
|
||||||
|
"body": "/**\r\nCopyright (c) Red Gate Software Ltd 2018\r\nAll rights Reserved. Use of this code is subject to the terms of a license agreement with Red Gate Software Limited.\r\n\r\nFor more info, see https://www.red-gate.com/hub/product-learning/sql-prompt/testing-performance-individual-sql-statements-within-batch-using-sql-prompt\r\n**/\r\n\r\nIF EXISTS --if the session already exists, then delete it. We are assuming you've changed something\r\n (\r\n SELECT * FROM sys.server_event_sessions\r\n WHERE server_event_sessions.name = 'CheckingSQLStatements'\r\n )\r\n DROP EVENT SESSION CheckingSQLStatements ON SERVER;\r\nGO\r\nCREATE EVENT SESSION CheckingSQLStatements --call it what you wish, of course\r\nON SERVER\r\n ADD EVENT sqlserver.sql_statement_completed --we just have one event\r\n (ACTION (sqlserver.database_name, sqlserver.sql_text, sqlserver.plan_handle)-- and these global vars\r\n WHERE (sqlserver.like_i_sql_unicode_string(sqlserver.sql_text, N'--Test these queries%'))\r\n\t --we just want the batch and nothing else so we put an identifying string at the start\r\n )\r\n ADD TARGET package0.ring_buffer \r\n --we don't need a more permanent record or a bucket count\r\nWITH (STARTUP_STATE = OFF);\r\nGO\r\nALTER EVENT SESSION CheckingSQLStatements ON SERVER STATE = START;\r\n--V-----The Batch being tested starts here ------V\r\nGO --don't change this next line without changing the WHERE clause above\r\n--Test these queries\r\n-------------------------------------------------------------------\r\n\r\n$SELECTEDTEXT$\r\n\r\n------------------------------------------------------------------\r\ngo\r\nDECLARE @Target_Data XML =\r\n (\r\n SELECT TOP 1 Cast(xet.target_data AS XML) AS targetdata\r\n FROM sys.dm_xe_session_targets AS xet\r\n INNER JOIN sys.dm_xe_sessions AS xes\r\n ON xes.address = xet.event_session_address\r\n WHERE xes.name = 'CheckingSQLStatements'\r\n AND xet.target_name = 'ring_buffer'\r\n );\r\nSELECT \r\nCONVERT(datetime2,\r\n SwitchOffset(CONVERT(datetimeoffset,the.event_data.value('(@timestamp)[1]', 'datetime2')),\r\n\t\tDateName(TzOffset, SYSDATETIMEOFFSET()))) AS datetime_local,\r\nCONVERT(DECIMAL(6,3),round(the.event_data.value('(data[@name=\"duration\"]/value)[1]', 'bigint')/1000000.0,3,1)) AS duration,\r\nthe.event_data.value('(data[@name=\"statement\"]/value)[1]', 'nvarchar(max)') AS [statement],\r\n--the.event_data.value('(action[@name=\"sql_text\"]/value)[1]', 'nvarchar(max)') AS sql_text,\r\n--the.event_data.value('(action[@name=\"database_name\"]/value)[1]', 'nvarchar(80)') AS [database_name],\r\nqp.query_plan,\r\nthe.event_data.value('(data[@name=\"cpu_time\"]/value)[1]', 'bigint') AS [cpu_time(microsSecs)],\r\nthe.event_data.value('(data[@name=\"physical_reads\"]/value)[1]', 'bigint') AS physical_reads,\r\nthe.event_data.value('(data[@name=\"logical_reads\"]/value)[1]', 'bigint') AS logical_reads,\r\nthe.event_data.value('(data[@name=\"writes\"]/value)[1]', 'bigint') AS writes,\r\nthe.event_data.value('(data[@name=\"row_count\"]/value)[1]', 'bigint') AS row_count\r\n--the.event_data.value('(data[@name=\"last_row_count\"]/value)[1]', 'int') AS last_row_count,\r\n--the.event_data.value('(data[@name=\"line_number\"]/value)[1]', 'int') AS line_number,\r\n--the.event_data.value('(data[@name=\"offset\"]/value)[1]', 'int') AS offset,\r\n--the.event_data.value('(data[@name=\"offset_end\"]/value)[1]', 'int') AS offset_end,\r\n\r\nFROM @Target_Data.nodes('//RingBufferTarget/event') AS the (event_data)\r\n CROSS APPLY sys.dm_exec_query_plan(\r\n Convert(varbinary(64),--convert to valid plan handle\r\n '0x' + the.event_data.value('(action[@name=\"plan_handle\"]/value)[1]', 'nvarchar(max)')\r\n\t\t ,1)) as qp\r\n\r\nALTER EVENT SESSION CheckingSQLStatements ON SERVER STATE = STOP;"
|
||||||
|
}
|
||||||
6
cj-284b1bd2-268f-4a55-9ba4-3e5eea6bf9ba.json
Normal file
6
cj-284b1bd2-268f-4a55-9ba4-3e5eea6bf9ba.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "284b1bd2-268f-4a55-9ba4-3e5eea6bf9ba",
|
||||||
|
"prefix": "cj",
|
||||||
|
"description": "CROSS JOIN fragment",
|
||||||
|
"body": "CROSS JOIN "
|
||||||
|
}
|
||||||
6
ct-692a606f-2cae-42d9-9f7a-587bb5c6d4bd.json
Normal file
6
ct-692a606f-2cae-42d9-9f7a-587bb5c6d4bd.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "692a606f-2cae-42d9-9f7a-587bb5c6d4bd",
|
||||||
|
"prefix": "ct",
|
||||||
|
"description": "Commit transaction",
|
||||||
|
"body": "COMMIT TRANSACTION "
|
||||||
|
}
|
||||||
16
curff-84019c93-ac72-47eb-a7ce-9fccf91bd020.json
Normal file
16
curff-84019c93-ac72-47eb-a7ce-9fccf91bd020.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"id": "84019c93-ac72-47eb-a7ce-9fccf91bd020",
|
||||||
|
"prefix": "curff",
|
||||||
|
"description": "Fast-forward read-only cursor",
|
||||||
|
"body": "/* declare variables */\r\nDECLARE @variable INT\r\n\r\nDECLARE $cursor_name$ CURSOR FAST_FORWARD READ_ONLY FOR $select_statement$\r\n\r\nOPEN $cursor_name$\r\n\r\nFETCH NEXT FROM $cursor_name$ INTO @variable\r\n\r\nWHILE @@FETCH_STATUS = 0\r\nBEGIN\r\n $CURSOR$\r\n\r\n FETCH NEXT FROM $cursor_name$ INTO @variable\r\nEND\r\n\r\nCLOSE $cursor_name$\r\nDEALLOCATE $cursor_name$",
|
||||||
|
"placeholders": [
|
||||||
|
{
|
||||||
|
"name": "cursor_name",
|
||||||
|
"defaultValue": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "select_statement",
|
||||||
|
"defaultValue": ""
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
6
delTmp-23b38bb9-b1ef-4575-9094-2c5f382bdc8d.json
Normal file
6
delTmp-23b38bb9-b1ef-4575-9094-2c5f382bdc8d.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "23b38bb9-b1ef-4575-9094-2c5f382bdc8d",
|
||||||
|
"prefix": "delTmp",
|
||||||
|
"description": "delete temp table",
|
||||||
|
"body": "IF OBJECT_ID('tempdb..$PASTE$')IS NOT NULL BEGIN;\r\n\tDROP TABLE $PASTE$;\r\nEND;\r\n"
|
||||||
|
}
|
||||||
12
df-fc0aed2f-0b61-41b6-8491-c49647582f43.json
Normal file
12
df-fc0aed2f-0b61-41b6-8491-c49647582f43.json
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"id": "fc0aed2f-0b61-41b6-8491-c49647582f43",
|
||||||
|
"prefix": "df",
|
||||||
|
"description": "DELETE FROM fragment",
|
||||||
|
"body": "DELETE FROM $table_name$ WHERE $CURSOR$",
|
||||||
|
"placeholders": [
|
||||||
|
{
|
||||||
|
"name": "table_name",
|
||||||
|
"defaultValue": "[schema].[table_name]"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
6
dmvBadIdx-b73c1b25-8626-469e-98a4-5a2ac1eabb64.json
Normal file
6
dmvBadIdx-b73c1b25-8626-469e-98a4-5a2ac1eabb64.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "b73c1b25-8626-469e-98a4-5a2ac1eabb64",
|
||||||
|
"prefix": "dmvBadIdx",
|
||||||
|
"description": "check for bad indexes",
|
||||||
|
"body": "-- Possible Bad NC Indexes (writes > reads) (Query 52) (Bad NC Indexes)\r\nSELECT\tOBJECT_NAME(s.[object_id]) AS [Table Name]\r\n\t ,i.name AS [Index Name]\r\n\t ,i.index_id\r\n\t ,i.is_disabled\r\n\t ,i.is_hypothetical\r\n\t ,i.has_filter\r\n\t ,i.fill_factor\r\n\t ,user_updates AS [Total Writes]\r\n\t ,user_seeks + user_scans + user_lookups AS [Total Reads]\r\n\t ,user_updates - (user_seeks + user_scans + user_lookups) AS [Difference]\r\nFROM\tsys.dm_db_index_usage_stats AS s WITH (NOLOCK)\r\n\t\tINNER JOIN sys.indexes AS i WITH (NOLOCK) ON s.[object_id] = i.[object_id] AND i.index_id = s.index_id\r\nWHERE\tOBJECTPROPERTY(s.[object_id], 'IsUserTable') = 1\r\n\t\tAND s.database_id = DB_ID()\r\n\t\tAND user_updates > (user_seeks + user_scans + user_lookups)\r\n\t\tAND i.index_id > 1\r\n\t\tAND (user_seeks + user_scans + user_lookups) = 0\r\nORDER BY [Difference] DESC\r\n\t ,[Total Writes] DESC\r\n\t ,[Total Reads] ASC\r\nOPTION\t(RECOMPILE)\r\n;\r\n\r\n-- Look for indexes with high numbers of writes and zero or very low numbers of reads\r\n-- Consider your complete workload, and how long your instance has been running\r\n-- Investigate further before dropping an index!\r\n"
|
||||||
|
}
|
||||||
6
dmvLatency-7df25f65-0eb1-414f-96d5-a150e26c6295.json
Normal file
6
dmvLatency-7df25f65-0eb1-414f-96d5-a150e26c6295.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "7df25f65-0eb1-414f-96d5-a150e26c6295",
|
||||||
|
"prefix": "dmvLatency",
|
||||||
|
"description": "check disks latency. cumulative numbers since start of the server",
|
||||||
|
"body": "-- Drive level latency information (Query 19) (Drive Level Latency)\r\n-- Based on code from Jimmy May\r\nSELECT\t[Drive]\r\n\t ,CASE WHEN num_of_reads = 0 THEN 0\r\n\t\t\t ELSE (io_stall_read_ms / num_of_reads)\r\n\t\tEND AS [Read Latency]\r\n\t ,CASE WHEN io_stall_write_ms = 0 THEN 0\r\n\t\t\t ELSE (io_stall_write_ms / num_of_writes)\r\n\t\tEND AS [Write Latency]\r\n\t ,CASE WHEN (num_of_reads = 0 AND num_of_writes = 0 ) THEN 0\r\n\t\t\t ELSE (io_stall / (num_of_reads + num_of_writes))\r\n\t\tEND AS [Overall Latency]\r\n\t ,CASE WHEN num_of_reads = 0 THEN 0\r\n\t\t\t ELSE (num_of_bytes_read / num_of_reads)\r\n\t\tEND AS [Avg Bytes/Read]\r\n\t ,CASE WHEN io_stall_write_ms = 0 THEN 0\r\n\t\t\t ELSE (num_of_bytes_written / num_of_writes)\r\n\t\tEND AS [Avg Bytes/Write]\r\n\t ,CASE WHEN (num_of_reads = 0 AND num_of_writes = 0 ) THEN 0\r\n\t\t\t ELSE ((num_of_bytes_read + num_of_bytes_written) / (num_of_reads + num_of_writes))\r\n\t\tEND AS [Avg Bytes/Transfer]\r\nFROM\t(SELECT\tLEFT(UPPER(mf.physical_name), 2) AS Drive\r\n\t\t\t ,SUM(num_of_reads) AS num_of_reads\r\n\t\t\t ,SUM(io_stall_read_ms) AS io_stall_read_ms\r\n\t\t\t ,SUM(num_of_writes) AS num_of_writes\r\n\t\t\t ,SUM(io_stall_write_ms) AS io_stall_write_ms\r\n\t\t\t ,SUM(num_of_bytes_read) AS num_of_bytes_read\r\n\t\t\t ,SUM(num_of_bytes_written) AS num_of_bytes_written\r\n\t\t\t ,SUM(io_stall) AS io_stall\r\n\t\t FROM\tsys.dm_io_virtual_file_stats(NULL, NULL) AS vfs\r\n\t\t\t\tINNER JOIN sys.master_files AS mf WITH (NOLOCK) ON vfs.database_id = mf.database_id\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t AND vfs.file_id = mf.file_id\r\n\t\t GROUP BY LEFT(UPPER(mf.physical_name), 2)\r\n\t\t) AS tab\r\nORDER BY [Overall Latency]\r\nOPTION\t(RECOMPILE);\r\n\r\n-- Shows you the drive-level latency for reads and writes, in milliseconds\r\n"
|
||||||
|
}
|
||||||
6
dmvMissingIdx-19e1becb-0cc5-43c4-acc1-0854d9f98596.json
Normal file
6
dmvMissingIdx-19e1becb-0cc5-43c4-acc1-0854d9f98596.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "19e1becb-0cc5-43c4-acc1-0854d9f98596",
|
||||||
|
"prefix": "dmvMissingIdx",
|
||||||
|
"description": "list possible missing indexes",
|
||||||
|
"body": "-- Missing Indexes for all databases by Index Advantage (Query 22) (Missing Indexes All Databases)\r\nSELECT\tCONVERT(DECIMAL(18, 2), user_seeks * avg_total_user_cost * (avg_user_impact * 0.01)) AS [index_advantage]\r\n\t ,migs.last_user_seek\r\n\t ,mid.[statement] AS [Database.Schema.Table]\r\n\t ,mid.equality_columns\r\n\t ,mid.inequality_columns\r\n\t ,mid.included_columns\r\n\t ,migs.unique_compiles\r\n\t ,migs.user_seeks\r\n\t ,migs.avg_total_user_cost\r\n\t ,migs.avg_user_impact\r\nFROM\tsys.dm_db_missing_index_group_stats AS migs WITH (NOLOCK)\r\n\t\tINNER JOIN sys.dm_db_missing_index_groups AS mig WITH (NOLOCK) ON migs.group_handle = mig.index_group_handle\r\n\t\tINNER JOIN sys.dm_db_missing_index_details AS mid WITH (NOLOCK) ON mig.index_handle = mid.index_handle\r\nORDER BY index_advantage DESC\r\nOPTION\t(RECOMPILE);\r\n\r\n-- Getting missing index information for all of the databases on the instance is very useful\r\n-- Look at last user seek time, number of user seeks to help determine source and importance\r\n-- Also look at avg_user_impact and avg_total_user_cost to help determine importance\r\n-- SQL Server is overly eager to add included columns, so beware\r\n-- Do not just blindly add indexes that show up from this query!!!\r\n"
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "c5965ee1-0c12-4cea-a7a7-ae9638190683",
|
||||||
|
"prefix": "dmvReadWriteIdx",
|
||||||
|
"description": "index read vs write stats",
|
||||||
|
"body": "--- Index Read/Write stats (all tables in current DB) ordered by Reads (Query 62) (Overall Index Usage - Reads)\r\nSELECT\ttblName = o.name\r\n\t\t,o.type\r\n\t ,i.name AS [IndexName]\r\n\t ,i.index_id\r\n\t ,user_seeks + user_scans + user_lookups AS [Reads]\r\n\t ,s.user_updates AS [Writes]\r\n\t ,i.type_desc AS [IndexType]\r\n\t ,i.fill_factor AS [FillFactor]\r\n\t ,i.has_filter\r\n\t ,i.filter_definition\r\n\t ,s.last_user_scan\r\n\t ,s.last_user_lookup\r\n\t ,s.last_user_seek\r\nFROM\tsys.dm_db_index_usage_stats AS s WITH (NOLOCK)\r\n\t\tINNER JOIN sys.indexes AS i WITH (NOLOCK) ON s.object_id = i.object_id\r\n\t\tINNER JOIN sys.objects o WITH (NOLOCK) ON s.object_id = o.object_id\r\nWHERE\to.type = 'U' -- user table\r\n\tAND i.index_id = s.index_id\r\n\tAND s.database_id = DB_ID()\r\n\t--AND o.name = 'tblRezeptZeile'\r\n\t--AND i.name = 'idxTblRezeptZeileUniProfilFK'\r\nORDER BY user_seeks + user_scans + user_lookups DESC -- Order by reads\r\n--ORDER BY s.user_updates DESC OPTION \t\t\t\t -- Order by writes\r\nOPTION\t(RECOMPILE);\r\n"
|
||||||
|
}
|
||||||
6
dmvTopQueries-a4d55aef-b09a-41fc-8dfb-4cb38902d29a.json
Normal file
6
dmvTopQueries-a4d55aef-b09a-41fc-8dfb-4cb38902d29a.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "a4d55aef-b09a-41fc-8dfb-4cb38902d29a",
|
||||||
|
"prefix": "dmvTopQueries",
|
||||||
|
"description": "Top Cached SPs By Avg Elapsed Time ",
|
||||||
|
"body": "SELECT x.[SP Name]\r\n\t ,avg_elapsed_time = SUM(x.total_elapsed_time) / SUM(x.execution_count)\r\n\t ,total_elapsed_time = SUM(x.total_elapsed_time)\r\n\t ,execution_count = SUM(x.execution_count)\r\nFROM(\t\r\n\t\t-- Top Cached SPs By Avg Elapsed Time (SQL 2008 R2) (Query 45) (SP Avg Elapsed Time) \r\n\t\tSELECT TOP(50) p.name AS [SP Name], qs.total_elapsed_time/qs.execution_count AS [avg_elapsed_time], \r\n\t\tqs.total_elapsed_time, qs.execution_count, ISNULL(qs.execution_count/DATEDIFF(Minute, qs.cached_time, \r\n\t\tGETDATE()), 0) AS [Calls/Minute], qs.total_worker_time/qs.execution_count AS [AvgWorkerTime], \r\n\t\tqs.total_worker_time AS [TotalWorkerTime], qs.cached_time\r\n\t\tFROM sys.procedures AS p WITH (NOLOCK)\r\n\t\tINNER JOIN sys.dm_exec_procedure_stats AS qs WITH (NOLOCK)\r\n\t\tON p.[object_id] = qs.[object_id]\r\n\t\tWHERE qs.database_id = DB_ID()\r\n\t\tORDER BY avg_elapsed_time DESC \r\n\t) x \r\nGROUP BY x.[SP Name]\r\nORDER BY SUM(x.total_elapsed_time) DESC OPTION (RECOMPILE)\r\n\r\n-- This helps you find long-running cached stored procedures that\r\n-- may be easy to optimize with standard query tuning techniques\r\n"
|
||||||
|
}
|
||||||
6
dmvTopWaits-cdc9ce01-725c-4483-9d8e-b8f0d878066e.json
Normal file
6
dmvTopWaits-cdc9ce01-725c-4483-9d8e-b8f0d878066e.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "cdc9ce01-725c-4483-9d8e-b8f0d878066e",
|
||||||
|
"prefix": "dmvTopWaits",
|
||||||
|
"description": "Isolate top waits for server instance since last restart or wait statistics clear",
|
||||||
|
"body": "WITH [Waits] \r\nAS (SELECT wait_type, wait_time_ms/ 1000.0 AS [WaitS],\r\n (wait_time_ms - signal_wait_time_ms) / 1000.0 AS [ResourceS],\r\n signal_wait_time_ms / 1000.0 AS [SignalS],\r\n waiting_tasks_count AS [WaitCount],\r\n 100.0 * wait_time_ms / SUM (wait_time_ms) OVER() AS [Percentage],\r\n ROW_NUMBER() OVER(ORDER BY wait_time_ms DESC) AS [RowNum]\r\n FROM sys.dm_os_wait_stats WITH (NOLOCK)\r\n WHERE [wait_type] NOT IN (\r\n N'BROKER_EVENTHANDLER', N'BROKER_RECEIVE_WAITFOR', N'BROKER_TASK_STOP',\r\n\t\tN'BROKER_TO_FLUSH', N'BROKER_TRANSMITTER', N'CHECKPOINT_QUEUE',\r\n N'CHKPT', N'CLR_AUTO_EVENT', N'CLR_MANUAL_EVENT', N'CLR_SEMAPHORE',\r\n N'DBMIRROR_DBM_EVENT', N'DBMIRROR_EVENTS_QUEUE', N'DBMIRROR_WORKER_QUEUE',\r\n\t\tN'DBMIRRORING_CMD', N'DIRTY_PAGE_POLL', N'DISPATCHER_QUEUE_SEMAPHORE',\r\n N'EXECSYNC', N'FSAGENT', N'FT_IFTS_SCHEDULER_IDLE_WAIT', N'FT_IFTSHC_MUTEX',\r\n N'HADR_CLUSAPI_CALL', N'HADR_FILESTREAM_IOMGR_IOCOMPLETION', N'HADR_LOGCAPTURE_WAIT', \r\n\t\tN'HADR_NOTIFICATION_DEQUEUE', N'HADR_TIMER_TASK', N'HADR_WORK_QUEUE',\r\n N'KSOURCE_WAKEUP', N'LAZYWRITER_SLEEP', N'LOGMGR_QUEUE', N'ONDEMAND_TASK_QUEUE',\r\n N'PWAIT_ALL_COMPONENTS_INITIALIZED', N'QDS_PERSIST_TASK_MAIN_LOOP_SLEEP',\r\n N'QDS_CLEANUP_STALE_QUERIES_TASK_MAIN_LOOP_SLEEP', N'REQUEST_FOR_DEADLOCK_SEARCH',\r\n\t\tN'RESOURCE_QUEUE', N'SERVER_IDLE_CHECK', N'SLEEP_BPOOL_FLUSH', N'SLEEP_DBSTARTUP',\r\n\t\tN'SLEEP_DCOMSTARTUP', N'SLEEP_MASTERDBREADY', N'SLEEP_MASTERMDREADY',\r\n N'SLEEP_MASTERUPGRADED', N'SLEEP_MSDBSTARTUP', N'SLEEP_SYSTEMTASK', N'SLEEP_TASK',\r\n N'SLEEP_TEMPDBSTARTUP', N'SNI_HTTP_ACCEPT', N'SP_SERVER_DIAGNOSTICS_SLEEP',\r\n\t\tN'SQLTRACE_BUFFER_FLUSH', N'SQLTRACE_INCREMENTAL_FLUSH_SLEEP', N'SQLTRACE_WAIT_ENTRIES',\r\n\t\tN'WAIT_FOR_RESULTS', N'WAITFOR', N'WAITFOR_TASKSHUTDOWN', N'WAIT_XTP_HOST_WAIT',\r\n\t\tN'WAIT_XTP_OFFLINE_CKPT_NEW_LOG', N'WAIT_XTP_CKPT_CLOSE', N'XE_DISPATCHER_JOIN',\r\n N'XE_DISPATCHER_WAIT', N'XE_TIMER_EVENT')\r\n AND waiting_tasks_count > 0)\r\nSELECT\r\n MAX (W1.wait_type) AS [WaitType],\r\n CAST (MAX (W1.WaitS) AS DECIMAL (16,2)) AS [Wait_Sec],\r\n CAST (MAX (W1.ResourceS) AS DECIMAL (16,2)) AS [Resource_Sec],\r\n CAST (MAX (W1.SignalS) AS DECIMAL (16,2)) AS [Signal_Sec],\r\n MAX (W1.WaitCount) AS [Wait Count],\r\n CAST (MAX (W1.Percentage) AS DECIMAL (5,2)) AS [Wait Percentage],\r\n CAST ((MAX (W1.WaitS) / MAX (W1.WaitCount)) AS DECIMAL (16,4)) AS [AvgWait_Sec],\r\n CAST ((MAX (W1.ResourceS) / MAX (W1.WaitCount)) AS DECIMAL (16,4)) AS [AvgRes_Sec],\r\n CAST ((MAX (W1.SignalS) / MAX (W1.WaitCount)) AS DECIMAL (16,4)) AS [AvgSig_Sec]\r\nFROM Waits AS W1\r\nINNER JOIN Waits AS W2\r\nON W2.RowNum <= W1.RowNum\r\nGROUP BY W1.RowNum\r\nHAVING SUM (W2.Percentage) - MAX (W1.Percentage) < 99 -- percentage threshold\r\nOPTION (RECOMPILE);\r\n\r\n-- The SQL Server Wait Type Repository\r\n-- http://blogs.msdn.com/b/psssql/archive/2009/11/03/the-sql-server-wait-type-repository.aspx\r\n\r\n-- Wait statistics, or please tell me where it hurts\r\n-- http://www.sqlskills.com/blogs/paul/wait-statistics-or-please-tell-me-where-it-hurts/\r\n\r\n-- SQL Server 2005 Performance Tuning using the Waits and Queues\r\n-- http://technet.microsoft.com/en-us/library/cc966413.aspx\r\n\r\n-- sys.dm_os_wait_stats (Transact-SQL)\r\n-- http://msdn.microsoft.com/en-us/library/ms179984(v=sql.105).aspx\r\n"
|
||||||
|
}
|
||||||
6
dmvWaitLocks-bf168303-81c4-4341-8b76-0a8a152f1404.json
Normal file
6
dmvWaitLocks-bf168303-81c4-4341-8b76-0a8a152f1404.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "bf168303-81c4-4341-8b76-0a8a152f1404",
|
||||||
|
"prefix": "dmvWaitLocks",
|
||||||
|
"description": "Get lock waits for current database ",
|
||||||
|
"body": "-- Get lock waits for current database (Query 64) (Lock Waits)\r\nSELECT\to.name AS [table_name]\r\n\t ,i.name AS [index_name]\r\n\t ,ios.index_id\r\n\t ,ios.partition_number\r\n\t ,SUM(ios.row_lock_wait_count) AS [total_row_lock_waits]\r\n\t ,SUM(ios.row_lock_wait_in_ms) AS [total_row_lock_wait_in_ms]\r\n\t ,SUM(ios.page_lock_wait_count) AS [total_page_lock_waits]\r\n\t ,SUM(ios.page_lock_wait_in_ms) AS [total_page_lock_wait_in_ms]\r\n\t ,SUM(ios.page_lock_wait_in_ms) + SUM(row_lock_wait_in_ms) AS [total_lock_wait_in_ms]\r\nFROM\tsys.dm_db_index_operational_stats(DB_ID(), NULL, NULL, NULL) AS ios\r\n\t\tINNER JOIN sys.objects AS o WITH (NOLOCK) ON ios.[object_id] = o.[object_id]\r\n\t\tINNER JOIN sys.indexes AS i WITH (NOLOCK) ON ios.[object_id] = i.[object_id]\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t AND ios.index_id = i.index_id\r\nWHERE\to.[object_id] > 100\r\nGROUP BY o.name\r\n\t ,i.name\r\n\t ,ios.index_id\r\n\t ,ios.partition_number\r\nHAVING\tSUM(ios.page_lock_wait_in_ms) + SUM(row_lock_wait_in_ms) > 0\r\nORDER BY total_lock_wait_in_ms DESC\r\nOPTION\t(RECOMPILE);\r\n"
|
||||||
|
}
|
||||||
6
eata-8a40a419-39e7-47d4-b0d2-823dd63f03d6.json
Normal file
6
eata-8a40a419-39e7-47d4-b0d2-823dd63f03d6.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "8a40a419-39e7-47d4-b0d2-823dd63f03d6",
|
||||||
|
"prefix": "eata",
|
||||||
|
"description": "Add column (enhanced edition)",
|
||||||
|
"body": "/**\r\nCopyright (c) Red Gate Software Ltd 2018\r\nAll rights Reserved. Use of this code is subject to the terms of a license agreement with Red Gate Software Limited.\r\n\r\nFor more info, see https://www.red-gate.com/hub/product-learning/sql-prompt/customizing-sql-prompt-built-snippets-better-ata-snippet\r\n**/\r\n\r\nUSE <database, sysname, $DBNAME$>\r\nGO\r\n \r\n-- Add a new column to the table\r\nALTER TABLE <Name of the Schema, sysname, dbo>.<Table name, sysname, $SELECTEDTEXT$>\r\n ADD <Name of the new column, sysname, MyColumn> <datatype of this column,, datetime> <NULL or NOT NULL (allow nulls?),, NULL> -- <What is this column for?, sysname, unknown>\r\nGO\r\nEXEC sys.sp_addextendedproperty \r\n@name = N'MS_Description', \r\n@value = N'<What is this column for?, sysname, unknown>', \r\n@level0type = N'SCHEMA', @level0name = <Name of the Schema, sysname, dbo>, \r\n@level1type = N'TABLE', @level1name = <Table name, sysname, $SELECTEDTEXT$>,\r\n@level2type = N'COLUMN', @level2name = <Name of the new column, sysname, MyColumn>;"
|
||||||
|
}
|
||||||
6
find_fk-92471cc6-9e3b-446c-995c-8ce2f9905b3f.json
Normal file
6
find_fk-92471cc6-9e3b-446c-995c-8ce2f9905b3f.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "92471cc6-9e3b-446c-995c-8ce2f9905b3f",
|
||||||
|
"prefix": "find_fk",
|
||||||
|
"description": "find fk in a db, per tables, schema, or all",
|
||||||
|
"body": "SELECT\r\n SCHEMA_NAME(tab.SCHEMA_ID) + '.' + tab.name AS [table]\r\n ,col.column_id\r\n ,col.name AS column_name\r\n ,CASE\r\n WHEN fk.OBJECT_ID IS NOT NULL THEN '>-'\r\n ELSE NULL\r\n END AS rel\r\n ,SCHEMA_NAME(pk_tab.SCHEMA_ID) + '.' + pk_tab.name AS primary_table\r\n ,pk_col.name AS pk_column_name\r\n ,fk_cols.constraint_column_id AS NO\r\n ,fk.name AS fk_constraint_name\r\nFROM sys.tables tab\r\n INNER JOIN sys.columns col\r\n ON col.OBJECT_ID = tab.OBJECT_ID\r\n LEFT OUTER JOIN sys.foreign_key_columns fk_cols\r\n ON fk_cols.parent_object_id = tab.OBJECT_ID\r\n AND fk_cols.parent_column_id = col.column_id\r\n LEFT OUTER JOIN sys.foreign_keys fk\r\n ON fk.OBJECT_ID = fk_cols.constraint_object_id\r\n LEFT OUTER JOIN sys.tables pk_tab\r\n ON pk_tab.OBJECT_ID = fk_cols.referenced_object_id\r\n LEFT OUTER JOIN sys.columns pk_col\r\n ON pk_col.column_id = fk_cols.referenced_column_id\r\n AND pk_col.OBJECT_ID = fk_cols.referenced_object_id\r\nWHERE fk.OBJECT_ID IS NOT NULL\r\nAND SCHEMA_NAME(tab.SCHEMA_ID) = 'dbo'\r\n--AND tab.name='entry'$CURSOR$\r\nORDER BY SCHEMA_NAME(tab.SCHEMA_ID) + '.' + tab.name\r\n ,col.column_id;"
|
||||||
|
}
|
||||||
6
fj-1eb7ea47-6ad2-40fd-a2b6-810996566e41.json
Normal file
6
fj-1eb7ea47-6ad2-40fd-a2b6-810996566e41.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "1eb7ea47-6ad2-40fd-a2b6-810996566e41",
|
||||||
|
"prefix": "fj",
|
||||||
|
"description": "FULL JOIN fragment",
|
||||||
|
"body": "FULL JOIN "
|
||||||
|
}
|
||||||
6
flh-03c4d511-8dc8-4ca8-9893-a5b7bcaf6181.json
Normal file
6
flh-03c4d511-8dc8-4ca8-9893-a5b7bcaf6181.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "03c4d511-8dc8-4ca8-9893-a5b7bcaf6181",
|
||||||
|
"prefix": "flh",
|
||||||
|
"description": "print message without waiting for buffer to fill",
|
||||||
|
"body": "RAISERROR ('$CURSOR$', 0, 1) WITH NOWAIT;\r\n"
|
||||||
|
}
|
||||||
6
foj-b28b4fb4-9f5f-407b-93a0-81134c0d51d7.json
Normal file
6
foj-b28b4fb4-9f5f-407b-93a0-81134c0d51d7.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "b28b4fb4-9f5f-407b-93a0-81134c0d51d7",
|
||||||
|
"prefix": "foj",
|
||||||
|
"description": "FULL OUTER JOIN fragment",
|
||||||
|
"body": "FULL OUTER JOIN "
|
||||||
|
}
|
||||||
6
gb-08831009-8e82-449e-ba11-53c03289ed6f.json
Normal file
6
gb-08831009-8e82-449e-ba11-53c03289ed6f.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "08831009-8e82-449e-ba11-53c03289ed6f",
|
||||||
|
"prefix": "gb",
|
||||||
|
"description": "GROUP BY fragment",
|
||||||
|
"body": "GROUP BY "
|
||||||
|
}
|
||||||
16
hdr-2936aeed-26d4-416e-8c83-40b190dfca8a.json
Normal file
16
hdr-2936aeed-26d4-416e-8c83-40b190dfca8a.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"id": "2936aeed-26d4-416e-8c83-40b190dfca8a",
|
||||||
|
"prefix": "hdr",
|
||||||
|
"description": "simple header",
|
||||||
|
"body": "/*============================================================================= \r\n\r\n$summary$\r\n\r\nParameters\r\n----------------------\r\n\r\n\r\nContext\r\n----------------------\r\n$contexte$\r\n\r\nCreation : $DATE(dd.MM.yyyy)$ / TSC\r\nModifications:\r\n\r\n=============================================================================*/ ",
|
||||||
|
"placeholders": [
|
||||||
|
{
|
||||||
|
"name": "summary",
|
||||||
|
"defaultValue": "What does it does ?"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "contexte",
|
||||||
|
"defaultValue": "What is the context, where does it needs to run ?"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
6
heap-4c4fa08a-025e-4fc1-b7a6-0eeec07eda83.json
Normal file
6
heap-4c4fa08a-025e-4fc1-b7a6-0eeec07eda83.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "4c4fa08a-025e-4fc1-b7a6-0eeec07eda83",
|
||||||
|
"prefix": "heap",
|
||||||
|
"description": "list all heap table(s)",
|
||||||
|
"body": "-- List all heap tables \r\nSELECT SCH.name + '.' + TBL.name AS TableName \r\nFROM sys.tables AS TBL \r\n INNER JOIN sys.schemas AS SCH \r\n ON TBL.schema_id = SCH.schema_id \r\n INNER JOIN sys.indexes AS IDX \r\n ON TBL.object_id = IDX.object_id \r\n AND IDX.type = 0 -- = Heap \r\nORDER BY TableName"
|
||||||
|
}
|
||||||
6
hlog-77e7b615-5c82-407e-bea7-71d7c4a29e64.json
Normal file
6
hlog-77e7b615-5c82-407e-bea7-71d7c4a29e64.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "77e7b615-5c82-407e-bea7-71d7c4a29e64",
|
||||||
|
"prefix": "hlog",
|
||||||
|
"description": "new log line in header",
|
||||||
|
"body": "$DATE(dd.MM.yyyy)$ / TSC"
|
||||||
|
}
|
||||||
6
idx1-fb34ee85-4240-4e00-bc54-1388acccb026.json
Normal file
6
idx1-fb34ee85-4240-4e00-bc54-1388acccb026.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "fb34ee85-4240-4e00-bc54-1388acccb026",
|
||||||
|
"prefix": "idx1",
|
||||||
|
"description": "list all indexes on a given table",
|
||||||
|
"body": ";WITH ColInfo AS \r\n(\tSELECT TblName = o.name\r\n\t\t\t,SchemaTbl = s.name + '.' + o.name\r\n\t\t\t,IndexName = i.name\r\n\t\t\t,IsPrimaryKey = i.is_primary_key\r\n\t\t\t,IsUniqueConstraint = i.is_unique_constraint\r\n\t\t\t,IsUnique = i.is_unique\r\n\t\t\t,ColName = c.name\r\n\t\t\t,IsComputedCol = c.is_computed\r\n\t\t\t,IsIncludedCol = ic.is_included_column\r\n\t\t\t,ic.key_ordinal\r\n\t\t\t,FilterDefinition = i.filter_definition\r\n\t\t\t,crlf = CHAR(13) + CHAR(10)\r\n\t\t\t,crlfgo = ';' + CHAR(13) + CHAR(10) + 'GO' + CHAR(13) + CHAR(10) \r\n\tFROM sys.objects o \r\n\t\tINNER JOIN sys.schemas s ON o.schema_id = s.schema_id\r\n\t\tINNER JOIN sys.columns c ON o.object_id = c.object_id\r\n\t\tINNER JOIN sys.indexes i ON c.object_id = i.object_id\r\n\t\tINNER JOIN sys.index_columns ic ON i.index_id = ic.index_id AND o.object_id = ic.object_id AND c.column_id = ic.column_id\r\n\tWHERE o.name = '$CURSOR$'\r\n\t\t--AND i.filter_definition IS NOT NULL\r\n)\r\nSELECT DISTINCT \r\n\t\tx.TblName\r\n\t ,x.IndexName\r\n\t ,x.IsPrimaryKey\r\n\t ,x.IsUniqueConstraint\r\n\t ,x.IsUnique\r\n\t --,size.IndexSizeKB\r\n\t ,c.IndexColumns\r\n\t ,ci.IncludedColumns\r\n\t ,cc.ComputedColumns\r\n\t ,x.FilterDefinition\r\n\t ,DropCreateSQL = x.crlf + '-- ' + x.IndexName + x.crlf + \r\n\t\t\t\t\t\t--check drop\r\n\t\t\t\t\t\t'IF INDEXPROPERTY(OBJECT_ID('''+x.SchemaTbl+'''), '''+x.IndexName+''' , ''IndexID'' ) IS NOT NULL BEGIN;'+x.crlf+\r\n\t\t\t\t\t\tCASE WHEN x.IsPrimaryKey = 1 THEN NULL\r\n\t\t\t\t\t\t\tWHEN x.IsUniqueConstraint = 1 THEN \r\n\t\t\t\t\t\t\t--drop statement\r\n\t\t\t\t\t\t\t'\tALTER TABLE ' + x.SchemaTbl + ' DROP CONSTRAINT ' + x.IndexName + ';' + x.crlf \r\n\t\t\t\t\t\t\t+'END' + x.crlfgo\r\n\t\t\t\t\t\t\t--check create\r\n\t\t\t\t\t\t\t+'IF INDEXPROPERTY(OBJECT_ID('''+x.SchemaTbl+'''), '''+x.IndexName+''' , ''IndexID'' ) IS NULL BEGIN;'+x.crlf+\r\n\t\t\t\t\t\t\t--create statement\r\n\t\t\t\t\t\t\t+'\tALTER TABLE ' + x.SchemaTbl + ' ADD CONSTRAINT ' + x.IndexName + ' UNIQUE (' + c.IndexColumns + ');' + x.crlf \r\n\t\t\t\t\t\t\t+'END' + x.crlfgo\r\n\t\t\t\t\t\t\tELSE \r\n\t\t\t\t\t\t\t--drop statement\r\n\t\t\t\t\t\t\t'\tDROP INDEX ' + x.SchemaTbl + '.' + x.IndexName + ';'+ x.crlf\r\n\t\t\t\t\t\t\t+'END' + x.crlfgo\r\n\t\t\t\t\t\t\t--check create\r\n\t\t\t\t\t\t\t+'IF INDEXPROPERTY(OBJECT_ID('''+x.SchemaTbl+'''), '''+x.IndexName+''' , ''IndexID'' ) IS NULL BEGIN;'+x.crlf+\r\n\t\t\t\t\t\t\t--create statement\r\n\t\t\t\t\t\t\t+ '\tCREATE ' + CASE WHEN x.IsUnique = 1 THEN 'UNIQUE ' ELSE '' END + 'INDEX ' + x.IndexName + ' ON ' + x.SchemaTbl + '(' + c.IndexColumns + ')' \r\n\t\t\t\t\t\t\t+ ISNULL(' INCLUDE(' + ci.IncludedColumns + ')', '') \r\n\t\t\t\t\t\t\t+ ISNULL(' WHERE ' + x.FilterDefinition, '') + ';' + x.crlf \r\n\t\t\t\t\t\t\t+'END'+x.crlfgo\r\n\t\t\t\t\t\tEND\r\nFROM ColInfo x\r\nCROSS APPLY(SELECT\tIndexColumns = STUFF(sq.strXML, 1, 2, '')\r\n\t\t\tFROM (\tSELECT\t', ' + ISNULL(x2.ColName, '')\r\n\t\t\t\t\tFROM\tColInfo x2\r\n\t\t\t\t\tWHERE\tx.TblName = x2.TblName AND x.IndexName = x2.IndexName AND x2.IsIncludedCol = 0\r\n\t\t\t\t\tORDER\tBY x2.key_ordinal\r\n\t\t\t\t\tFOR XML PATH('')\r\n\t\t\t\t) sq (strXML)\r\n\t\t) c\r\nOuter APPLY(SELECT\tIncludedColumns = STUFF(sq.strXML, 1, 2, '')\r\n\t\t\tFROM (\tSELECT\t', ' + ISNULL(x2.ColName, '')\r\n\t\t\t\t\tFROM\tColInfo x2\r\n\t\t\t\t\tWHERE\tx.TblName = x2.TblName AND x.IndexName = x2.IndexName AND x2.IsIncludedCol = 1\r\n\t\t\t\t\tORDER\tBY x2.key_ordinal\r\n\t\t\t\t\tFOR XML PATH('')\r\n\t\t\t\t) sq (strXML)\r\n\t\t) ci\r\nOuter APPLY(SELECT\tComputedColumns = STUFF(sq.strXML, 1, 2, '')\r\n\t\t\tFROM (\tSELECT\t', ' + ISNULL(x2.ColName, '')\r\n\t\t\t\t\tFROM\tColInfo x2\r\n\t\t\t\t\tWHERE\tx.TblName = x2.TblName AND x.IndexName = x2.IndexName AND x2.IsComputedCol = 1\r\n\t\t\t\t\tORDER\tBY x2.key_ordinal\r\n\t\t\t\t\tFOR XML PATH('')\r\n\t\t\t\t) sq (strXML)\r\n\t\t) cc\r\n;\r\n"
|
||||||
|
}
|
||||||
16
idxCheck-57ed331c-5e96-43bf-a88d-53b47658a9cc.json
Normal file
16
idxCheck-57ed331c-5e96-43bf-a88d-53b47658a9cc.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"id": "57ed331c-5e96-43bf-a88d-53b47658a9cc",
|
||||||
|
"prefix": "idxCheck",
|
||||||
|
"description": "IF block with check if an index exists",
|
||||||
|
"body": "IF INDEXPROPERTY(OBJECT_ID('$table$'), '$idxName$' , 'IndexID' ) IS NOT NULL BEGIN;\r\n\t$CURSOR$\r\nEND;\r\n",
|
||||||
|
"placeholders": [
|
||||||
|
{
|
||||||
|
"name": "table",
|
||||||
|
"defaultValue": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "idxName",
|
||||||
|
"defaultValue": null
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
6
ij-e73221cc-c9ce-4a44-9d70-0f8d81e0b66f.json
Normal file
6
ij-e73221cc-c9ce-4a44-9d70-0f8d81e0b66f.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "e73221cc-c9ce-4a44-9d70-0f8d81e0b66f",
|
||||||
|
"prefix": "ij",
|
||||||
|
"description": "INNER JOIN fragment",
|
||||||
|
"body": "JOIN "
|
||||||
|
}
|
||||||
6
last_bkp-436caa4d-2f0c-4638-9457-971734c1e8bd.json
Normal file
6
last_bkp-436caa4d-2f0c-4638-9457-971734c1e8bd.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "436caa4d-2f0c-4638-9457-971734c1e8bd",
|
||||||
|
"prefix": "last_bkp",
|
||||||
|
"description": "see last full backups",
|
||||||
|
"body": "WITH LastBackUp AS\r\n(\r\nSELECT bs.database_name,\r\n bs.backup_size,\r\n bs.backup_start_date,\r\n bmf.physical_device_name,\r\n Position = ROW_NUMBER() OVER( PARTITION BY bs.database_name ORDER BY bs.backup_start_date DESC )\r\nFROM msdb.dbo.backupmediafamily bmf\r\nJOIN msdb.dbo.backupmediaset bms ON bmf.media_set_id = bms.media_set_id\r\nJOIN msdb.dbo.backupset bs ON bms.media_set_id = bs.media_set_id\r\nWHERE bs.[type] = 'D'\r\nAND bs.is_copy_only = 0\r\n)\r\nSELECT \r\n sd.name AS [Database],\r\n CAST(backup_size / 1048576 AS DECIMAL(10, 2) ) AS [BackupSizeMB],\r\n backup_start_date AS [Last Full DB Backup Date],\r\n physical_device_name AS [Backup File Location]\r\nFROM sys.databases AS sd\r\nLEFT JOIN LastBackUp AS lb\r\n ON sd.name = lb.database_name\r\n AND Position = 1\r\nORDER BY [Database];"
|
||||||
|
}
|
||||||
6
list_triggers-68d2751a-42d4-45e5-8d0a-a3c3f7cb4eee.json
Normal file
6
list_triggers-68d2751a-42d4-45e5-8d0a-a3c3f7cb4eee.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "68d2751a-42d4-45e5-8d0a-a3c3f7cb4eee",
|
||||||
|
"prefix": "list_triggers",
|
||||||
|
"description": "list all triggers in the current db",
|
||||||
|
"body": "SELECT table_name = OBJECT_NAME(parent_object_id) ,\r\n trigger_name = name ,\r\n trigger_owner = USER_NAME(schema_id) ,\r\n OBJECTPROPERTY(object_id, 'ExecIsUpdateTrigger') AS isupdate ,\r\n OBJECTPROPERTY(object_id, 'ExecIsDeleteTrigger') AS isdelete ,\r\n OBJECTPROPERTY(object_id, 'ExecIsInsertTrigger') AS isinsert ,\r\n OBJECTPROPERTY(object_id, 'ExecIsAfterTrigger') AS isafter ,\r\n OBJECTPROPERTY(object_id, 'ExecIsInsteadOfTrigger') AS isinsteadof ,\r\n CASE OBJECTPROPERTY(object_id, 'ExecIsTriggerDisabled')\r\n WHEN 1 THEN 'Disabled'\r\n ELSE 'Enabled'\r\n END AS status\r\nFROM sys.objects\r\nWHERE type = 'TR'\r\n--$CURSOR$AND [name] LIKE '%vesta%'\r\nORDER BY OBJECT_NAME(parent_object_id)"
|
||||||
|
}
|
||||||
6
lj-fcc48410-f0a9-43ff-b257-ef36d4ed7923.json
Normal file
6
lj-fcc48410-f0a9-43ff-b257-ef36d4ed7923.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "fcc48410-f0a9-43ff-b257-ef36d4ed7923",
|
||||||
|
"prefix": "lj",
|
||||||
|
"description": "LEFT JOIN fragment",
|
||||||
|
"body": "LEFT JOIN "
|
||||||
|
}
|
||||||
6
loj-99e2f5cc-5da0-4121-8f2e-082c6c4c1211.json
Normal file
6
loj-99e2f5cc-5da0-4121-8f2e-082c6c4c1211.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "99e2f5cc-5da0-4121-8f2e-082c6c4c1211",
|
||||||
|
"prefix": "loj",
|
||||||
|
"description": "LEFT OUTER JOIN fragment",
|
||||||
|
"body": "LEFT OUTER JOIN "
|
||||||
|
}
|
||||||
6
mast-07a8cecc-7fb3-4847-bab4-c6614b27548d.json
Normal file
6
mast-07a8cecc-7fb3-4847-bab4-c6614b27548d.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "07a8cecc-7fb3-4847-bab4-c6614b27548d",
|
||||||
|
"prefix": "mast",
|
||||||
|
"description": "get identity and context info",
|
||||||
|
"body": "SELECT * \r\nFROM [master].cfg.[Identity] [i]\r\nSELECT * \r\nFROM master.cfg.[InstanceContext] [ic]"
|
||||||
|
}
|
||||||
6
mro-b5ab431f-3892-4b58-ac91-d7befb0ee191.json
Normal file
6
mro-b5ab431f-3892-4b58-ac91-d7befb0ee191.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "b5ab431f-3892-4b58-ac91-d7befb0ee191",
|
||||||
|
"prefix": "mro",
|
||||||
|
"description": "Retrieve 20 most recently created objects",
|
||||||
|
"body": "\r\n -- NOTE: 'sys.objects'/'create_date' is only available in SQL Server 2005+. Replace with 'sysobjects'/'crdate' in SQL Server 2000.\r\nSELECT TOP (20) [name], [type], create_date\r\nFROM sys.objects\r\nORDER BY create_date DESC"
|
||||||
|
}
|
||||||
6
nbr-ba5eb4fd-ac8f-427c-a24a-5cb97b8faa98.json
Normal file
6
nbr-ba5eb4fd-ac8f-427c-a24a-5cb97b8faa98.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "ba5eb4fd-ac8f-427c-a24a-5cb97b8faa98",
|
||||||
|
"prefix": "nbr",
|
||||||
|
"description": "variable table with 10 rows, for cross join population",
|
||||||
|
"body": "DECLARE @nbr TABLE (\r\n\tval INT\r\n);\r\nINSERT INTO @nbr(val)\r\nVALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(0);\r\n"
|
||||||
|
}
|
||||||
24
newCol-7d139776-36e1-44e4-98a4-7360ca60dc70.json
Normal file
24
newCol-7d139776-36e1-44e4-98a4-7360ca60dc70.json
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
"id": "7d139776-36e1-44e4-98a4-7360ca60dc70",
|
||||||
|
"prefix": "newCol",
|
||||||
|
"description": "add new column",
|
||||||
|
"body": "IF NOT EXISTS(SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '$table$' AND TABLE_SCHEMA='$schema$' AND COLUMN_NAME = '$column$')\r\nBEGIN\r\n\tALTER TABLE $schema$.$table$ ADD $column$ $type$ NOT NULL;\r\nEND ",
|
||||||
|
"placeholders": [
|
||||||
|
{
|
||||||
|
"name": "schema",
|
||||||
|
"defaultValue": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "table",
|
||||||
|
"defaultValue": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "column",
|
||||||
|
"defaultValue": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "type",
|
||||||
|
"defaultValue": null
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
6
nl-06e0e196-f6a3-4ae9-aea2-43ec5910821a.json
Normal file
6
nl-06e0e196-f6a3-4ae9-aea2-43ec5910821a.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "06e0e196-f6a3-4ae9-aea2-43ec5910821a",
|
||||||
|
"prefix": "nl",
|
||||||
|
"description": "",
|
||||||
|
"body": "WITH(NOLOCK)"
|
||||||
|
}
|
||||||
6
ob-94dc16da-08e3-46ca-b4b7-0325b252d35c.json
Normal file
6
ob-94dc16da-08e3-46ca-b4b7-0325b252d35c.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "94dc16da-08e3-46ca-b4b7-0325b252d35c",
|
||||||
|
"prefix": "ob",
|
||||||
|
"description": "ORDER BY fragment",
|
||||||
|
"body": "ORDER BY "
|
||||||
|
}
|
||||||
6
opts-fd320b21-00b9-41dc-a72a-0c9a90d1e259.json
Normal file
6
opts-fd320b21-00b9-41dc-a72a-0c9a90d1e259.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "fd320b21-00b9-41dc-a72a-0c9a90d1e259",
|
||||||
|
"prefix": "opts",
|
||||||
|
"description": "connection options set",
|
||||||
|
"body": "DECLARE @options INT\r\nSELECT @options = @@OPTIONS\r\n\r\nPRINT 'Current option value: '+CONVERT(VARCHAR(10), @options)\r\nIF ( (1 & @options) = 1 ) PRINT 'DISABLE_DEF_CNST_CHK'\r\nIF ( (2 & @options) = 2 ) PRINT 'IMPLICIT_TRANSACTIONS'\r\nIF ( (4 & @options) = 4 ) PRINT 'CURSOR_CLOSE_ON_COMMIT'\r\nIF ( (8 & @options) = 8 ) PRINT 'ANSI_WARNINGS'\r\nIF ( (16 & @options) = 16 ) PRINT 'ANSI_PADDING'\r\nIF ( (32 & @options) = 32 ) PRINT 'ANSI_NULLS'\r\nIF ( (64 & @options) = 64 ) PRINT 'ARITHABORT'\r\nIF ( (128 & @options) = 128 ) PRINT 'ARITHIGNORE'\r\nIF ( (256 & @options) = 256 ) PRINT 'QUOTED_IDENTIFIER'\r\nIF ( (512 & @options) = 512 ) PRINT 'NOCOUNT'\r\nIF ( (1024 & @options) = 1024 ) PRINT 'ANSI_NULL_DFLT_ON'\r\nIF ( (2048 & @options) = 2048 ) PRINT 'ANSI_NULL_DFLT_OFF'\r\nIF ( (4096 & @options) = 4096 ) PRINT 'CONCAT_NULL_YIELDS_NULL'\r\nIF ( (8192 & @options) = 8192 ) PRINT 'NUMERIC_ROUNDABORT'\r\nIF ( (16384 & @options) = 16384 ) PRINT 'XACT_ABORT' \r\n"
|
||||||
|
}
|
||||||
6
pharmacy_code-2de5009b-c299-46aa-ac66-f1019d24ed05.json
Normal file
6
pharmacy_code-2de5009b-c299-46aa-ac66-f1019d24ed05.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "2de5009b-c299-46aa-ac66-f1019d24ed05",
|
||||||
|
"prefix": "pharmacy_code",
|
||||||
|
"description": "fetch pharmacy code from a pharmacy",
|
||||||
|
"body": "SELECT DISTINCT [dh].[DH_pharmacy_code]\r\nFROM [Arizona].[dbo].[Document_header] [dh]"
|
||||||
|
}
|
||||||
6
plan-349bfc81-104e-44ab-afc5-f1cf8adaea6b.json
Normal file
6
plan-349bfc81-104e-44ab-afc5-f1cf8adaea6b.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "349bfc81-104e-44ab-afc5-f1cf8adaea6b",
|
||||||
|
"prefix": "plan",
|
||||||
|
"description": "fetch query plan from cache",
|
||||||
|
"body": "SELECT [text]\r\n\t,cp.size_in_bytes\r\n\t,plan_handle\r\nFROM sys.dm_exec_cached_plans AS cp\r\nCROSS APPLY sys.dm_exec_sql_text(plan_handle)\r\nWHERE cp.cacheobjtype = N'Compiled Plan'\r\n\tAND cp.objtype = N'Adhoc'\r\n\tAND cp.usecounts = 1\r\n--AND [text] LIKE '%tblChecksum%'\r\nORDER BY cp.size_in_bytes DESC;\r\n"
|
||||||
|
}
|
||||||
6
ple-678da7f8-3efa-4e3e-810b-01ae866ea4b5.json
Normal file
6
ple-678da7f8-3efa-4e3e-810b-01ae866ea4b5.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "678da7f8-3efa-4e3e-810b-01ae866ea4b5",
|
||||||
|
"prefix": "ple",
|
||||||
|
"description": "get current page life expectancy",
|
||||||
|
"body": "SELECT \r\n\tobject_name\r\n\t,counter_name\r\n\t,value\t\t\t= cntr_value\r\nFROM sys.dm_os_performance_counters\r\nWHERE 1=1\r\nAND LTRIM(RTRIM(object_name)) LIKE '%:Buffer Manager'\r\nAND LTRIM(RTRIM(counter_name)) = 'Page life expectancy' \r\n"
|
||||||
|
}
|
||||||
6
pt-3b355313-2d70-4420-90fc-d6976eef283a.json
Normal file
6
pt-3b355313-2d70-4420-90fc-d6976eef283a.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "3b355313-2d70-4420-90fc-d6976eef283a",
|
||||||
|
"prefix": "pt",
|
||||||
|
"description": "",
|
||||||
|
"body": "PRINT CONVERT(VARCHAR(20), CURRENT_TIMESTAMP, 114)+' - $CURSOR$';\r\n"
|
||||||
|
}
|
||||||
6
ptc-04440efb-13a7-42c3-833f-7d9f30c90ff3.json
Normal file
6
ptc-04440efb-13a7-42c3-833f-7d9f30c90ff3.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "04440efb-13a7-42c3-833f-7d9f30c90ff3",
|
||||||
|
"prefix": "ptc",
|
||||||
|
"description": "",
|
||||||
|
"body": "PRINT CONVERT(VARCHAR(20), CURRENT_TIMESTAMP, 114)+' - $CURSOR$. '+REPLACE(REPLACE(CONVERT(VARCHAR(100), CONVERT(MONEY, @@rowcount), 1),',',''''),'.00','')+' row(s) affected.';\r\n"
|
||||||
|
}
|
||||||
6
pval-2f90e674-1d0d-4ad7-9238-12e184767a4c.json
Normal file
6
pval-2f90e674-1d0d-4ad7-9238-12e184767a4c.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "2f90e674-1d0d-4ad7-9238-12e184767a4c",
|
||||||
|
"prefix": "pval",
|
||||||
|
"description": "",
|
||||||
|
"body": "'+ISNULL(CONVERT(VARCHAR(200),$CURSOR$),'NULL')+'"
|
||||||
|
}
|
||||||
6
reg-f1c69117-2ba6-46d4-a3b6-ef957ac692fb.json
Normal file
6
reg-f1c69117-2ba6-46d4-a3b6-ef957ac692fb.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "f1c69117-2ba6-46d4-a3b6-ef957ac692fb",
|
||||||
|
"prefix": "reg",
|
||||||
|
"description": "",
|
||||||
|
"body": "--#region $CURSOR$\r\n--#endregion"
|
||||||
|
}
|
||||||
6
repl-8c60aa30-593b-4050-b490-044f10ecd07f.json
Normal file
6
repl-8c60aa30-593b-4050-b490-044f10ecd07f.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "8c60aa30-593b-4050-b490-044f10ecd07f",
|
||||||
|
"prefix": "repl",
|
||||||
|
"description": "",
|
||||||
|
"body": "SELECT * \r\nFROM [Arizona].[dbo].[Point_of_sale] [pos]\r\nWHERE [pos].[POS_active]=1\r\nAND [pos].[POS_type] IN (1,2)\r\nAND [pos].[POS_number] < 99\r\n;\r\n\r\nRETURN\r\n\r\nEXEC ActivePos_read..sp_dropsubscription @publication = N'ActivePosTran', @article = N'all', @subscriber ='$CURSOR$'\r\nSELECT ActivePos_write.upd.DatabaseVersion()\r\nEXEC ('SELECT ActivePos_write.upd.DatabaseVersion()') AT xxx\r\n\r\n\r\nEXEC ActiveSystemServer.dbo.RepairReplication"
|
||||||
|
}
|
||||||
6
ret-f4a33a56-bbd3-4585-9038-bf8d52dc876c.json
Normal file
6
ret-f4a33a56-bbd3-4585-9038-bf8d52dc876c.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "f4a33a56-bbd3-4585-9038-bf8d52dc876c",
|
||||||
|
"prefix": "ret",
|
||||||
|
"description": "",
|
||||||
|
"body": "return"
|
||||||
|
}
|
||||||
6
rj-388131b5-079c-4b86-8dd7-e92c403babf8.json
Normal file
6
rj-388131b5-079c-4b86-8dd7-e92c403babf8.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "388131b5-079c-4b86-8dd7-e92c403babf8",
|
||||||
|
"prefix": "rj",
|
||||||
|
"description": "RIGHT JOIN fragment",
|
||||||
|
"body": "RIGHT JOIN "
|
||||||
|
}
|
||||||
6
roj-a34a0f62-e0c5-49e2-a41d-181da6aa288d.json
Normal file
6
roj-a34a0f62-e0c5-49e2-a41d-181da6aa288d.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "a34a0f62-e0c5-49e2-a41d-181da6aa288d",
|
||||||
|
"prefix": "roj",
|
||||||
|
"description": "RIGHT OUTER JOIN fragment",
|
||||||
|
"body": "RIGHT OUTER JOIN "
|
||||||
|
}
|
||||||
6
rt-f3809a25-f817-475f-9f45-39ea588477dc.json
Normal file
6
rt-f3809a25-f817-475f-9f45-39ea588477dc.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "f3809a25-f817-475f-9f45-39ea588477dc",
|
||||||
|
"prefix": "rt",
|
||||||
|
"description": "Rollback transaction",
|
||||||
|
"body": "ROLLBACK TRANSACTION "
|
||||||
|
}
|
||||||
6
scf-337977e4-5af3-4c42-9cff-7e2059961365.json
Normal file
6
scf-337977e4-5af3-4c42-9cff-7e2059961365.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "337977e4-5af3-4c42-9cff-7e2059961365",
|
||||||
|
"prefix": "scf",
|
||||||
|
"description": "Count number of records returned by query",
|
||||||
|
"body": "SELECT COUNT(*) FROM "
|
||||||
|
}
|
||||||
6
searchCode-0970ec7e-b7c0-4a04-be1d-c4cc12ec73a7.json
Normal file
6
searchCode-0970ec7e-b7c0-4a04-be1d-c4cc12ec73a7.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "0970ec7e-b7c0-4a04-be1d-c4cc12ec73a7",
|
||||||
|
"prefix": "searchCode",
|
||||||
|
"description": "Search through procs, functions and trigger a specific keyword. Avoid to check out a repo to do that search.",
|
||||||
|
"body": "SET TRAN ISOLATION LEVEL READ UNCOMMITTED\r\n\r\nDECLARE\r\n @SEARCHSTRING VARCHAR(255)\r\n ,@notcontain VARCHAR(255);\r\n\r\nSELECT\r\n @SEARCHSTRING = '$CURSOR$'\r\n ,@notcontain = '';\r\n\r\nSELECT DISTINCT\r\n sysobjects.name AS [Object Name]\r\n ,CASE\r\n WHEN sysobjects.xtype = 'P' THEN 'Stored Proc'\r\n WHEN sysobjects.xtype = 'TF' THEN 'Function'\r\n WHEN sysobjects.xtype = 'TR' THEN 'Trigger'\r\n END AS [Object Type]\r\nFROM sysobjects\r\n ,syscomments\r\nWHERE sysobjects.id = syscomments.id\r\nAND sysobjects.type IN ( 'P', 'TF', 'TR' )\r\nAND sysobjects.category = 0\r\nAND CHARINDEX(@SEARCHSTRING, syscomments.text) > 0\r\nAND ((\r\n CHARINDEX(@notcontain, syscomments.text) = 0\r\n OR CHARINDEX(@notcontain, syscomments.text) <> 0\r\n )\r\n);"
|
||||||
|
}
|
||||||
6
seria-65cd3b01-5d90-454e-a523-dbb80156d2c6.json
Normal file
6
seria-65cd3b01-5d90-454e-a523-dbb80156d2c6.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "65cd3b01-5d90-454e-a523-dbb80156d2c6",
|
||||||
|
"prefix": "seria",
|
||||||
|
"description": "change temporarily the isolation mode, get back to initial mode afterward",
|
||||||
|
"body": "DECLARE @initialIsolation VARCHAR(50);\r\nSELECT @initialIsolation = CASE transaction_isolation_level \r\n\t\tWHEN 0 THEN 'Unspecified' \r\n\t\tWHEN 1 THEN 'ReadUncommitted' \r\n\t\tWHEN 2 THEN 'ReadCommitted' \r\n\t\tWHEN 3 THEN 'Repeatable' \r\n\t\tWHEN 4 THEN 'Serializable' \r\n\t\tWHEN 5 THEN 'Snapshot' \r\n\tEND \r\nFROM sys.dm_exec_sessions \r\nwhere session_id = @@SPID;\r\n\r\nSET TRANSACTION ISOLATION LEVEL SERIALIZABLE;\r\n$CURSOR$\r\nEXEC('SET TRANSACTION ISOLATION LEVEL '+@initialIsolation+';');\r\n"
|
||||||
|
}
|
||||||
6
sf-c4978137-d293-4c35-9760-3dbfb2bfae23.json
Normal file
6
sf-c4978137-d293-4c35-9760-3dbfb2bfae23.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "c4978137-d293-4c35-9760-3dbfb2bfae23",
|
||||||
|
"prefix": "sf",
|
||||||
|
"description": "SELECT * FROM fragment",
|
||||||
|
"body": "SELECT * \r\nFROM $CURSOR$"
|
||||||
|
}
|
||||||
6
st-a9bcbeb5-94ca-4ce8-a371-1c82a0662d19.json
Normal file
6
st-a9bcbeb5-94ca-4ce8-a371-1c82a0662d19.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "a9bcbeb5-94ca-4ce8-a371-1c82a0662d19",
|
||||||
|
"prefix": "st",
|
||||||
|
"description": "SELECT top 100 rows",
|
||||||
|
"body": "SELECT TOP (100) * FROM $CURSOR$"
|
||||||
|
}
|
||||||
6
stats-28526a01-97d7-4fc6-9e51-d7fc1764e6b3.json
Normal file
6
stats-28526a01-97d7-4fc6-9e51-d7fc1764e6b3.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "28526a01-97d7-4fc6-9e51-d7fc1764e6b3",
|
||||||
|
"prefix": "stats",
|
||||||
|
"description": "sql server statistics",
|
||||||
|
"body": "SELECT DISTINCT OBJECT_NAME(s.[object_id]) AS TableName,\r\n c.name AS ColumnName,\r\n t.name AS tblName,\r\n s.name AS StatName,\r\n STATS_DATE(s.[object_id], s.stats_id) AS LastUpdated,\r\n DATEDIFF(d, STATS_DATE(s.[object_id], s.stats_id), GETDATE()) AS DaysOld,\r\n dsp.modification_counter,\r\n s.auto_created,\r\n s.user_created,\r\n s.no_recompute,\r\n s.[object_id],\r\n s.stats_id,\r\n sc.stats_column_id,\r\n sc.column_id\r\n FROM sys.stats s\r\n JOIN sys.stats_columns sc\r\n ON sc.[object_id] = s.[object_id]\r\n AND sc.stats_id = s.stats_id\r\n JOIN sys.columns c\r\n ON c.[object_id] = sc.[object_id]\r\n AND c.column_id = sc.column_id\r\n JOIN sys.tables t\r\n ON t.object_id = c.object_id\r\n JOIN sys.partitions par\r\n ON par.[object_id] = s.[object_id]\r\n JOIN sys.objects obj\r\n ON par.[object_id] = obj.[object_id]\r\n CROSS APPLY sys.dm_db_stats_properties(sc.[object_id], s.stats_id) AS dsp\r\n WHERE OBJECTPROPERTY(s.object_id, 'IsUserTable') = 1\r\n AND ( s.auto_created = 1\r\n OR s.user_created = 1)\r\n --AND t.name = 'Document_header'\r\n ORDER BY DaysOld;"
|
||||||
|
}
|
||||||
6
tc-ea735b8e-4db5-4048-bce6-c8dee79b5790.json
Normal file
6
tc-ea735b8e-4db5-4048-bce6-c8dee79b5790.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "ea735b8e-4db5-4048-bce6-c8dee79b5790",
|
||||||
|
"prefix": "tc",
|
||||||
|
"description": "TRY ... CATCH fragment",
|
||||||
|
"body": "BEGIN TRY\r\n $SELECTEDTEXT$\r\nEND TRY\r\nBEGIN CATCH\r\n $CURSOR$\r\nEND CATCH"
|
||||||
|
}
|
||||||
12
timings-44e197f3-6a63-40ce-8e3c-1a1c18e4434d.json
Normal file
12
timings-44e197f3-6a63-40ce-8e3c-1a1c18e4434d.json
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"id": "44e197f3-6a63-40ce-8e3c-1a1c18e4434d",
|
||||||
|
"prefix": "timings",
|
||||||
|
"description": "Wraps a simple timings test harness around the selected code",
|
||||||
|
"body": "/**\r\nCopyright (c) Red Gate Software Ltd 2017\r\nAll rights Reserved. Use of this code is subject to the terms of a license agreement with Red Gate Software Limited.\r\n\r\nFor more info, see https://www.red-gate.com/hub/product-learning/sql-prompt/record-t-sql-execution-times-using-sql-prompt-snippet\r\n**/\r\n\r\nDECLARE @log table\r\n(\r\n TheOrder int IDENTITY(1, 1),\r\n WhatHappened varchar(200),\r\n WhenItDid datetime2 DEFAULT GETDATE()\r\n)\r\n----start of timing\r\nINSERT INTO @log(WhatHappened)\r\nSELECT 'Starting $routine$' --place at the start\r\n \r\n$SELECTEDTEXT$$CURSOR$\r\n \r\n--where the routine you want to time ends\r\nINSERT INTO @log(WhatHappened)\r\nSELECT '$routine$ took '\r\nSELECT ending.WhatHappened, DATEDIFF(ms, starting.WhenItDid, ending.WhenItDid)\r\nFROM @log starting\r\n INNER JOIN @log ending\r\n ON ending.TheOrder = starting.TheOrder + 1\r\n--list out all the timings",
|
||||||
|
"placeholders": [
|
||||||
|
{
|
||||||
|
"name": "routine",
|
||||||
|
"defaultValue": ""
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
6
today-0241a35e-0b6d-4056-8add-202af745a853.json
Normal file
6
today-0241a35e-0b6d-4056-8add-202af745a853.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "0241a35e-0b6d-4056-8add-202af745a853",
|
||||||
|
"prefix": "today",
|
||||||
|
"description": "return the current date without time",
|
||||||
|
"body": "DATEADD(DAY, DATEDIFF(DAY, 0, CURRENT_TIMESTAMP), 0)"
|
||||||
|
}
|
||||||
6
traceInfo-c38cb455-d741-49ba-8109-bedec3d1a107.json
Normal file
6
traceInfo-c38cb455-d741-49ba-8109-bedec3d1a107.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "c38cb455-d741-49ba-8109-bedec3d1a107",
|
||||||
|
"prefix": "traceInfo",
|
||||||
|
"description": "",
|
||||||
|
"body": "SELECT * \r\nFROM ::fn_trace_getinfo(DEFAULT)"
|
||||||
|
}
|
||||||
6
tstamp-386e4ced-49f8-4a1c-8b35-0b68ae05ca17.json
Normal file
6
tstamp-386e4ced-49f8-4a1c-8b35-0b68ae05ca17.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "386e4ced-49f8-4a1c-8b35-0b68ae05ca17",
|
||||||
|
"prefix": "tstamp",
|
||||||
|
"description": "get timestamp",
|
||||||
|
"body": "SELECT \r\n\tCONVERT(VARCHAR(4), DATEPART(YEAR, CURRENT_TIMESTAMP))\r\n\t+RIGHT('00'+CONVERT(VARCHAR(2), DATEPART(MONTH, CURRENT_TIMESTAMP)),2)\r\n\t+RIGHT('00'+CONVERT(VARCHAR(2), DATEPART(DAY, CURRENT_TIMESTAMP)),2)\r\n\t+'_'\r\n\t+RIGHT('00'+CONVERT(VARCHAR(2), DATEPART(HOUR, CURRENT_TIMESTAMP)),2)\r\n\t+RIGHT('00'+CONVERT(VARCHAR(2), DATEPART(MINUTE, CURRENT_TIMESTAMP)),2)\r\n\t+RIGHT('00'+CONVERT(VARCHAR(2), DATEPART(SECOND, CURRENT_TIMESTAMP)),2)\r\n"
|
||||||
|
}
|
||||||
6
version-28ccb2a9-263a-46db-92e8-27d58971f114.json
Normal file
6
version-28ccb2a9-263a-46db-92e8-27d58971f114.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "28ccb2a9-263a-46db-92e8-27d58971f114",
|
||||||
|
"prefix": "version",
|
||||||
|
"description": "get tripaharm version",
|
||||||
|
"body": "SELECT ActivePos_write.upd.DatabaseVersion()"
|
||||||
|
}
|
||||||
6
wac-339f494d-8194-4fa6-b2b2-7133ecf49655.json
Normal file
6
wac-339f494d-8194-4fa6-b2b2-7133ecf49655.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "339f494d-8194-4fa6-b2b2-7133ecf49655",
|
||||||
|
"prefix": "wac",
|
||||||
|
"description": "call sp_whoIsActive",
|
||||||
|
"body": "EXEC hciTools.dbo.sp_whoisactive\r\n @get_additional_info=0,@get_task_info=1, @output_column_list='[percent_complete][status][database_name][dd%][session_id][blocking_session_id][blocked_session_count][sql_text][sql_command][query_plan][login_name][wait_info][host_name][tasks][tran_log%][cpu%][temp%][block%][reads%][writes%][context%][physical%][locks][%]', @format_output=1\r\n ,@get_plans=0\r\n ,@get_outer_command=1\r\n ,@get_locks = 0\r\n ,@find_block_leaders = 1\t\r\n ,@sort_order = '[blocked_session_count] DESC,[session_id] ASC, [dd hh:mm:ss.mss] DESC';\r\n"
|
||||||
|
}
|
||||||
6
wacc-e4fd7965-640f-46d5-b0c3-f53da8dc79d8.json
Normal file
6
wacc-e4fd7965-640f-46d5-b0c3-f53da8dc79d8.json
Normal file
File diff suppressed because one or more lines are too long
6
wacd-f07d5721-90d8-4dfe-832f-2753f51b23bf.json
Normal file
6
wacd-f07d5721-90d8-4dfe-832f-2753f51b23bf.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "f07d5721-90d8-4dfe-832f-2753f51b23bf",
|
||||||
|
"prefix": "wacd",
|
||||||
|
"description": "drop master.dbo.sp_whoisactive",
|
||||||
|
"body": "use master\r\nIF OBJECT_ID('master.dbo.sp_whoisactive') IS NOT NULL \r\n\tDROP PROCEDURE dbo.sp_whoisactive;"
|
||||||
|
}
|
||||||
6
we-7bce15ce-1e03-413c-8415-79fb5b0b6207.json
Normal file
6
we-7bce15ce-1e03-413c-8415-79fb5b0b6207.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "7bce15ce-1e03-413c-8415-79fb5b0b6207",
|
||||||
|
"prefix": "we",
|
||||||
|
"description": "WHERE fragment",
|
||||||
|
"body": "WHERE "
|
||||||
|
}
|
||||||
6
xa-10f68dd3-2117-403d-991a-1818c5e54098.json
Normal file
6
xa-10f68dd3-2117-403d-991a-1818c5e54098.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"id": "10f68dd3-2117-403d-991a-1818c5e54098",
|
||||||
|
"prefix": "xa",
|
||||||
|
"description": "xact_abbort and nocount options",
|
||||||
|
"body": "SET XACT_ABORT ON;\r\nSET NOCOUNT ON;\r\n"
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user