Impossibile abilitare select into / bulkcopy nel database di SQL Server 2005 utilizzando sp_dboption

database-permissions sqlbulkcopy sql-server sql-server-2005

Domanda

Sto tentando di abilitare l'opzione di selezione in / bulkcopy su un database SQL Server 2005 utilizzando il comando:

EXEC sp_dboption 'mydbname', 'select into/bulkcopy', 'true'

Dopo aver eseguito quanto sopra, eseguendo EXEC sp_dboption 'mydbname', 'select into/bulkcopy' mi dice che l'opzione è ancora impostata su OFF.

Ho confermato che il mio login di Windows è un utente nel database e appartiene al ruolo db_owner. Dopo aver letto la documentazione MSDN per sp_dboption , questo sembra essere l'unico prerequisito per l'utilizzo della procedura per modificare le opzioni su un database.

Ci sono altri passaggi o impostazioni che mi mancano che potrebbero impedirmi di abilitare questa opzione?

Risposta accettata

Quella procedura è deprecata. Puoi usare

 ALTER DATABASE [mydbname] SET RECOVERY BULK_LOGGED WITH NO_WAIT

Questo sembra accadere se il tuo DB è attualmente in un modello di recupero SIMPLE .

Guardando la definizione della procedura sp_dboption il bit di codice rilevante è

    if @alt_optvalue = 'ON'
    begin
        if databaseproperty(@dbname, 'IsTrunclog') = 1
            select @alt_optvalue = 'RECMODEL_70BACKCOMP'
        else
            select @alt_optvalue = 'BULK_LOGGED'
    end

L'effetto dell'esecuzione di ALTER DATABASE [mydbname] SET RECOVERY RECMODEL_70BACKCOMP WITH NO_WAIT sembra essere quello di impostare il modello di recupero su SIMPLE quindi in pratica non ha alcun effetto in questa istanza



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow