Category Archives: 未分類

Analysis Services 部署精靈

https://docs.microsoft.com/zh-tw/sql/analysis-services/multidimensional-models/deploy-model-solutions-with-the-deployment-utility?view=sql-server-2017

Analysis Services 部署精靈現在是隨 SSMS,所以預設要在以下目錄找

C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio

檔名是 Microsoft.AnalysisServices.Deployment.exe

ASDeploymentUtility

廣告

將封裝資料流程工作的 Data Streaming Destination 物件之輸出,透過 SQL Server 的 View 查詢

https://docs.microsoft.com/en-us/sql/integration-services/data-flow/walkthrough-publish-an-ssis-package-as-a-sql-view?view=sql-server-2017

SSIS 2017 後,透過 SQL Server Integration Services 資料摘要發行精靈將封裝資料流程工作的 Data Streaming Destination 物件之輸出,透過 SQL Server 的 View 查詢

SSISDataFeedPublishWizard.png

精靈會自動產生一個連結伺服器,以及 View

SSISPackageView

效能監控

感謝承修提醒了一個效能監控軟體 Windows Performance Analyzer 的連結討論,

http://www.qa-knowhow.com/?cat=67

它的安裝畫面與 blog 中稍有不同

image

設定 PowerShell 的 Credential Delegation

看來 PowerShell 若不設定 Credential Delegation 無法在遠端存取共享資源…

從 N1 透過 PowerShell 遠端登入到 N3,並要求 N3 存取共享資源,會有因為沒有身分而授權失敗的錯誤:

image

範例語法:

PS C:\Users\administrator.I> Enter-PSSession -ComputerName n3

[n3]: PS C:\Users\administrator.I\Documents> dir \\n1\logs
dir : 存取被拒。
    + CategoryInfo          : PermissionDenied: (\\n1\logs:String) [Get-ChildItem], UnauthorizedAccessException
    + FullyQualifiedErrorId : ItemExistsUnauthorizedAccessError,Microsoft.PowerShell.Commands.GetChildItemCommand
 
dir : 找不到 ‘\\n1\logs’ 路徑,因為它不存在。
    + CategoryInfo          : ObjectNotFound: (\\n1\logs:String) [Get-ChildItem], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand

參考 https://rkeithhill.wordpress.com/2009/05/02/powershell-v2-remoting-on-workgroup-joined-computers-%E2%80%93-yes-it-can-be-done/ 設定 Credential Delegation

  • 因為要連到 N3,所以 N3 現在扮演 Server,在 N3 以系統管理員身分執行 Enable-WSManCredSSP -Role Server

image

  • 在 Client,也就是 N1 執行 Enable-WSManCredSSP -Role Client -DelegateComputer n3

image

沒有做文中的群組原則設定,已經可以存取:

image

不知是否是測試用的機器在 Domain 內,可以走 Kerberos 而非 NTLM

image

 

在測通之後,嘗試透過以下的語法,從 n1 發起,一次存取 n1,n2,n3 的 log,放回到 \\n1\logs 共享目錄:

$ScriptPath=($MyInvocation.MyCommand.Path | Split-Path) + "\"
$cred=New-Object System.Management.Automation.PSCredential  (Get-Content ($ScriptPath + "id.txt")),(ConvertTo-SecureString (Get-Content ($ScriptPath + "pwd.txt")) -AsPlainText -Force)

Invoke-Command -ComputerName (Get-Content ( $ScriptPath + "ServerName.txt")) `
-FilePath ($ScriptPath + "GetMultiServerSQLInstanceProperties.ps1") `
-Credential $cred -Authentication Credssp

得到如下的錯誤:

[N1] 連線到遠端伺服器 N1 失敗,傳回下列錯誤訊息: WinRM 用戶端無法處理該要求。電腦原則不允許委派使用者認證至目標電腦。 請使用 gpedit.msc 並查看下列原則: 電腦設定 -> 系統管理範本 -> 系統 -> 認證委派 -> 允許委派新認證。 請確認已啟用該原則且設定適合目標電腦的 SPN。 例如,目標電腦名稱若為 "myserver.domain.com
",SPN 可為下列其中之一: WSMAN/myserver.domain.com 或 WSMAN/*.domain.com。 如需詳細資訊,請參閱 about_Remote_Troubleshooting 說明主題。
    + CategoryInfo          : OpenError: (N1:String) [], PSRemotingTransportException
    + FullyQualifiedErrorId : -2144108125,PSSessionStateBroken
[N2] 連線到遠端伺服器 N2 失敗,傳回下列錯誤訊息: WinRM 用戶端無法處理該要求。電腦原則不允許委派使用者認證至目標電腦。 請使用 gpedit.msc 並查看下列原則: 電腦設定 -> 系統管理範本 -> 系統 -> 認證委派 -> 允許委派新認證。 請確認已啟用該原則且設定適合目標電腦的 SPN。 例如,目標電腦名稱若為 "myserver.domain.com
",SPN 可為下列其中之一: WSMAN/myserver.domain.com 或 WSMAN/*.domain.com。 如需詳細資訊,請參閱 about_Remote_Troubleshooting 說明主題。
    + CategoryInfo          : OpenError: (N2:String) [], PSRemotingTransportException
    + FullyQualifiedErrorId : -2144108125,PSSessionStateBroken

可以理解,因為 Enable-WSManCredSSP -Role Client -DelegateComputer n3 執行時,並未有包含 n1,n2,但再度執行 Enable-WSManCredSSP -Role Client -DelegateComputer n3,n1,n2 依然有如上的錯誤

所以直接透過本機群組原則編輯器加入:

image

image

image

image

 

若在 N2 未以系統管理員身分執行 Enable-WSManCredSSP -Role Server,依然會有相同錯誤訊息

但 n1 自己對自己永遠失敗,改以 SPN 才行:

image

image

換句話說,n1 連 n1 自己,要用 n1.i.com (我的 domain 取 i.com)

參考資源:

https://technet.microsoft.com/en-us/magazine/jj853299.aspx

http://www.ravichaganti.com/blog/wp-content/uploads/2010/12/A%20layman’s%20guide%20to%20PowerShell%202.0%20remoting-v2.pdf

AS Tabular 的 Row Level 的 Role Base Model Security

Tabular Model 設計如下:

image

image

image

角色定義如下:

image

image

以 AS 的 Administrator 角色透過 Connection String 模擬 Role1 的結果

image

Provider=MSOLAP.6;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=TabularProject1_Byron_6f652aee-a22e-41fb-8df2-d60c4b278c0e;Data Source=SQL2014\I2;MDX Compatibility=1;Roles=Role1;Safety Options=2;MDX Missing Member Mode=Error;Optimize Response=3;Cell Error Mode=TextValue

 

直接以 C 帳號登入的結果

image

搭配 RS 時,透過動態產生連接字串:

image

其內容定義:

image

=IIF(Parameters!Role.Value="None","Provider=MSOLAP.6;Data Source=.\i2;Initial Catalog=TabularProject1","Provider=MSOLAP.6;Data Source=.\i2;Initial Catalog=TabularProject1;Role=" + Parameters!Role.Value)

報表參數定義:

image

報表設計如下:

image

其執行結果如下:

image

 

另外,有點奇怪的是:

在設計報表時,若資料來源選用 Analysis Services

image

則查詢一定要用 MDX 的產生器,因此不能寫 DAX

image

但若資料來源採用 OLE DB 的 Microsoft OLE DB Provider for Analysis Services 12.0

image

則可以自行編輯 DAX

image

由於 DirectQuery 只支援 DAX,所以若要採用 DirectQuery Mode 而非 InMemory Mode,且要利用 RS 呈現,或可如此撰寫 DAX

上述範例專案與報表:

https://onedrive.live.com/redir?resid=BF14192BD27975CB!56936&authkey=!AEM6dSaoa70pNmk&ithint=file%2czip

參考資料:

MVA — Implementing Tabular Model Solutions

Use EffectiveUserName with Excel Services (SharePoint Server 2013)

測試 Blog 移轉到 WordPress

試試看 Windows Live Writer 2011 Beta 是否可以發佈,若看得到應就是正常了…

SQL 2008 中文正式版自 MSDN 可以下載了

http://msdn.microsoft.com/en-us/subscriptions/default.aspx

Visual Studio 2008 SP1 中文正式版也可以下載了

瞌睡蟲

炎炎夏日,陣陣蟬鳴,微風徐來,嘹揚樂音。
但,滿腦子瞌睡蟲,是 AS 2008 引來的吧…沒有什麼明顯的新功能可以逐蟲,大杯的咖啡已經喝了,無效。

轉來寫網誌,是否能殺蟲呢…

好像不能,腦裡的漿糊正濃…

2008 準備

2008 年應該是個令人期待與懼怕的年頭,新玩具一籮筐,要學的技術好多。自己的技術以 SQL Server 為本,就以此為核心,向外推廣吧。
列一下個人的優先順序與目前的學習進度百分率
SQL Server 2008(2.5%)
   依然是管理、開發和 BI,又將是一場硬戰。自己的本,只有全面努力(5%)…
   Performance Point 2007(0%)
 
.NET Framework 3.5(5%)
   ADO.NET + LINQ(5%)
   WCF、WF(5%)
 
Windows 2008(1%)
   IIS 2008(1%)
 
隨著資訊進入每個角落,每項新技術都變成小眾市場,學習的時間和精力變成珍貴資源,如何有效投資需要仔細思考。

我們都只知道問題,但是永遠不知道跨過問題、另外一邊是甚麼