Voglio assicurarmi che il mio database (SQL Server 2008) rimanga immutabile, ma accessibile per le letture durante alcune operazioni di manutenzione (backup, transizioni ad altri server DB ecc.), come posso bloccarlo a livello di programmazione per le modifiche in C#?Come posso bloccare un database di SQL Server per le modifiche?
6
A
risposta
12
È possibile eseguire un ALTER DATABASE <mydb> SET READ_ONLY
per mettere un database in modalità di sola lettura.
Se si desidera il comando a fallire se non può essere eseguita immediatamente si specifica in questo modo:
ALTER DATABASE <mydb>
SET READ_ONLY
WITH NO_WAIT
Se si vuole rendere rollback tutte le connessioni aperte si specifica il comando come questo:
ALTER DATABASE <mydb>
SET READ_ONLY
WITH ROLLBACK IMMEDIATE
Queste opzioni sono ben documentate nel SQL Server Books online
Problemi correlati
- 1. Come posso bloccare un database SQLite?
- 2. Utilizzare AJAX per visualizzare il database SQL per le modifiche
- 3. Come implementare timestamp automatici per modifiche ai record (SQL Server)
- 4. Come posso ottenere un dump SQL di un database SQL Server 2008?
- 5. Posso salvare un 'oggetto' in un database SQL Server?
- 6. Come determinare le autorizzazioni effettive per un utente di un database SQL Server tramite C#?
- 7. Rileva modifiche su una tabella sql-server
- 8. Usa PHP + jQuery AJAX per controllare il database MySQL per le modifiche e caricare le modifiche?
- 9. Come proteggere un database dall'amministratore del server in Sql Server
- 10. Come posso vedere le modifiche in sospeso di Entity Framework?
- 11. Elimina database SQL Server
- 12. Database locale senza server sql
- 13. SQL Server - Crea un singolo trigger che viene eseguito per TUTTE le tabelle nel database
- 14. Confronto di due schemi di database SQL Server in C#
- 15. Come contare tutte le stored procedure in SQL Server per un database?
- 16. Gestore di database gratuito di SQL Server
- 17. Come posso bloccare l'esecuzione di un programma?
- 18. Come posso interrogare l'elenco dei ruoli del database in un database SQL Server 2000?
- 19. Come esportare un intero database di Access in SQL Server?
- 20. Come forzare l'avvio di un database di SQL Server 2008
- 21. Sql Query per elencare tutte le viste in un database SQL Server 2005
- 22. Come posso aggiornare il mio database sql Server CE 3.5 sdf a Sql Server CE 4.0?
- 23. Script intero database SQL-Server
- 24. Come forzare Entity Framework di non bloccare il database
- 25. Come cambio il proprietario di un database SQL Server?
- 26. Come allegare un database SQL Server dalla riga di comando
- 27. Monitoraggio di chi apporta modifiche a SQL Server nell'applicazione C# o SQL Server
- 28. Come posso monitorare una directory di Windows per le modifiche?
- 29. Il modo migliore per copiare un database (SQL Server 2008)
- 30. Come rilasciare più database in SQL Server
Grazie, questo sembra funzionare alcuni dei momenti, ma la metà delle volte mi eseguire la query (in SQL Server Mana gement Studio) l'esecuzione si blocca e non ritorna ... – user1088045
È possibile specificare 'WITH NO_WAIT' in modo che fallisca immediatamente quando non è possibile eseguire il comando a causa di transazioni aperte ecc. Oppure è possibile specificare' WITH ROLLBACK IMMEDIATE' per renderlo rollback tutte le transazioni aperte. –