• h.tobisch (9/2/2011)


    You write: "An operation is said to be minimally-logged if all it logs are the allocation changes."

    In the case of a bulk insert this would mean either that a bulk insert can use only fresh allocation units (pages?) or that your statement must be rewritten to "logs which allocation units have been affected"

    From Books Online:

    Whether minimal logging can occur for a table also depends on whether the table is indexed and, if so, whether the table is empty:

    If the table has no indexes, data pages are minimally logged.

    If the table has no clustered index but has one or more nonclustered indexes, data pages are always minimally logged. How index pages are logged, however, depends on whether the table is empty:

    * If the table is empty, index pages are minimally logged.

    * If table is non-empty, index pages are fully logged.

    If the table has a clustered index and is empty, both data and index pages are minimally logged. In contrast, if a table has a clustered index and is non-empty, data pages and index pages are both fully logged regardless of the recovery model.

    And a second question: what exactly cannot be recovered in case of minimal logging?

    Don't understand the question. SQL ensures, no matter what, a database can be recovered in case of a shutdown (if it can't it goes suspect)

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass