小编Cod*_*ody的帖子

如何使用 ConnectionString 中提供的凭据连接到表格多维数据集服务器?

微软说:

https://learn.microsoft.com/en-us/analysis-services/instances/connection-string-properties-analysis-services?view=asallproducts-allversions

“当通过 TCP 连接到 SSAS 时,客户端库将使用指定的用户名和密码模拟 Windows 用户,然后照常连接到服务器。”

“通过 HTTP(S) 连接到 SSAS 时,凭据将根据 Web 服务器上配置的身份验证模式(例如基本身份验证或 Windows 身份验证)提供给 Web 服务器。Web 服务器将在连接到之前执行适当的 Windows 模拟SSAS 服务器,因此向服务器提供正确的凭据流。”

但是,当我这样做时:

 using Tabular = Microsoft.AnalysisServices.Tabular;

 using (Tabular.Server server = new Tabular.Server())
 {   
    //connectionString = "Provider=MSOLAP;DataSource=ServerIP;UserID=xx;Password=xx;Persist Security Info=True;Impersonation Level=Impersonate;"

    server.Connect(connectionString);
 }
Run Code Online (Sandbox Code Playgroud)

它使用运行代码的用户帐户的凭据,而不是 ConnectionString 中的用户 ID 和密码。

我怎样才能让它通过“TCP”连接?

更新:使用@GregGalloway 的建议和这里的逻辑:我已经实现了一个 Impersonator 类。我用它更新了我的代码以执行以下操作:

using (Tabular.Server server = new Tabular.Server())
{
     using (new Impersonator("UserName", "Domain", "Password"))
     {
           server.Connect(connectionString);
     }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我分析对 SSAS 服务器的调用时,我可以看到它仍然使用与以前相同的凭据,并且无论传递给构造函数的任何凭据如何,与服务器的连接都会成功。单步查看代码,我可以看到在任何时候都没有抛出异常。

c# ssas tcp ssas-tabular

6
推荐指数
1
解决办法
873
查看次数

ProxyAccount“yyy”的更改失败 (Microsoft.SqlServer.Smo)

我在尝试在 Microsoft SQL Server Management Studio 中编写创建凭据和相关代理的脚本时遇到问题。

我的脚本如下:

CREATE CREDENTIAL xxx WITH IDENTITY = 'domain\xxx', SECRET = '*******';

EXEC msdb.dbo.sp_add_proxy @proxy_name  = 'yyy' 
,@enabled = 1 
,@description = 'description here'
,@credential_name = 'xxx'

EXEC msdb.dbo.sp_grant_proxy_to_subsystem @proxy_name = 'yyy'
,@subsystem_id = 9;
Run Code Online (Sandbox Code Playgroud)

这将创建凭证和代理。

但是,它无法将凭据正确添加到代理。当尝试手动(使用 UI)添加凭据时,我收到以下错误:

ProxyAccount“yyy”(Microsoft.SqlServer.Smo) 的更改失败附加信息:未将对象引用设置为对象的实例。(微软.SqlServer.Smo)

尝试添加凭据

错误信息

我尝试删除凭据并重新添加它,但没有结果。我尝试删除并重新添加代理,但收到以下错误:

未定义代理的凭据名称。(SqlManagerUI)

这可以追溯到无法为该代理分配凭证。

t-sql sql-server sql-agent sql-server-2016

5
推荐指数
1
解决办法
1612
查看次数

标签 统计

c# ×1

sql-agent ×1

sql-server ×1

sql-server-2016 ×1

ssas ×1

ssas-tabular ×1

t-sql ×1

tcp ×1