Нужна помощь в соединении с Microsoft.SqlServer.Management.Smo Transfer class

Я пытаюсь скопировать все (данные, индексы, триггеры, хранимые процедуры). Из одной базы данных в другую в C #.

Вот мой код:

SqlConnection connection = new SqlConnection(ConnectionString);

Server myServer = new Server(new ServerConnection(connection));               

Database db = myServer.Databases[this._myDB];

if (myServer.Databases[this._newDB] != null)
   myServer.Databases[this._newDB].Drop();

Database newdb = new Database(myServer, this._newDB);
newdb.Create();

Transfer transfer = new Transfer(db);
transfer.CopyAllSchemas = false;
transfer.CopyAllStoredProcedures = true;
transfer.CopyAllTables = true;
transfer.CopyAllDatabaseTriggers = true;
transfer.CopyAllObjects = true;
transfer.CopyAllUsers = true;
transfer.Options.WithDependencies = true;
transfer.DestinationDatabase = newdb.Name;
transfer.DestinationServer = myServer.Name;
transfer.DestinationLoginSecure = false;
transfer.DestinationLogin = user;
transfer.DestinationPassword = pwd;
transfer.CopySchema = false;
transfer.CopyData = true;
transfer.Options.DriAll = true;
transfer.Options.Triggers = true;
transfer.Options.WithDependencies = true;
transfer.Options.ContinueScriptingOnError = true;

transfer.TransferData();

Я получаю следующую ошибку:

errorCode = -1071636471 description = код ошибки служб SSIS DTS_E_OLEDBERROR. Произошла ошибка OLE DB. Код ошибки: 0x80004005.

Доступна запись OLE DB. Источник: "Собственный клиент Microsoft SQL Server 10.0 " Hresult: 0x80004005 Описание: "Не удалось войти в систему для пользователя 'ДОМЕН \ пользователь».".

Доступна запись OLE DB. Источник: "Собственный клиент Microsoft SQL Server 10.0 " Hresult: 0x80004005 Описание: "Не удается открыть базу данных "myDB (замена названия, но это правильно) запрашивается логином. Не удалось войти.

helpFile = helpContext = 0 idofInterfaceWithError = {5BC870EB-BBA5-4B9D-A6E3-58C6D0051F14}

Самым близким, что я пришел к решению этой проблемы, является:

script = transfer.ScriptTransfer();

foreach (string s in script)
{
     //run a sqlcommand for s
}

Но это неполучить данные.

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

Ответы на вопрос(1)

Ваш ответ на вопрос