Gostaria de descobrir como parar/iniciar serviços MS SQL para poder copiar arquivos de banco de dados SQL. Eu sei fazer isso manualmente, mas gostaria de fazer isso a partir de um script.
Responder1
Em vez de copiar os arquivos de dados, que tal fazer uma cópia de segurança? Dessa forma você não precisa parar/iniciar o serviço SQL Server e causar tempo de inatividade, como por exemplo:
BACKUP DATABASE [databasename]
TO DISK = 'D:\BackupFiles\Database.bak'
WITH COPY_ONLY
GO
o COPY_ONLY
sinalizador especifica que o backup é (surpresa surpresa) apenas uma cópia, não quebrando assim a cadeia de backup diferencial.
Responder2
para parar:
NET STOP MSSQLSERVER
para começar:
NET START MSSQLSERVER
Mas eu sugiro que você queira copiar os arquivos do banco de dados.. (acho que para fins de backup).. você pode considerar usar um plano de manutenção com um esquema de backup se você já usa o MS SQL SERVER. Para SQL Express você precisa de alguns scripts personalizados. Quando o backup do seu banco de dados for concluído, o arquivo de saída não será bloqueado e você poderá armazená-lo em um local de sua preferência, por exemplo, um dispositivo de backup.