Мы выполняли нашу базу данных sql с использованием osql следующим образом:
osql -s IP-9873743\SQLEXPRESS -E -Q "BACKUP DATABASE DBNAME TO
Disk ='e:\sysbkup\sqlbackup\DBNAME.bak' WITH NOFORMAT,
INIT, NAME = N' DBNAME-Full Database Backup',
SKIP, NOREWIND, NOUNLOAD, STATS = 10"
Мы хотим сделать то же самое с другого хоста, но когда мы добавляем параметр -H для хоста в команду, мы получаем «Ошибка входа в систему». С помощью MS SQL Server Management Studio мы можем нормально войти на другой сервер с проверкой подлинности Windows, поскольку моя машина и другой хост используют одни и те же имена пользователей с одним и тем же паролем.
Когда я запускаю оператор резервного копирования из консоли MGMT Studio, резервная копия сохраняется на диск другого хоста, а не переносится на клиентский компьютер. Есть идеи, как я смогу сделать резервную копию базы данных MSSQL с другого хоста, отличного от самого механизма mssql?
Вы должны указать имя сервера в параметре -s, а не -H, хотя это все равно будет резервное копирование на сервер, на котором работает служба SQL.
По моему опыту, SQL Server суетливо относится к работе с сетевыми дисками, но вы можете попробовать указать путь UNC (\\<server>\<share>\<backup_file>
) в то место, куда вы хотите передать резервную копию в сети. Я считаю, что пользователю, на котором запущен экземпляр SQL Server, потребуется доступ для записи на целевую машину. Я не думаю, что он будет использовать вашу учетную запись, несмотря на вход в систему через встроенную систему безопасности Windows, поэтому вам нужно будет сначала организовать это.