none
VB Beispiel für AvailableSpace aus einer SQL Log Datafile RRS feed

  • Frage

  • Hallo,

    hat jemand ein VB Beispiel, wie man aus dem Datafile Member (aus dem SMO Namespace) das Property "AvailableSpace" auslesen kann?
    Ich möchte aus einem SQL Log File den freien Platz auslesen, um ihn später für weitere Berechnungen zu nutzen.
    Danke!

    Gruß,
    Thomas
    S070004
    Samstag, 10. Oktober 2009 22:22

Antworten

  • Hallo Thomas,

    "AvailableSpace" ist ein Property aus FileGroups.Files.
    Das Logfile gehört aber zu keiner Dateigruppe, also kannst Du es nicht verwenden. Aber über LogFiles kommst Du an den gewünschten Wert:


        Private Sub SmoTest()
            Dim smo As New Microsoft.SqlServer.Management.Smo.Server
            Dim database As Microsoft.SqlServer.Management.Smo.Database

            smo = New Microsoft.SqlServer.Management.Smo.Server(".\SQL105CTP")

            database = smo.Databases("model")
            'FileGroup; gibt es nur für Datendateien
            Debug.Print(database.FileGroups(0).Files(0).Name)
            Debug.Print(database.FileGroups(0).Files(0).AvailableSpace)
            'LogFile
            Debug.Print(database.LogFiles.Item(0).Size - database.LogFiles.Item(0).UsedSpace)
        End Sub


    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    Samstag, 10. Oktober 2009 23:27

Alle Antworten

  • Hallo Thomas,

    "AvailableSpace" ist ein Property aus FileGroups.Files.
    Das Logfile gehört aber zu keiner Dateigruppe, also kannst Du es nicht verwenden. Aber über LogFiles kommst Du an den gewünschten Wert:


        Private Sub SmoTest()
            Dim smo As New Microsoft.SqlServer.Management.Smo.Server
            Dim database As Microsoft.SqlServer.Management.Smo.Database

            smo = New Microsoft.SqlServer.Management.Smo.Server(".\SQL105CTP")

            database = smo.Databases("model")
            'FileGroup; gibt es nur für Datendateien
            Debug.Print(database.FileGroups(0).Files(0).Name)
            Debug.Print(database.FileGroups(0).Files(0).AvailableSpace)
            'LogFile
            Debug.Print(database.LogFiles.Item(0).Size - database.LogFiles.Item(0).UsedSpace)
        End Sub


    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    Samstag, 10. Oktober 2009 23:27
  • Hallo Olaf,

    vielen Dank für Deine Hilfe!
    Ich war schon auf den richtigen Weg, denn LogFiles hatte ich mir schon angeschaut. Aber es war schon recht spät und irgendwie hatte ich nur noch "Bretter" vor dem Kopf.

    Nochmals vielen Dank!

    Gruß,

    Thomas

     


    S070004
    Sonntag, 11. Oktober 2009 11:43