Ogni database SQL Server contiene un file di registro delle transazioni (.LDF) che registra tutte le transazioni e le modifiche apportate da ciascuna transazione. Questo file di registro è una parte importante del database e SQL Server lo utilizza per ripristinare il database a uno stato coerente in caso di errore del sistema.
Durante l’attacco del database SQL, è necessario anche richiedere il file di registro delle transazioni, insieme al file MDF. Tuttavia, è possibile allegare il database anche senza il file di registro delle transazioni. In questo articolo, imparerai come allegare un database SQL senza un file di registro delle transazioni.
Allegato un database SQL senza file di registro delle transazioni
Puoi usare il SQL Server Administration Studio (SSMS) o comandi T-SQL per allegare un database SQL Server senza file di registro delle transazioni. Prima di procedere, assicurati di avere l’adesione al db_owner
Risolto il ruolo di database o avere il CREATE DATABASE
, CREATE ANY DATABASE
o alter ANY DATABASE
autorizzazioni.
Per allegare un database SQL senza un file di registro delle transazioni utilizzando SSMS, seguire i passaggi seguenti:
Apri gli SSM. Connettersi all’istanza di SQL Server in Object Explorerfare clic con il tasto destro del mouse sul Databasequindi clicca Allegare.
Nel Allega database Finestra di dialogo, selezionare il database vuoi allegare e fare clic Aggiungere.
Nel Individua i file di database Finestra di dialogo, selezionare la posizione del database ed espandere la struttura della listing per selezionare il file .mdf. Quindi, clicca OK.
Se manca il file di registro delle transazioni, vedrai il “file di registro non trovato“Messaggio nel Allega database finestra. Per allegare il database senza il file di registro delle transazioni, è necessario selezionare il file di registro delle transazioni evidenziato nello snippet e quindi fare clic su Rimuovere opzione. Clic OK.
Questo allega il database senza il file di registro delle transazioni.
Una volta allegato il database, il server SQL ricrea automaticamente un nuovo file di registro delle transazioni nella stessa listing del file MDF.
In alternativa, è possibile utilizzare il comando Transact-SQL di seguito per allegare il database se manca il file di registro delle transazioni:
CREATE DATABASE testdb ON
(FILENAME = ‘C:Program FilesMicrosoft SQL Server..MSSQLDATAtestdb5.mdf’)
For ATTACH_REBUILD_LOG
GO
Dopo aver allegato il database, eseguire il comando DBCC checkdb per verificarne l’integrità. Ecco come farlo:
DBCC CHECKDB ‘database_name’;
Questo comando restituirà errori di coerenza se la corruzione viene rilevata nel file del database (MDF).
Cosa fare se il file MDF è danneggiato?
Se il database MS SQL è danneggiato o corrotto, è possibile utilizzare il DBCC CHECKDB
comando per riparare il file MDF. Per utilizzare questo comando, prima assicurati di avere privilegi di amministrazione nel database. Ora, segui i passaggi seguenti per riparare il database:
Se il tuo database è inaccessibile, è possibile impostarlo in modalità di emergenza. Per questo, utilizzare il seguente comando:
ALTER DATABASE (Dbtesting) SET EMERGENCY
Quindi, impostare il database sulla modalità single_user utilizzando il comando seguente:
ALTER DATABASE Dbtesting SET SINGLE_USER
Dopodiché, usa il file DBCC CHECKDB
comando con il REPAIR_ALLOW_DATA_LOSS
Opzione di riparazione come indicato di seguito:
DBCC CHECKDB (N ’Dbtesting’, REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS, NO_INFOMSGS;
Ora, imposta la modalità di database da SINGLE_USER
A MULTI_USER
eseguendo il comando seguente:
ALTER DATABASE Dbtesting SET MULTI_USER
IL DBCC CHECKDB
Il comando può riparare il file di database SQL ma potrebbe non garantire l’integrità completa dei dati. Trasmette le righe e le pagine durante la riparazione del database, causando così la perdita di dati.
Per prevenire la perdita di dati e riparare rapidamente il file di database SQL (MDF), è possibile utilizzare uno strumento di riparazione del database SQL professionale. Lo strumento può aiutarti Ripara il file MDF con completa integrità. Una volta riparato il file del database, è possibile allegarlo utilizzando il comando SSMS o T-SQL.
Conclusione
Potresti essere richiesto di allegare un file Database SQL Dopo averlo staccato da un altro server o durante lo spostamento del database tra i server. L’allegato di un database richiede sia un file di registro delle transazioni che un file MDF.
In questo put up, abbiamo coperto le istruzioni graduali per allegare un database SQL senza un file di registro delle transazioni. Se il tuo database è corrotto, è possibile utilizzare il DBCC CHECKDB
comanda di riparare il file MDF corrotto. Tuttavia, questo comando può causare perdita di dati se utilizzato con il REPAIR_ALLOW_DATA_LOSS
opzione.