Skip to content

Instantly share code, notes, and snippets.

@alevyinroc
alevyinroc / dbatools-spellcheck.json
Last active July 23, 2017 14:08
cSpell settings for dbatools/PowerShell/VSCode
"cSpell.enableCompoundWords":true,
"cSpell.userWords": [
"MSSQL",
"Chrissy",
"gmail",
"cmdlet",
"Maire",
"clemaire",
"dbatools",
"computername",
@alevyinroc
alevyinroc / gist:f42086cc9a2bd5c649d71e769c246f64
Last active September 12, 2017 19:43
Compare-object no results
C:\...\_Projects\Server Config>compare-object $Test1 $Prod
C:\...\_Projects\Server Config>
@alevyinroc
alevyinroc / gist:ec6619b186e1a80dba4b2df3cd57871c
Last active September 12, 2017 19:45
Running Compare-Object on Get-DbaSpConfigure output
$Prod = Get-DbaSpConfigure -ServerInstance PROD -SqlCredential (get-credential -Message "Prod" -UserName MySQLLogin);
$Test1 = Get-DbaSpConfigure -ServerInstance Test1;
Compare-Object -ReferenceObject $Test1 -DifferenceObject $Prod -property ConfigName,RunningValue|Sort-Object ConfigName;
ConfigName RunningValue SideIndicator
---------- ------------ -------------
MaxDegreeOfParallelism 6 =>
MaxDegreeOfParallelism 4 <=
MaxServerMemory 563200 =>
MaxServerMemory 25600 <=
Compare-Object -ReferenceObject (Get-DbaSpConfigure -ServerInstance Test1;) -DifferenceObject (Get-DbaSpConfigure -ServerInstance PROD -SqlCredential (get-credential -Message "Prod" -UserName MySQLLogin)) -property ConfigName,RunningValue|Sort-Object ConfigName;
import-module dbatools;
start-transcript;
$VerbosePreference = "Continue";
$WhatIfPreference = $False;
$SrcSQLInstance = 'SOURCE\INSTNAME'
$DestSQLInstance = "DEST\INSTNAME";
Get-DbaAgentJob -ServerInstance $DestSQLInstance | Foreach-object {Remove-DbaAgentJob -serverinstance $psitem.sqlinstance -job $psitem}
get-dbaagentschedule -serverinstance $DestSQLInstance | foreach-object {remove-dbaagentschedule -ServerInstance $DestSQLInstance -schedule $PSItem}
get-dbadatabase -serverinstance $DestSQLInstance | remove-dbadatabase;
Copy-DbaLogin -source $SrcSQLInstance -destination $DestSQLInstance -ExcludeLogin 'DOMAIN\User1','DOMAIN\User2','User3';
import-csv './FILENAME.csv' -Header URI,Type,Date|select-object -Unique -Property uri |foreach-object {invoke-webrequest $PSItem.uri}
import-module dbatools,importexcel;
$DBServer = 'MYSERVER';
$TableList = Get-Content TableList.txt;
$Tables = Get-DbaTable -ServerInstance $DBServer -Database Satellites -Table $TableList;
foreach ($Table in $Tables) {
$Columns = $Table.columns | Select-Object Name,DataType,Nullable,@{name='Length';expression={$_.Properties["Length"].Value}};
$Columns | Export-Excel -Path C:\Users\andy\Documents\TableInfo.xlsx -WorkSheetname $Table.Name -FreezeTopRow -BoldTopRow;
}
Get-Content TableList.txt | Foreach-Object {Get-DbaTable -ServerInstance MYSERVER -Database satellites -Table $PSItem | ForEach-Object {$PSItem.Columns | Select-Object Name,DataType,Nullable,@{name='Length';expression={$_.Properties["Length"].Value}} | Export-Excel -Path C:\Users\andy\Documents\TableInfo2.xlsx -WorkSheetname $PSItem.Name -FreezeTopRow -BoldTopRow}}
insert into triggertest(Home,Away,LastModified) values(14,17,'2008-02-03 22:05:00 -05:00');
select * from triggertest;
insert into defaulttest(Home,Away,LastModified) values(14,17,'2008-02-03 22:05:00 -05:00');
select * from defaulttest;
@alevyinroc
alevyinroc / TriggervsDefault1.sql
Last active May 26, 2018 17:07
Demo for trigger vs. default values #1
USE Demo;
SET NOCOUNT ON;
SET STATISTICS TIME, IO OFF;
/* Just to prove there's no shenanigans */
DBCC FREEPROCCACHE;
DBCC DROPCLEANBUFFERS;
GO
DROP TABLE IF EXISTS triggertest;
DROP TABLE IF EXISTS defaulttest;
CREATE TABLE triggertest