1. 程式人生 > 實用技巧 >介紹預覽功能:使用SQL查詢Dynamics 365/Dataverse中的資料

介紹預覽功能:使用SQL查詢Dynamics 365/Dataverse中的資料

我是微軟Dynamics 365 & Power Platform方面的工程師/顧問羅勇,也是2015年7月到2018年6月連續三年Dynamics CRM/Business Solutions方面的微軟最有價值專家(Microsoft MVP),歡迎關注我的微信公眾號 MSFTDynamics365erLuoYong ,回覆428或者20201217可方便獲取本文,同時可以在第一間得到我釋出的最新博文資訊,follow me!

官方文件是Use SQL to query data (Preview) .

如果直接去連線會報錯,類似錯誤如下圖:TDS protocol endpoint is disabled for this organization.

這個是可以解決的,是因為有個Feature沒有啟用。

首先我們需要以具有System Administrator 或者 System Customizer角色的賬號登入 Power Platform admin center,選擇我們要操作的環境,比如我這裡點選的是Logical Inventory Center進行操作。

在新頁面點選 Settings 按鈕。

然後點選Product > Features。

可以看到預設情況下,TDS endpoint是Off狀態,需要將其設定為On,然後Save。

再次連線就可以連上了。

我連上的介面如下,可以看到資料庫是隻讀的。

我嘗試了幾個查詢語句都可以。

但是查詢不了POA表(PrincipalObjectAccess),如果要看和處理參考我以前的博文Dynamics 365 POA表記錄的查詢Dynamics 365 POA表記錄的產生與清理

據官方文件當前表述,目前支援的操作如下:

  • Batch operations
  • SELECT
  • Aggregation functions (i.e., Count() and Max() functions)
  • UNIONs and JOINs
  • Filtering

當前不支援的操作當然不包括對資料做變化,比如插入更新刪除記錄等,當然執行查詢是不會觸發註冊Retrieve和RetrieveMutlitple上的外掛的。

還有查詢的列如果是下列的資料型別也不支援檢視。

  • binary
  • image
  • ntext
  • sql_variant
  • varbinary
  • virtual
  • HierarchyId
  • managedproperty
  • file
  • xml
  • partylist
  • timestamp

最後說一句,目前該功能是預覽狀態,不是所有區域可用。預覽狀態的功能一般不要為生產環境啟用。