Skip to content

Commit 124b513

Browse files
committed
SQL Saturday 440 Version
11 - SSRS - Timed Subscriptions finished
1 parent 7d587f6 commit 124b513

File tree

1 file changed

+67
-12
lines changed

1 file changed

+67
-12
lines changed

Scripts/11_SSRS_Objects.ps1

Lines changed: 67 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
#>
3333

3434
Param(
35-
[string]$SQLInstance='localhost',
35+
[string]$SQLInstance='reportsdb',
3636
[string]$myuser,
3737
[string]$mypass
3838
)
@@ -607,21 +607,76 @@ if(!(test-path -path "$fullfolderPathSUB\HTMLReport.css"))
607607
}
608608

609609

610-
Write-Output "Timed Subscriptions..."
610+
Write-Output "Visual Timed Subscriptions..."
611611
$RunTime = Get-date
612612

613-
#Foreach ($Sked in $Skeds)
614-
#{
615-
# OutPut FileName
616-
$HTMLFileName = "$fullfolderPathSUB\Schedule.html"
613+
$HTMLFileName = "$fullfolderPathSUB\Visual_Subscription_Schedule.html"
617614

618615

619-
$Skeds | select Folder, Report, State, RecurrenceType, RunTime, Weeks_Interval, Minutes_Interval, `
620-
Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec, `
621-
Week_of_Month, Sun, Mon, Tue, Wed, Thu, Fri, Sat, RunHour, `
622-
00Z, 01Z, 02Z, 03Z, 04Z, 05Z, 06Z, 07Z, 08Z, 09Z, 10Z, 11Z, 12Z, 13Z, 14Z, 15Z, 16Z, 17Z, 18Z, 19Z, 20Z, 21Z, 22Z, 23Z `
623-
| ConvertTo-Html -PostContent "<h3>Ran on : $RunTime</h3>" -CSSUri "HtmlReport.css"| Set-Content $HTMLFileName
624-
#}
616+
$Skeds | select Folder, Report, State, RecurrenceType, RunTime, Weeks_Interval, Minutes_Interval, `
617+
Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec, `
618+
Week_of_Month, Sun, Mon, Tue, Wed, Thu, Fri, Sat, RunHour, `
619+
00Z, 01Z, 02Z, 03Z, 04Z, 05Z, 06Z, 07Z, 08Z, 09Z, 10Z, 11Z, 12Z, 13Z, 14Z, 15Z, 16Z, 17Z, 18Z, 19Z, 20Z, 21Z, 22Z, 23Z `
620+
| ConvertTo-Html -PostContent "<h3>Ran on : $RunTime</h3>" -CSSUri "HtmlReport.css"| Set-Content $HTMLFileName
621+
622+
# Script out the Create Subscription Commands
623+
Write-Output "Timed Subscription Create commands..."
624+
$mySubs =
625+
"
626+
USE [ReportServer];
627+
628+
select
629+
'exec CreateSubscription @id='+char(39)+convert(varchar(40),S.[SubscriptionID])+char(39)+', '+
630+
'@Locale=N'+char(39)+S.[Locale]+char(39)+', '+
631+
'@Report_Name=N'+char(39)+R.Name+char(39)+', '+
632+
'@ReportZone='+char(39)+ convert(varchar,S.[ReportZone])+char(39)+', '+
633+
'@OwnerSid='+char(39)+ '0x'+convert(varchar(max),Owner.[Sid],2)+char(39)+', '+
634+
'@OwnerName=N'+char(39)+ SUSER_SNAME(Owner.[Sid])+char(39)+', '+
635+
'@OwnerAuthType='+char(39)+ convert(varchar,Owner.[AuthType])+char(39)+', '+
636+
'@DeliveryExtension=N'+char(39)+S.[DeliveryExtension]+char(39)+', '+
637+
'@InactiveFlags='+char(39)+ convert(varchar,S.[InactiveFlags])+char(39)+', '+
638+
'@ExtensionSettings=N'+char(39)+ replace(convert(varchar(max),S.[ExtensionSettings]),char(39),char(39)+char(39))+char(39)+', '+
639+
'@ModifiedBySid='+char(39)+ '0x'+convert(varchar(max),Modified.[Sid],2)+char(39)+', '+
640+
'@ModifiedByName=N'+char(39)+isnull(SUSER_SNAME(Modified.[Sid]),'')+char(39)+', '+
641+
'@ModifiedByAuthType='+char(39)+ convert(varchar,Modified.AuthType)+char(39)+', '+
642+
'@ModifiedDate='+char(39)+ convert(varchar, S.[ModifiedDate],120)+char(39)+', '+
643+
'@Description=N'+char(39)+S.[Description]+char(39)+', '+
644+
'@LastStatus=N'+char(39)+S.[LastStatus]+char(39)+', '+
645+
'@EventType=N'+char(39)+S.[EventType]+char(39)+', '+
646+
'@MatchData=N'+char(39)+ replace(convert(varchar(max),S.[MatchData]),char(34),char(39)+char(39))+char(39)+', '+
647+
'@Parameters=N'+char(39)+ replace(convert(varchar(max),S.[Parameters]),char(39),char(39)+char(39))+char(39)+', '+
648+
'@DataSettings=N'+char(39)+ replace(convert(varchar(max),isnull(S.[DataSettings],'')),char(39),char(39)+char(39))+char(39)+', '+
649+
'@Version='+char(39)+ convert(varchar,S.[Version])+char(39) as 'ExecString'
650+
from
651+
[Subscriptions] S inner join [Catalog] CAT on S.[Report_OID] = CAT.[ItemID]
652+
inner join [Users] Owner on S.OwnerID = Owner.UserID
653+
inner join [Users] Modified on S.ModifiedByID = Modified.UserID
654+
left outer join [SecData] SD on CAT.PolicyID = SD.PolicyID AND SD.AuthType = Owner.AuthType
655+
left outer join [ActiveSubscriptions] A on S.[SubscriptionID] = A.[SubscriptionID]
656+
inner join [ReportServer].[dbo].[Catalog] R on S.Report_OID = r.ItemID;
657+
"
658+
659+
if ($serverauth -eq "win")
660+
{
661+
$SubCommands = Invoke-Sqlcmd -MaxCharLength 10000000 -ServerInstance $SQLInstance -Query $mySubs
662+
}
663+
else
664+
{
665+
$SubCommands = Invoke-Sqlcmd -MaxCharLength 10000000 -ServerInstance $SQLInstance -Username $myuser -Password $mypass -Query $mySubs
666+
}
667+
668+
# Script Out
669+
if ($SubCommands)
670+
{
671+
New-Item "$fullfolderPathSUB\Timed_Subscriptions.sql" -type file -force |Out-Null
672+
673+
foreach ($TSub in $SubCommands)
674+
{
675+
$TSub.ExecString | out-file -FilePath "$fullfolderPathSUB\Timed_Subscriptions.sql" -append -encoding ascii -width 500000
676+
}
677+
678+
}
679+
625680

626681

627682
# --------------------

0 commit comments

Comments
 (0)