Come posso collegare un database senza un file LDF in SQL Server?Come allegare un database senza un file LDF?
risposta
È possibile utilizzare sp_attach_single_file_db per collegare un database in cui manca il suo file di registro.
Si dà questo errore: Impossibile aprire il nuovo database 'SharedCS'. CREATE DATABASE è stato interrotto. Errore di attivazione del dispositivo. Il nome del file fisico 'd: \ Programmi \ Microsoft SQL Server \ MSSQL \ data \ dummy_Log.LDF' potrebbe non essere corretto. – Ricardo
Non provare ad allegare un ceppo fittizio. Puoi pubblicare il comando sp_attach_single_file_db che stai utilizzando? –
Questo funziona solo se il file di registro può essere creato di nuovo dove il .mdf dice che lo è. – Joshua
Si può "solo farlo", ma si avverte che non è stato possibile trovare il file .ldf, ma continuerà a collegare il db.
Segnala un errore e il database non è collegato. – Ricardo
Puoi provare cosa viene pubblicato here da MohammedU. Fondamentalmente, cosa usa il comando DBCC REBUILD_LOG. Funzionerà a seconda della versione del tuo server.
Ecco i passaggi (senza dettagli):
- rinominare file mdf esistente per .mdf_old
- Creare un nuovo database con lo stesso .mdf e il file LDF come vecchio.
- Arrestare il server sql
- Rinomina mdf e ldf file del nuovo db per .mdf_old e .ldf_old
- Rinomina .mdf_old per Mdf
- Inizio sql server
- Si dovrebbe vedere db in modalità sospetto
- Modificare il contesto del database su Principale e consentire aggiornamenti alle tabelle di sistema
- Impostare il database in modalità Emergenza (ripristino bypass).
- Arrestare e riavviare il server SQL.
- Ricostruisci il registro.
- Impostare il database in modalità utente singolo ed eseguire DBCC CHECKDB per convalidare la coerenza fisica.
- Disattiva gli aggiornamenti alle tabelle di sistema.
Come si eseguono i passaggi da 8 a 13? –
In caso di problemi, verificare che il file mdf non sia di sola lettura.
EXEC sp_attach_single_file_db @dbname = 'DBNAME',@physname = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\DBNAME_Data.mdf';
Ho provato e ha funzionato ... Speriamo che questo aiuti.
provare questo passi attraverso SQL Server Management Studio
- Aperte SSMS e ha fatto un click destro su basi di dati.
- Seleziona Allega opzione
- Quindi fare clic su aggiungi per allegare file MDF.
- Selezionare il file dall'elenco e fare clic su Ok
- Ora lo schermo mostra file MDF e LDF file (Non trovato)
- scegliere il file LDF e fare clic su opzione Rimuovi.
- Dopo aver rimosso il file LDF, fare clic su OK.
- Il file MDF è stato inserito correttamente nell'elenco dei database.
Questo non funziona per me. Puoi suggerire un'altra soluzione? –
ecco un ottimo articolo su [come allegare mdf senza ldf] (http: //www.sqlserverlogexplorer.com/how-to-attach-mdf-file-senza-ldf-file /) –
Provare ad allegarlo aggiungendo il file MDF alla finestra di dialogo Allega database. Noterai che la finestra di dialogo riporterà il file LDF mancante.Seguire la procedura come mostrato in figura:
In SQL Server 2012 non funzionerà. Provai. –
Funziona per me su 2012 Express – Juan
Qui ci sono frammenti di codice per creare file programaticaly
ldf seguito sono 3 metodi.
Metodo -1
Nel mio caso ho la mia base di dati nella cartella DATA.
È possibile ottenere il percorso completo al database facendo clic destro e poi andare alle proprietà allora si può copiare il percorso completo al database
come nel mio cammino caso è il seguente.
C: \ Programmi \ Microsoft SQL Server \ MSSQL11.DRIBBLEE \ MSSQL \ DATA
Ora qui è Primo metodo utilizzando procedura di memorizzazione (sp_attach_single_file_db) e passando argomenti (nome del database e percorso fisico)
USE [master]
GO
EXECUTE sp_attach_single_file_db
@dbname='AdventureWorksDW_2012',
@physname=N'C:\ProgramFiles\MicrosoftSQLServer\MSSQL11.DRIBBLEE\MSSQL\DATA\AdventureWorksDW2012_Data.mdf'
GO
eseguire il codice dopo l'esecuzione del codice passare alla cartella del database in cui risiede vedrete file .ldf creato laggiù.
Tuttavia otterrete seguente messaggio nella tua
The physical file name "C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\AdventureWorksDW2012_log.ldf" may be incorrect.
New log file 'C:\Program Files\Microsoft SQL Server\MSSQL11.DRIBBLEE\MSSQL\DATA\AdventureWorksDW_2012_log.ldf' was created.
Ora è possibile collegare il database e dopo il collegamento del database fare clic destro sul nome del server in Esplora oggetti e aggiornare.
Metodo-2
se il database ha uno o più file di registro mancanti È possibile utilizzare seguente
CREATE DATABASE db_namehere ON
(
FILENAME=N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\db_namehere.mdf')
FOR ATTACH_REBUILD_LOG
GO
Metodo-3
Se database è solo un registro file missig puoi usare questo
CREATE DATABASE db_name ON
(FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\TestDb.mdf')
FOR ATTACH
GO
Inoltre puoi leggere in LIBRI online per ottenere maggiori informazioni.
- 1. Come allegare un database SQL Server dalla riga di comando
- 2. sqlite - allegare il database
- 3. Come allegare file mdf .SQLEXPRESS
- 4. Visual Studio gitignore e mdf, file ldf
- 5. Android: impossibile allegare un file all'e-mail
- 6. CodeIgniter senza un database?
- 7. Come creare un modello Yii2 senza database
- 8. Come creare l'impaginazione AJAX senza un database?
- 9. Come posso allegare un file immagine in e-mail?
- 10. Come posso allegare un file VHDx o VHD in Linux?
- 11. Android: è possibile allegare un file all'e-mail senza scrivere su SD?
- 12. Come posso allegare una cartella javadoc locale ad un progetto senza un percorso assoluto
- 13. Come allegare un processo in gdb
- 14. Allegare un file PDF per e-mail - Swift
- 15. ripristino database da mdf e ldf file di SQL Server 2008
- 16. Come allegare GestureDetector ad un ListPreference?
- 17. come convertire i file di database Mdf/ldf in file .bak (db restore) usando T-SQL o .net code
- 18. Come posso allegare un oggetto Entity Framework che non proviene dal database?
- 19. Allegare un singolo file ad una e-mail
- 20. Tentativo di allegare un file dalla scheda SD all'e-mail
- 21. Come allegare un file a un messaggio di posta elettronica con PowerShell
- 22. come creare un modello yii senza una tabella di database
- 23. Come salvare un file immagine su un database Postgres?
- 24. Symfony2: come caricare un file senza Doctrine?
- 25. Impossibile allegare il database ASP.NET a SQL Server Management Studio
- 26. Come allegare un debugger alla creazione del processo?
- 27. Come creare un database da schema.rb senza inizializzare Rails?
- 28. Come eseguire una ricerca stringa sfocata senza un database pesante?
- 29. Come posso utilizzare Rails/Devise senza un database?
- 30. Come testare la connessione di SqlServer senza aprire un database
Basta aggiungere che si può ottenere un database incoerente facendo questo. È molto meglio collegarlo con l'LDF originale. Vedere https://blogs.msdn.com/sqlserverstorageengine/archive/2006/06/15/632398.aspx –