>ma io non ho parlato, mi sembra, di servizi sql ma di servizi
>windows.
I servizi di SQL Server sono servizi Windows
>comunque immagina di avere un applicativo appoggiato su db sql.
>questo applicativo ha dei suoi servizi windows. se non arresto
>questi servizi il db rimane in stato lock.
>devo arrestare i servizi della mia applicazione per poter fare
>un restore.
Il comando di restore di un full backup può essere eseguito solo se la login amministrativa che sta eseguendo il comando è l'unica connessa al db (quindi non possono esserci altre connessioni al db).
Per "stroncare" tutte le altre connessioni puoi eseguire il comando:
ALTER DATABASE <nome db>
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
A questo punto puoi procedere con il restore (specificando la clausola WITH REPLACE).
Una volta terminato il restore puoi riabilitare la multiutenza con il comando:
ALTER DATABASE <nome db>
SET MULTI_USER;
Ora, in base a come sono stati scritti gli applicativi client, può essere che riaprano automaticamente la connessione, altrimenti ciccia e ti tocca riavviarli
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/