Il file .mdf è l'acronimo di Master Database File ed è un database SQL inserito in un file. Questi file hanno un associato .ldf (file di database di log) che contiene i log per tale database. I file MDF sono le basi di SQL Server Meccanismo di archiviazione dati. Questi componenti critici richiedono un rilevamento rapido e metodi di ripristino adeguati in caso di danneggiamento per ridurre al minimo la perdita di dati. MDF (Master Database File) funge da file di dati principale in SQL Server che contiene tutti i dati utente come tabelle, indici, stored procedure, viste e altri oggetti del database. Questo file contiene sia lo schema che i dati effettivi, il che lo rende la parte più importante di qualsiasi SQL Server database. L'estensione .mdf identifica questo file primario che interagisce con i file di registro (.ldf).
È importante comprendere che SQL Server NON è un database server basato su file (come lo è ad esempio Access) ma è basato su un servizio. Di conseguenza, SQL Server non crea dei file ma crea dei database e gestisce dei database. È compito del servizio gestire a basso livello i file che compongono i rispettivi database (sempre almeno 2) e non di chi interagisce con SQL Server (DBA o utente che sia).
Il database si crea pertanto con il comando CREATE DATABASE. Un database di SQL Server è un oggetto logico mentre un file è l'oggetto fisico. Un database è composto da 2 o più file, ma sono creati e gestiti dal servizio SQL Server. Tu puoi impartire a SQL Server il comando CREATE DATABASE (magari specificando la posizione, le dimensioni iniziali, il fattore di crescita e altri attributi per ciascuno dei files che costituiranno il database) ma non puoi eseguire un comando CREATE FILE perché non avrebbe alcun senso. Per lo stesso motivo (database basato su servizio e non su file) per connetterti ad un database Access identifichi un file; per connetterti ad un database SQL Server devi referenziare una istanza (un servizio) e all'interno di essa scegliere un database (oggetto logico).
Segnali di Corruzione e Rilevamento dei File MDF
Rilevare rapidamente la corruzione dei file MDF può far risparmiare molto tempo di ripristino. I segnali di danneggiamento dei file MDF aiutano ad agire rapidamente in caso di problemi. La corruzione del database solleva molte domande da parte degli utenti.
Esempi di messaggi di errore comuni che indicano corruzione includono:
Leggi anche: conversione inclinazione per tagli con troncatrice
- Failed to retrieve data for this request.
- xxx.mdf is not a primary database file.
- Attach database failed for Server ‘xxx’.
- The header for file ‘xxx.mdf’ is not a valid database file header.
- SQL Server detected a logical consistency-based I/O error: incorrect checksum (expected: 0x2abc3894; actual: 0x2ebe208e). It occurred during a read of page (1:1) in database ID 12 at offset 0x00000000002000 in file ‘xxx.mdf’.
Questo è un grave errore che minaccia l'integrità del database e deve essere corretto immediatamente. Complete a full database consistency check (DBCC CHECKDB).
Metodi di Ripristino per File MDF Danneggiati
Se i file MDF sono stati recuperati da DataNumen Data Recovery (o altri strumenti di recupero dati) non possono essere allegati in SQL Server, questi file potrebbero ancora essere danneggiati. Esistono diversi approcci per affrontare la corruzione dei file MDF.
Metodi Nativi di SQL Server
SQL Server I metodi nativi di forniscono metodi gratuiti per riparare la corruzione dei file MDF. I metodi integrati meritano il primo tentativo, poiché dispongono di supporto ufficiale. Il metodo di ripristino più affidabile inizia con il ripristino da un backup recente. Questo approccio evita la corruzione dei dati riportando il database a uno stato integro. È possibile utilizzare il comando RESTORE DATABASE con i parametri FROM DISK appropriati per riportare il database allo stato precedente alla corruzione.
Le opzioni di riparazione presentano dei rischi. REPAIR_ALLOW_DATA_LOSS potrebbe rimuovere completamente le pagine danneggiate, causando la perdita permanente di dati. Ignora inoltre i vincoli di chiave esterna, che possono compromettere l'integrità relazionale tra le tabelle. Questo comando esamina una sola tabella anziché l'intero database. Gli amministratori del database ottengono l'accesso in sola lettura tramite la modalità di emergenza in caso di errore dell'accesso normale. Il processo ricostruisce il log delle transazioni, ma si perde la coerenza transazionale e si interrompe la catena di ripristino.
Strumenti di Terze Parti per il Recupero Avanzato
Se i metodi manuali sopra indicati falliscono, puoi provare strumenti professionali, come DataNumen SQL Recovery, che ti aiuta a riparare i file MDF danneggiati che SQL Server Gli strumenti integrati non sono in grado di gestire questo tipo di file. Ciononostante, strumenti di terze parti potrebbero recuperare più dati in casi di corruzione grave.
SysInfo SQL Server Repair Utility
L'utilità di ripristino di SQL Server di SysInfo supporta il ripristino di entrambi MDF E NDF file. Può recuperare il massimo dei dati da un file di database SQL danneggiato senza alcun ostacolo. Anche se il tuo database SQL è gravemente danneggiato, il programma di riparazione del database SQL Server offre doppie modalità di ripristino per gestire anche i danni più gravi. Lo strumento di riparazione e ripristino SQL supporta file MDF creati da qualsiasi versione di MS SQL Server come 2000, 2005, 2008, 2012, 2014 e 2016. Inoltre, il programma è sviluppato per funzionare esclusivamente su sistemi operativi Windows.
L'utilità SysInfo è abile nel recuperare un'ampia gamma di oggetti di database:
| Tipo di Oggetto | Descrizione |
|---|---|
| Indici | Strutture che migliorano la velocità di recupero dei dati da tabelle. |
| Viste | Tabelle virtuali basate sul risultato di un'istruzione SELECT. |
| Tabelle | Le strutture primarie per l'archiviazione dei dati. |
| Trigger | Stored procedure che si eseguono automaticamente in risposta a eventi su una tabella. |
| Procedure Memorizzate | Set di istruzioni SQL precompilate. |
| Regole | Definizioni per l'integrità dei dati. |
| Chiavi | Chiavi primarie e chiavi esterne per mantenere le relazioni tra le tabelle. |
Una volta completato il processo di scansione, il software SQL Database Recovery crea un'anteprima degli oggetti di database recuperati. Mostra una struttura ad albero di tutti gli oggetti del database recuperati. Tutti gli oggetti nella struttura ad albero vengono salvati per impostazione predefinita.
È possibile salvare tutti i dati recuperati da un database SQL danneggiato in due modi diversi. Puoi scegliere di salvare in un file nuovo file di database fornendo informazioni sul server e sul database. Quando si salvano i dati recuperati in un database SQL Server, è disponibile anche una modalità di autenticazione. È necessario selezionare Autenticazione Windows o Autenticazione server (richiede nome utente e password).
Molti utenti trovano SQL Server molto più complesso. Pertanto, lo strumento di ripristino del database SQL Server SysInfo è progettato con una GUI semplice e interattiva per facilitare il lavoro. Tutti gli utenti inesperti e gli utenti non tecnici possono utilizzare facilmente lo strumento.
Per un corretto funzionamento del software, è consigliabile disattivare temporaneamente il tuo antivirus o consentire l'accesso dalle sue impostazioni. Si raccomanda inoltre di evitare il file di origine da qualsiasi unità o rete condivisa (NAS, SAN, LAN e WAN) poiché dovrebbe trovarsi sullo stesso computer funzionante.
DataNumen SQL Recovery
DataNumen SQL Recovery fa più del recupero standard. Solitamente i metodi standard non riescono a riparare i database crittografati dal malware. DataNumen SQL Recovery Sfrutta algoritmi speciali per ottenere dati da file MDF crittografati da ransomware senza pagare gli aggressori. Vedrai una barra di avanzamento che mostra come procede la riparazione. Le aziende con diversi database danneggiati risparmieranno tempo grazie alla riparazione in batch. È possibile aggiungere tutti i file MDF danneggiati a una coda, impostare le preferenze di output e avviare il ripristino.
Servizi di Recupero Online
I servizi online offrono un modo diverso per riparare i database SQL quando scaricare e installare un software di recupero non è possibile o non è conveniente. Questi servizi cloud funzionano con SQL Server File di database come .mdf, .ndf e .ldf. La maggior parte dei servizi online consente di testarne l'efficacia con demo gratuite. La scelta migliore tra recupero online e offline dipende dalle tue esigenze. Gli strumenti di recupero offline offrono maggiore controllo e privacy, ma richiedono maggiori competenze tecniche.
Connessione ai Database .mdf in Visual Studio
I passaggi descritti in questo articolo illustrano come connettersi a un'origine dati nell'IDE di Visual Studio. L'origine dati può essere un database locale, un servizio dati online o un database aperto da un .mdf file. È possibile usare direttamente i dati in Visual Studio. È possibile eseguire query, modificare i dati, creare e modificare le tabelle e le altre proprietà dello schema, modificare le stored procedure e le funzioni, i trigger e così via.
È possibile aprire una connessione a un database o a un servizio o a un database LocalDB aperto da un .mdf file e visualizzare e modificare tabelle e righe di dati tramite Esplora server o Esplora oggetti di SQL Server. La funzionalità di queste finestre si sovrappone in qualche misura.
Esplora server
Installato per impostazione predefinita in Visual Studio. Può essere usato per testare le connessioni e visualizzare i database di SQL Server, qualsiasi altro database con un provider di ADO.NET installato e alcuni servizi di Azure. Mostra anche oggetti di basso livello, ad esempio contatori delle prestazioni di sistema, registri eventi e code di messaggi.
Esplora oggetti di SQL Server
Installato con SQL Server Data Tools e visibile nel menu Visualizza. Se non viene visualizzato, passare a Programmi e funzionalità nel Pannello di controllo, trovare Visual Studio e quindi selezionare Cambia per eseguire di nuovo il programma di installazione dopo aver selezionato la casella di controllo per SQL Server Data Tools. Usare Esplora oggetti di SQL Server per visualizzare i database SQL (se hanno un provider di ADO.NET), creare nuovi database, modificare gli schemi, creare stored procedure, recuperare stringhe di connessione, visualizzare i dati e altro ancora.
Creazione di una Connessione al Database
Per creare una connessione al database, fare clic sull'icona Connetti al database in Esplora server oppure fare clic con il pulsante destro del mouse in Esplora server nel nodo Connessioni dati e selezionare Aggiungi connessione. Scegliere un'origine dati e selezionare Continua per passare alla finestra di dialogo Aggiungi connessione. Se non si ha accesso a un altro database e non è installato LocalDB, è possibile installare LocalDB tramite il programma di installazione di Visual Studio, come parte del carico di lavoro Archiviazione ed elaborazione dei dati, il carico di lavoro di sviluppo ASP.NET e Web o come singolo componente. È possibile creare nuovi database archiviati nei .mdf file aggiungendo un elemento database basato sul servizio al progetto.
Testare la connessione e, in caso di esito positivo, scegliere OK. Se l'origine dati non è quella desiderata, fare clic sul pulsante Cambia per scegliere una nuova origine dati o un nuovo provider di dati ADO.NET. Viene visualizzata la finestra di dialogo Connetti. Se è necessario impostare altre impostazioni nella stringa di connessione, è possibile usare il collegamento Avanzate, che visualizza tutte le impostazioni. Dopo aver scelto l'origine dati, fare clic su Test connessione.
Opzioni di Sicurezza e Autenticazione
In Visual Studio 2022 versione 17.8 e successive la finestra di dialogo include due nuove opzioni (Crittografa e certificato del server di attendibilità) che entrano nella stringa di connessione e influiscono sulle impostazioni di sicurezza usate per la connessione. Queste opzioni supportano le funzionalità di sicurezza più rigorose del driver di database Microsoft.Data.SqlClient 4.0. La procedura di sicurezza consigliata consiste nell'usare la crittografia e installare un certificato nel server. Vedere Crittografia e convalida dei certificati. Se non si imposta Crittografa su facoltativo con Visual Studio 17.8 o versione successiva, che usano la versione 4.0 di Microsoft.Data.SqlClient, per impostazione predefinita la crittografia è obbligatoria. Questa è una modifica sostanziale rispetto al comportamento nelle versioni precedenti. È stata stabilita una connessione con il server, ma si è verificato un errore durante il processo di accesso. (provider: provider SSL, errore: 0 - La catena di certificati è stata rilasciata da un'autorità non attendibile. È possibile scegliere tra diversi tipi di autenticazione che coprono un'ampia gamma di scenari.
Considerazioni sull'Architettura (32/64 bit)
Ciò significa che alcuni degli strumenti di dati in Visual Studio non saranno in grado di connettersi ai database OLEDB o ODBC usando provider di dati a 32 bit. Se è necessario gestire applicazioni a 32 bit che si connettono a OLEDB o ODBC, sarà comunque possibile compilare ed eseguire l'applicazione con Visual Studio 2022 e versioni successive. Tuttavia, se è necessario usare uno degli strumenti dati di Visual Studio, ad esempio Esplora server, Creazione guidata origine dati o Progettazione set di dati, sarà necessario usare una versione precedente di Visual Studio che è ancora un processo a 32 bit. Se l'applicazione usa database di Microsoft Access e può convertire il progetto a 64 bit, è consigliabile usare il motore di database di Microsoft Access a 64 bit, denominato anche Access Connectivity Engine (ACE).
Integrazione con Data Binding e Servizi Connessi
Se si usa .NET Framework (non .NET Core o .NET 5 o versione successiva) e Windows Form o WPF, è possibile usare la finestra Origini dati, ad esempio, per configurare il data binding per i controlli nelle applicazioni Windows Form e WPF, vedere Aggiungere nuove origini dati. Se si usa .NET 5 o versione successiva, .NET Core o ASP.NET Core, è possibile connettere l'app al database usando Servizi connessi. Usando Servizi connessi, è possibile usare facilmente un database di sviluppo locale, ospitato da SQL LocalDB, SQL Server in esecuzione in un contenitore o un'istanza locale di SQL Server e quindi passare al database SQL di Azure quando si è pronti per la distribuzione nel cloud.
Passaggi Dettagliati per il Ripristino di un Database SQL con SysInfo
Di seguito, un esempio di procedura passo-passo per il recupero di un file MDF danneggiato utilizzando un software di ripristino come SysInfo.
- Passaggio 1: Avvia il software di ripristino del database SQL sul tuo sistema.
- Passaggio 3: Ora seleziona la modalità di ripristino: Standard o Avanzata. Inoltre, definisci il tipo di confronto, ovvero puoi selezionare l'opzione Rilevamento automatico oppure puoi definire manualmente qualsiasi tipo di confronto.
- Passaggio 4: Il processo di scansione è in corso sul tuo sistema.
- Passaggio 5: Entro un paio di minuti, il processo di scansione sarà completato.
- Passaggio 6: Qui espandi le cartelle recuperate nella struttura ad albero per controllare l'anteprima dei dati.
- Passaggio 7: Ora seleziona qui la modalità di salvataggio, ovvero sotto forma di database SQL Server o script compatibili con SQL Server. Se scegli l'opzione degli script compatibili con SQL Server, devi definire una posizione in cui desideri salvarli.
- Passaggio 8: Il processo di salvataggio è in corso sul tuo sistema.
- Passaggio 9: Entro un paio di minuti il processo di salvataggio sarà completato.
Validazione Post-Ripristino e Misure Preventive
Riparare il file MDF danneggiato risolve solo metà del problema. Un controllo di convalida dettagliato garantisce che tutti i dati rimangano intatti dopo la riparazione. Questo comando individua i valori di colonna che potrebbero non essere validi o fuori intervallo per i rispettivi tipi di dati. L'ottimizzazione delle prestazioni diventa il passo successivo una volta verificata l'integrità dei dati. Il team principale dovrebbe innanzitutto ricostruire gli indici più utilizzati per ripristinare rapidamente le prestazioni sui sistemi critici.
La SQL Server La corruzione del database richiede un rilevamento rapido e metodi di ripristino adeguati per ridurre al minimo la perdita di dati. Prevenire è meglio che curare. La manutenzione regolare del database, le corrette procedure di backup e il monitoraggio dello stato del disco riducono sostanzialmente i rischi di corruzione. L'opzione CHECKSUM verifica l'integrità del backup durante l'operazione. Il monitoraggio proattivo aiuta a rilevare potenziali problemi prima che danneggino i dati. Monitoraggio di Azure o SQL Server Management Studio può configurare questi avvisi.
tags: #convertire #mdf #in #sql