SQL Server-Verwaltungsobjekte

Bei Verwendung von vertrauenswürdigen oder SQL-Anmeldungen wird derselbe Fehler im folgenden Code angezeigt:

VS2010, Konsolenanwendung .NET4, Win XP. SQL2005 voll.

Bomben auf der transfer.TransferData

ERROR: errorCode = -1073548784 description = Das Ausführen der Abfrage "" ist mit folgendem Fehler fehlgeschlagen: "" Das Abrufen der COM-Klassenfactory für die Komponente mit der CLSID {19E353EF-DAF4-45D8-9A04-FB7F7798DCA7} ist aufgrund des folgenden Fehlers fehlgeschlagen: 80040154. ". Mögliche Fehlerursachen: Probleme mit der Abfrage, Eigenschaft "ResultSet" nicht korrekt gesetzt, Parameter nicht korrekt gesetzt oder Verbindung nicht korrekt hergestellt.

dies fühlt sich an wie Sicherheit. Alle mögliche Gedanken würden fantastisch sein!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;
using System.Collections.Specialized;
using System.IO;
using System.Configuration;


namespace GenerateScripts
{
    class Program
    {
        static void Main(string[] args)
        {
                ServerConnection sourceConnection = new ServerConnection("localhost");
                Server sourceServer = new Server(sourceConnection);
                //sourceServer.ConnectionContext.LoginSecure = false;
                //sourceServer.ConnectionContext.Login = "3tier";
                //sourceServer.ConnectionContext.Password = "3tier";
                Database sourceDatabase = sourceServer.Databases["3tier"];


                // destination
                ServerConnection destinationConnection = new ServerConnection("localhost");
                Server destinationServer = new Server(destinationConnection);
                //destinationServer.ConnectionContext.LoginSecure = false;
                //destinationServer.ConnectionContext.Login = "3tier2";
                //destinationServer.ConnectionContext.Password = "3tier2";
                Database destinationDatabase = destinationServer.Databases["3tier2"];

                Transfer transfer = new Transfer(sourceDatabase);
                transfer.CopyAllObjects = false;
                transfer.DropDestinationObjectsFirst = false;
                transfer.UseDestinationTransaction = true;

                transfer.CopyAllDefaults = true;
                transfer.Options.Indexes = true;
                transfer.Options.DriAll = true;
                transfer.CopyAllDefaults = true;

                transfer.Options.AnsiFile = true;
                transfer.Options.SchemaQualify = true;
                transfer.Options.WithDependencies = false;
                transfer.CreateTargetDatabase = false;
                transfer.CopySchema = true;
                transfer.CopyData = true;

                transfer.DestinationServer = "localhost";
                transfer.DestinationDatabase = "3tier2";
                transfer.DestinationLoginSecure = false;
                transfer.DestinationLogin = "3tier2";
                transfer.DestinationPassword = "3tier2";

                transfer.Options.IncludeIfNotExists = true;
                transfer.TransferData();

Antworten auf die Frage(2)

Ihre Antwort auf die Frage