Ошибка резервного копирования для сервера 'xxxxx / SQLEXPRESS' - PullRequest
1 голос
/ 13 ноября 2011

Я использую этот код для резервного копирования базы данных из файла .mdf.

Backup databaseBackup = new Backup();
databaseBackup.Action = BackupActionType.Database;
databaseBackup.Database = CvVariables.Catalog;
databaseBackup.Devices.Add(new BackupDeviceItem(new NecessaryFunction().MsSqlBackupFileName(this.backupTextboxPath.Text), DeviceType.File));
Server databaseServer = new Server(@".\SQLEXPRESS");
MessageBox.Show(databaseServer.ToString());
databaseBackup.SqlBackup(databaseServer);

На моем ПК разработчика этот код работает нормально. Но на компьютере моего клиента это исключение:

Ошибка резервного копирования для сервера 'xxxxx / SQLEXPRESS'
Microsoft.SqlServer.Management.Common.ExecutionFailureException: исключение произошло при выполнении инструкции или пакета Transact-SQL. ---> System.Data.SqlClient.SqlException:
База данных Cafeteria_Vernier_db не существует. Убедитесь, что имя введено правильно.
РЕЗЕРВНАЯ БАЗА ДАННЫХ завершается ненормально. в Microsoft.SqlServer.Management.Common.ConnectionManager.ExecuteTSql (ExecuteTSqlAction действие, объект execObject, DataSet fillDataSet, Boolean catchException)
в Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery (String sqlCommand, ExecutionTypes executeType)
--- Конец внутренней трассировки стека исключений ---
в Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery (String sqlCommand, ExecutionTypes executeType)
в Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery (StringCollection sqlCommands, ExecutionTypes executeType)
в Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteNonQuery (StringCollection запросы)
в Microsoft.SqlServer.Management.Smo.BackupRestoreBase.ExecuteSql (Сервер сервер, запросы StringCollection)
в Microsoft.SqlServer.Management.Smo.Backup.SqlBackup (Server srv)

Что я делаю не так?

1 Ответ

0 голосов
/ 13 ноября 2011

Похоже, что контекст безопасности, который вы выполняете на клиентском ПК, отличается от контекста на компьютере разработчика.Убедитесь, что ваши учетные данные на клиентском ПК имеют доступ к базе данных кафетерия, в противном случае вы получите то же сообщение, которое не может быть найдено (потому что у него нет доступа к нему).

Я предполагаю, чтоклиентский логин SQL Server не имеет сопоставленного пользователя базы данных в базе данных Cafeteria_Vernier_db.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...