Я хотел бы узнать, как остановить / запустить службы MS SQL, чтобы я мог копировать файлы базы данных SQL. Я знаю, как это сделать вручную, но я хотел бы сделать это из сценария.
Как насчет создания резервной копии вместо копирования файлов данных? Таким образом, вам не нужно останавливать / запускать службу SQL Server и вызывать простои, например:
BACKUP DATABASE [databasename]
TO DISK = 'D:\BackupFiles\Database.bak'
WITH COPY_ONLY
GO
в COPY_ONLY
Флаг указывает, что резервная копия является (неожиданно неожиданно) только копией, поэтому цепочка дифференциальных резервных копий не прерывается.
для остановки:
NET STOP MSSQLSERVER
для запуска:
NET START MSSQLSERVER
Но я волнуюсь, если вы хотите скопировать файлы базы данных ... (я думаю, для резервного копирования) ... вы можете подумать об использовании плана обслуживания с схемой резервного копирования, если вы уже используете MS SQL SERVER. Для sql express вам понадобятся несколько пользовательских скриптов. Когда резервное копирование вашей базы данных завершено, выходной файл не блокируется, и вы можете сохранить его в удобном для вас месте, например, на устройстве резервного копирования.