Sql-Server

Primary Key e Clusterd-Index di una tabella coincidono sempre?

Davide Mauri

No necessariamente. Infatti l’indice clustered e la chiave primaria di una tabella sono due cose nettamente distinte fra loro: - la chiave primaria è un vincolo che assicura l’univocità di ogni riga della tabella - un indice clustered è un struttura B+Tree che determina un ordinamento specifico dei dati della tabella nelle pagine di dati. Di fatto, però, SQL Server implementa il vincolo di chiave primaria attraverso un ‘unique index’ di tipo ‘clustered’, a meno che venga prima creata la tabella priva di chiave primaria, quindi aggiunto l’indice clusterd, infine aggiunto il vincolo di chiave primaria che sarà quindi implementata attraverso un ‘unique index’ di tipo ’non-clustered’

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