Ошибка копирования базы данных SQL Server 2000 в SQL Server 2008 - PullRequest
2 голосов
/ 18 октября 2011

Я пытаюсь обновить базу данных с экземпляра SQL Server 2000 до экземпляра SQL Server 2008. Я делаю это, щелкая правой кнопкой мыши по базе данных и выбирая копию базы данных. Моя текущая проблема заключается в том, что я получаю эту ошибку в файле журнала:

OnError, AQUE-SQLDEV, NT AUTHORITY \ SYSTEM, aque-db2000_aque-sqldev_sql2008_Transfer Objects Задача, {F0ACDE4D-D023-400C-BE3C-91CD3A537988}, {40E67169-0F3F-4F86-AD2E-6E2CB532BA5C}, 18/10/2011 г. 15: 38: 37,18 / 10/2011 15: 38: 37,0,0x, Сбой сценария для пользователя «Веб-пользователь». StackTrace: в Microsoft.SqlServer.Management.Smo.Scripter.ScriptWithList (DependencyCollection объекты depList, SqlSmoObject []) в Microsoft.SqlServer.Management.Smo.Scripter.ScriptWithList (SqlSmoObject [] объекты) в Microsoft.SqlServer.Management.Smo.Transfer.Microsoft.SqlServer.Management.Common.ITransferMetadataProvider.SaveMetadata () в Microsoft.SqlServer.Management.Dts.DtsTransferProvider.Configure (ITransferMetadataProvider metadataProvider) в Microsoft.SqlServer.Management.Smo.Transfer.GetTransferProvider ()
в Microsoft.SqlServer.Management.Smo.Transfer.TransferData () в Microsoft.SqlServer.Dts.Tasks.TransferObjectsTask.TransferObjectsTask.TransferDatabasesUsingSMOTransfer () InnerException -> Создание пользователя без связанного входа не поддерживается в SQL Server 2008.;

Кто-нибудь знает, почему это может происходить?

Спасибо

Сэчины

Ответы [ 2 ]

1 голос
/ 03 января 2012

Причина может заключаться в том, что файл с новым именем базы данных уже существует в файловой системе. Мы столкнулись с этим, когда переименовали базу данных X в X_Old, и попытались скопировать базу данных Y в X. Это невозможно, поскольку база данных X_Old по-прежнему связана с именем файла X.

Либо удалите конфликтующую базу данных, либо переименуйте файл в файловой системе.

См. http://codecopy.wordpress.com/2012/01/03/error-while-copying-a-database/

1 голос
/ 17 ноября 2011

Исходя из ошибки, создается впечатление, что вам нужно сначала создать имя входа на сервере SQL 2008, которое совпадает с тем же именем входа / пользователя, которое существует на сервере SQL 2000. Вы могли бы сделать пару вещей:

  1. создайте новую базу данных в 2008 году для перехода на
  2. создать новый логин в 2008 году, который совпадает с существующим логином из sql 2000
  3. сопоставить новый логин с этой новой базой данных с шага # 1
  4. запустить мастер копирования базы данных

Если бы это был я, я бы сделал, как предложил marc_s, и сделал бы полное резервное копирование существующей базы данных на SQL 2000, а затем восстановил бы пустую базу данных на SQL 2008. Если вы можете, обновите режим совместимости в свойствах базы данных, чтобы 2008. Я делал это сотни раз и работает как шарм.

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