Jit*_*hor 3 deployment ssas ssas-tabular
问题:\n当我使用部署向导部署表格模型时。效果很好。但我们的问题是,我们有 20 个数据源,在部署时,我们需要提供 20 次凭据,因为它要求每个数据源提供凭据。这是非常痛苦的。这就是我们想要自动化部署的原因。
\n\n方法: \n我按照这篇文章https://notesfromthelifeboat.com/post/analysis-services-1-deployment/进行操作 ,我可以毫无错误地部署表格模型,但是当我刷新模型时。它失败并出现以下错误
\n\n无法将修改保存到服务器。返回错误:\'OLE DB 或 ODBC 错误:
\n\nThe credentials provided for the File source are invalid. (Source at \\\\share\\acaidatatempshare\\data\\lumeneventpropertiesexport.tsv.).\nOLE DB or ODBC error: The command has been canceled..\nOLE DB or ODBC error: The command has been canceled..\nOLE DB or ODBC error: The command has been canceled..\nRun Code Online (Sandbox Code Playgroud)\n\n我的数据源是 tsv 文件,下面是 model.bim 文件的数据源部分。正如您所看到的,它不会将凭证的密码保存在 model.bim、asdatabase 或 xmla 文件中。
\n\n\xe2\x80\xa6.\n\xe2\x80\xa6.\n {\n "type": "structured",\n "name": "File/\\\\\\\\Share\\\\AcaiDataTempShare\\\\Data\\\\LumenEventPropertiesExport tsv",\n "connectionDetails": {\n "protocol": "file",\n "address": {\n "path": "\\\\\\\\share\\\\AcaiDataTempShare\\\\Data\\\\LumenEventPropertiesExport.tsv"\n },\n "authentication": null,\n "query": null\n },\n "credential": {\n "AuthenticationKind": "Windows",\n "kind": "File",\n "path": "\\\\\\\\Share\\\\acaidatatempshare\\\\data\\\\lumeneventpropertiesexport.tsv",\n "Username": "domain\\\\username"\n },\n "contextExpression": [\n "let",\n " #\\"0001\\" = Csv.Document(..., [Delimiter = \\"#(tab)\\", Columns = 3, Encoding = 1252, QuoteStyle = QuoteStyle.None]),",\n " #\\"0002\\" = Table.TransformColumnTypes(#\\"0001\\", {{\\"Column1\\", type text}, {\\"Column2\\", type text}, {\\"Column3\\", type text}})",\n "in",\n " #\\"0002\\""\n ]\n },\n\xe2\x80\xa6..\n\xe2\x80\xa6..\nRun Code Online (Sandbox Code Playgroud)\n\n如何在部署期间以编程方式传递数据源的凭据?
\n不幸的是,部署模型时,结构化(又名 Power Query)数据源凭据不会保留。我前段时间向产品团队报告了这个错误,但尚未得到回复。如果可以,请考虑使用旧的(也称为提供程序)数据源,因为它们会在部署之间保留凭据。
或者,您可以使用TMSL“createOrReplace”脚本以编程方式应用密码。创建此类脚本的最简单方法是连接到 SSMS 中的 Analysis Services,右键单击连接(也称为数据源),然后选择“将连接脚本为”>“创建或替换为”>“新建查询编辑器窗口” ”。在生成的脚本中,确保密码设置正确:
{
"createOrReplace": {
"object": {
"database": [...] ,
"dataSource": "File/\\\\Share\\AcaiDataTempShare\\Data\\LumenEventPropertiesExport tsv"
},
"dataSource": {
[...]
"credential": {
"AuthenticationKind": "Windows",
"kind": "File",
"path": "\\\\Share\\acaidatatempshare\\data\\lumeneventpropertiesexport.tsv",
"Username": "domain\\username",
"Password": "<<< YOUR PASSWORD HERE >>>"
},
[...]
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以调用此脚本作为部署管道的一部分 - 例如使用 PowerShell Invoke-AsCmd cmdlet。
| 归档时间: |
|
| 查看次数: |
7151 次 |
| 最近记录: |