• Two questions:

    1: the "sid > 1" 

       If the "sa" create a product database,the sid in the sysdatabases table will be 'Ox01'.Then the command doesn't work well.

     

    2:the query listed below

    Declare @DBName sysname

    Declare @SqlCmd Nvarchar(2000)

    Set @DBName = ''

    While @DBName Is not NULL

    Begin

     Select @DBName = Min(Name) From master..sysdatabases Where sid > 1 And Name > @DBName

     Set @SqlCmd = 'SELECT ''SELECT name AS [File], filename as [File Name]

        , CAST(size/128.0 as DECIMAL(10,2)) AS [Size in MB]

        , CAST(FILEPROPERTY(name, ''''SpaceUsed'''')/128.0 as DECIMAL(10,2)) as [Space Used]

       , CAST(size/128.0-(FILEPROPERTY(name, ''''SpaceUsed'''')/128.0) AS DECIMAL(10,2)) AS [Available Space] FROM SYSFILES'''

     IF @DBName is NULL Break

     Exec Master..xp_execresultset @SqlCmd,@DBName

    End

    It just return "Command(s) completed successfully."