Microsoft.SqlServer.Management.Smo.Transfer使用基于Active Directory的用户凭据

时间:2018-03-16 22:41:33

标签: sql-server azure-sql-database azure-active-directory

我希望使用Microsoft.SqlServer.Management.Smo.Transfer在Azure SQL数据库之间传输数据和架构,并希望使用Active Directory用户名和密码。我可以使用

连接字符串从源数据库和目标数据库加载对象
Authentication="Active Directory Password"

以及用户名和密码,但不知道如何使用AD凭据使Microsoft.SqlServer.Management.Smo.Transfer对象连接到目标服务器。

当我尝试将Active Directory用户名和密码传递给它时,以下代码会返回错误:

Transfer transfer = new Transfer(sourceDatabase);
transfer.DestinationServer = destinationConnection.ServerInstance;
transfer.DestinationDatabase = destinationConnection.DatabaseName;
transfer.DestinationLogin = serverCredentials.UserName;
transfer.DestinationPassword = serverCredentials.Password;
transfer.DestinationLoginSecure = false;
var stuffToDo = transfer.ScriptTransfer();

注意:我不能使用本机SQL Server登录,因为它们不属于我们当前的安全设计。

为了增加一些清晰度,数据库已配置为使用Active Directory身份验证,上面代码块中提到的用户名和密码用于Azure SQL数据库上的有效管理员帐户。当我尝试使用事件失败的Microsoft.SqlServer.Management.Smo.Transfer对象时,我可以使用AD帐户连接字符串进行连接。

0 个答案:

没有答案
相关问题