Мне нужно написать программу на C #, которая восстанавливает базу данных SQL Server на удаленном компьютере, и мне нужно сделать это с локального компьютера. Мой код восстанавливает базу данных, но мне нужно указать путь к резервной копии файла .bak
на удаленном компьютере, используя «С диска».
string sql = "ALTER DATABASE [" + MyDatabaseName + "] ; Restore Database [" + MyDatabaseName + "] From Disk= '" + pathToBackupAtRemoteComputer + "'WITH REPLACE;"
Когда я удаляю базу данных с помощью SQL Server Management Studio и запускаю код, я получаю сообщение об ошибке, что база данных не существует или у меня нет разрешения. Я хочу 1: удалить базу данных, 2: создать новую базу данных, 3: поместить данные из файла резервной копии. Есть ли возможность написать что-то вроде: "DROP SCHEMA IF NOT EXITS" или "CREATE DATABASE IF NOT EXIST" (как в MySQL)? Я пытался, но это не сработало.
Можно ли использовать файл .bak
на моем локальном компьютере (как в MySQL, когда я передаю файл .sql
на локальном компьютере в строку, а затем удаленно восстанавливаю базу данных)? Или, может быть, отправить файл .bak с локального на удаленный компьютер с помощью приложения C # и сделать это автоматически? Я попробовал это с помощью PsExec, но нет возможности передавать файл между двумя компьютерами.