Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Kann ich für jede Iteration in einer Schleife sofort drucken?

Soweit ich weiß nicht.

Auf Connect wurde bereits darüber berichtet. Siehe RAISERROR MIT NOWAIT nicht ausgezeichnet in SQLCMD11

ist aber derzeit nicht behoben.

Ich nehme an, Sie könnten ein SELECT hinzufügen Geben Sie dort Ihre Netzwerkpaketgröße ein (oder erhöhen Sie die vorhandene Nachrichtengröße), um den Puffer als Problemumgehung zu leeren.

Zum Beispiel

DECLARE @i INT = 0;

WHILE @i < 5
  BEGIN
      -- poll async operation status here
      SET @i = @i + 1;

      PRINT 'status is ' + CAST(@i AS VARCHAR(10)) + SPACE(4000);

      WAITFOR DELAY '00:00:01';
  END;