none
SQL Server Ripristina DataBase RRS feed

  • Domanda

  • Buondì

    non riesco a fare il  ripristina del database.

    Dopo avere cancellato l'ultente da sicurezza del DB facendo il Ripristina mi viene fuori il messaggio seguente:

    SQL Server Management error Ripristina Impossibile eseguire Ripristina per Server.
    System.data.SqlClient.Sqlerror: impossibile ottenere accesso esclusivo al database perchè in uso

    Premetto che questa operazione l'ho sempre eseguita altre volte, non capisco come poter sovrascrivere  il DB!!

    mercoledì 10 luglio 2013 14:53

Risposte

  • Probabilmente ci sono delle connessioni aperte verso il tuo database.

    per chiuderle usa questo script:

    DECLARE @dbname varchar(50)
    
    --metti il nome del tuo DB
    SET @dbname = 'MyDatabaseName'
    
    
    
    DECLARE @strSQL varchar(255)
    
    
    CREATE table #tmpUsers(
    spid int,
    eid int,
    status varchar(30),
    loginname varchar(50),
    hostname varchar(50),
    blk int,
    dbname varchar(50),
    cmd varchar(30),
    request_id int )
    
    INSERT INTO #tmpUsers EXEC SP_WHO
    
    
    DECLARE LoginCursor CURSOR
    READ_ONLY
    FOR SELECT spid, dbname FROM #tmpUsers WHERE dbname = @dbname
    
    DECLARE @spid varchar(10)
    DECLARE @dbname2 varchar(40)
    OPEN LoginCursor
    
    FETCH NEXT FROM LoginCursor INTO @spid, @dbname2
    WHILE (@@fetch_status <> -1)
    BEGIN
    IF (@@fetch_status <> -2)
    BEGIN
    PRINT 'Killing ' + @spid
    SET @strSQL = 'KILL ' + @spid
    EXEC (@strSQL)
    END
    FETCH NEXT FROM LoginCursor INTO  @spid, @dbname2
    END
    
    CLOSE LoginCursor
    DEALLOCATE LoginCursor
    
    DROP table #tmpUsers


    Luca Dalsass
    Solution Architect and Development Manager presso Totalcom Srl Bolzano

    venerdì 12 luglio 2013 16:25