Articoli

Approfondimenti tecnici e articoli di riferimento su SQL Server e Data Platform, con estensioni su Azure, analytics/BI e Data Engineering. Qui trovi guide operative, best practice, analisi e casi reali dalla community UGISS, pensati per essere utili anche a distanza di tempo.

Creare un template per Reporting Services

Davide Mauri

La creazione di un template per la creazione di report è un buona best practice da prendere in considerazione. Per creare un template e renderlo disponibile da Visual Studio è un’operazione piuttosto semplice. Una volta definito e creato il report che farà da template basterà copiarlo nella cartella

:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies\ProjectItems\ReportProject

Verificare l'esistenza di un file

Davide Mauri

Con queste poche dighe di codice è possibile verificare - unicamente mediante T-SQL - l’esistenza o meno di un file:

create table [#cmdoutput]
(
[output] nvarchar(1024)
)
go

insert into [#cmdoutput] ([output])
exec xp_cmdshell ‘dir /b \\tauceti2\c$\autoexec.bat’
go

declare @exists int
select @exists = count(*) from #cmdoutput where [output] is not null
if (@exists > 0) print ‘Exists’ else print ‘Not Exists’
go

Smo: individuare le istanze di SQL Server

Davide Mauri

Esistono molti metodi per ottenere programmaticamente informazioni utili circa le istanze di SQL Server disponibili sia localmente che in rete anche se, in quest’ultimo caso, non tutti garantiscono il corretto funzionamento dal momento che possono entrare in gioco fattori difficilmente prevedibili e arginabili legati solitamente all’infratruttura di security della rete piuttosto che alla configurazione delle varie istanze di SQL Server.
Ad ogni modo, in nostro soccorso corrono le ormai famigerate API conosciute con l’acronimo di Smo (SQL Server Management Objects), che permettono di interagire con versioni di SQL Server dalla 7 in poi.
Il primo passo da effettuare è dunque l’importazione nel nostro progetto del namespace Microsoft.SqlServer.Management.Smo tramite la ‘reference’ alle librerie Microsoft.SqlServer.Smo.dll e Microsoft.SqlServer.ConnectionInfo.dll. A questo punto, un primo metodo percorribile (e facilmente opinabile) permette di enumerare la lista delle istanze (locali e non) registrate in SQL Server Management Studio tramite il metodo EnumRegisteredServers di SmoApplication: