Eu tenho o seguinte código em um projeto .Net do Windows como um arquivo de classe c # para script fora todos os objetos de banco de dados de um banco de dados de origem do SQL Server:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.SqlServer.Management.Smo;
namespace ScriptDatabaseTransferSMO
{
class SMOObjects
{
public static void ScriptDatabase()
{
Server srv;
srv = new Server();
//Reference the AdventureWorks2012 database
Database db;
db = srv.Databases["AdventureWorks2012"];
//Create a new database that is to be destination database.
Database dbCopy;
dbCopy = new Database(srv, "AdventureWorks2012Copy");
dbCopy.Create();
//Define a Transfer object and set the required options and
properties.
Transfer xfr;
xfr = new Transfer(db);
xfr.CopyAllTables = true;
xfr.Options.WithDependencies = true;
xfr.Options.ContinueScriptingOnError = true;
xfr.DestinationDatabase = "AdventureWorks2012Copy";
xfr.DestinationServer = srv.Name;
xfr.DestinationLoginSecure = true;
xfr.CopySchema = true;
//Script the transfer. Alternatively perform immediate data transfer
// with TransferData method.
xfr.ScriptTransfer();
}
}
}
O problema é que o Transfer xfr; mostra um erro: O tipo ou espaço de nomes "Transferir" não foi encontrado (você está perdendo uma diretiva usando ou uma referência de montagem?)
Lendo sobre o objeto Transfer, ele deve estar na dll e referenciado com o uso do Microsoft.SqlServer.Management.Smo;
Eu ainda sou relativamente novo em C #, alguém pode apontar o que eu estou ausente para usar esta classe de transferência? obrigado
Respostas:
3 para resposta № 1Você pode precisar desses componentes adicionais para instalar objetos SMO
- Microsoft Core XML Services (MSXML)
- Cliente nativo do Microsoft SQL Server
- Tipos de CLR do Sistema Microsoft SQL Server
Esses componentes fazem parte do SQL Serverfeature pack, que é uma coleção de pacotes de instalação autônomos que fornecem valor adicional para o SQL Server. Certifique-se de selecionar o pacote de recursos correspondente à sua versão do SQL Server.