Skip to content

Instantly share code, notes, and snippets.

@hero827
hero827 / jsonparse.js
Created December 10, 2022 19:43 — forked from creationix/jsonparse.js
A streaming JSON parser as an embeddable state machine.
// A streaming byte oriented JSON parser. Feed it a single byte at a time and
// it will emit complete objects as it comes across them. Whitespace within and
// between objects is ignored. This means it can parse newline delimited JSON.
function jsonMachine(emit, next) {
next = next || $value;
return $value;
function $value(byte) {
if (!byte) return;
if (byte === 0x09 || byte === 0x0a || byte === 0x0d || byte === 0x20) {
<#
.SYNOPSIS
Optimizes image file size for all PNG and JPG images in a Microsoft Azure blob storage
container by processing them locally and replacing their content with the optimized result.
.DESCRIPTION
Image files are often needlessly oversized and can be compressed without quality loss using
widely-available utilities. Microsoft Azure provides a blob storage service that can be used
to host publicly-accessible images for websites or other purposes. For containers with large
numbers of suboptimal images or for bulk optimization, this script optimizes all images in
@hero827
hero827 / list_tables_and_indexes.sql
Created July 26, 2022 21:43 — forked from dhmacher/list_tables_and_indexes.sql
List tables and indexes, with partitioning, compression, storage, etc.
SELECT o.[type],
ISNULL(NULLIF(t.temporal_type_desc, 'NON_TEMPORAL_TABLE'), o.[type_desc]) AS object_type,
s.[name]+'.'+o.[name] AS [object_name],
(CASE WHEN i.is_unique=1 THEN 'UNIQUE ' ELSE '' END)+i.[type_desc] AS index_type,
(CASE WHEN kc.is_system_named=1 THEN '' ELSE i.[name] END) AS index_name,
ISNULL('WHERE '+i.filter_definition, '') AS index_filter,
ISNULL(' ON '+(CASE WHEN ds.is_default=0 THEN ds.[name] END)+ISNULL('('+c.[name]+')', ''), '') AS data_space,
ISNULL(CAST(NULLIF(NULLIF(i.fill_factor, 0), 100) AS varchar(10))+'%', '') AS fill_factor,
ISNULL(CAST(p.partition_number AS varchar(10))+'/'+CAST(NULLIF(MAX(p.partition_number) OVER (PARTITION BY p.[object_id], p.index_id), 1) AS varchar(10)), '') AS [partition],
ISNULL(NULLIF(p.data_compression_desc, 'NONE'), '') AS [compression],
@hero827
hero827 / script_table_as_insert.sql
Created July 26, 2022 21:43 — forked from dhmacher/script_table_as_insert.sql
Script table contents as INSERT statements
DECLARE @object_id int=OBJECT_ID('schema_name.table_name');
DECLARE @name nvarchar(max)=(SELECT QUOTENAME(SCHEMA_NAME([schema_id]))+'.'+QUOTENAME([name]) FROM sys.objects WHERE [object_id]=@object_id),
@cols nvarchar(max)=N'',
@query nvarchar(max)=N'',
@pagesize varchar(10)=N'100';
WITH cte AS (
SELECT c.column_id, c.[name], t.[name] AS [type]
-- TRANSLATE() and STRING_SPLIT() work with SQL Server 2016+, STRING_AGG() with 2017+.
-- language_id=1033 is English (simplified)
SELECT STRING_AGG(REPLACE(TRANSLATE(s.[value] COLLATE database_default, '():.,-/='';', '**********'), '*', ''), ' ')
FROM sys.messages AS msg
CROSS APPLY STRING_SPLIT(msg.[text], ' ') AS s
WHERE msg.language_id=1033
--AND s.[value] COLLATE database_default NOT IN ('the', 'is', 'to', 'not', 'a', 'for', 'in', 'be', 'of', 'or', 'cannot', 'and')
AND s.[value] COLLATE database_default NOT LIKE '%[%@=]%'
GROUP BY msg.message_id
@hero827
hero827 / move-deprecated-objects.sql
Created July 26, 2022 21:43 — forked from dhmacher/move-deprecated-objects.sql
Move temp/backup objects to Deprecated schema
IF (SCHEMA_ID('Deprecated') IS NULL)
EXEC('CREATE SCHEMA [Deprecated];');
SELECT 'ALTER SCHEMA [Deprecated] TRANSFER '+QUOTENAME(OBJECT_SCHEMA_NAME([object_id]))+'.'+QUOTENAME(OBJECT_NAME([object_id]))+';'
FROM sys.objects
WHERE [schema_id] NOT IN (SCHEMA_ID('Deprecated'), SCHEMA_ID('sys'))
AND [type] NOT IN ('PK', 'F', 'D', 'UQ')
AND ([name] LIKE '%xx%' OR [name] LIKE '%[0-9][0-9][0-9][0-9][0-9][0-9]%'
OR [name] LIKE '%[ _]temp' OR [name] LIKE 'temp[ _]%'
OR [name] LIKE '%[ _]old' OR [name] LIKE 'old[ _]%'
@hero827
hero827 / update-statistics.sql
Created July 26, 2022 21:42 — forked from dhmacher/update-statistics.sql
Use UPDATE STATISTICS to fake table & index sizes
DECLARE @object_id int=OBJECT_ID('dbo.tablename'),
@rowcount bigint=10000000;
SELECT N'UPDATE STATISTICS '+
--- Name of the table
QUOTENAME(OBJECT_SCHEMA_NAME(@object_id))+N'.'+QUOTENAME(OBJECT_NAME(@object_id))+
@hero827
hero827 / list-agent-job-ssis-steps.sql
Created July 26, 2022 21:42 — forked from dhmacher/list-agent-job-ssis-steps.sql
List jobs, job steps and their SSIS packages and environments respectively.
SELECT j.[name] AS Job,
s.step_id AS Step,
s.step_name AS [Step name],
s.subsystem AS [Subsystem],
s.[command],
x2.p AS [SSIS path],
env.environment_name AS [Environment name]
FROM msdb.dbo.sysjobs AS j
INNER JOIN msdb.dbo.sysjobsteps AS s ON j.job_id=s.job_id
OUTER APPLY (
@hero827
hero827 / Invoke-ParamQuery.ps1
Created July 26, 2022 21:42 — forked from dhmacher/Invoke-ParamQuery.ps1
Run a SQL Server query using .NET (without the "SqlServer" module)
Function Invoke-ParamQuery {
param(
[String]$Query,
$Parameters=@{},
[Data.SqlClient.SqlConnection]$Conn,
[int]$Timeout=3,
[switch]$CloseConn,
[switch]$DiscardResults
)
if ($conn.State -eq "Closed") {
@hero827
hero827 / Check-ImageUrls.ps1
Created July 26, 2022 21:41 — forked from dhmacher/Check-ImageUrls.ps1
Validate all image URLs in a WordPress blog export
# Export your WordPress blog to an XML file. Then:
$xmlFile = "./export/sqlsundaycom.wordpress.2021-05-23.001.xml"
$matches = Select-String -Path $xmlFile -Pattern '(?<=src\=\")http(.*?)(?=\")' -AllMatches `
| % { $_.Matches }
| % { $_.Value }
| Sort-Object -Unique
foreach ($url in $matches) {
#$url