my $dbcon = DBI->connect ( qq{dbi:ODBC:driver={SQL Server};Server=127.0.0.1;database=master;}, qq{sa}, qq{*********} ) or die qq{Can't connect to database, erro : $DBI::errstr}; my $sth = $dbcon->prepare(q{ use [Northwind] DECLARE @id int, @indid int, @counter dec (15) CREATE TABLE #Temp ( id int, indid int ) INSERT INTO #Temp SELECT o.id, i.indid FROM sysobjects AS o FULL JOIN sysindexes AS i ON o.id = i.id WHERE o.xtype = 'U' SELECT @counter = COUNT(*) FROM #Temp SET rowcount 1 WHILE ( @counter ) > 0 BEGIN SELECT @id = id, @indid = indid FROM #Temp SET @counter = @counter -1 DBCC SHOWCONTIG (@id, @indid) DELETE FROM #Temp WHERE id = @id and indid = @indid END SET rowcount 0 DROP TABLE #Temp}) || die "Can't prepare sql:\n$DBI::errstr\n"; $sth->execute(); print $DBI::errstr;