Σημείωμα
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να εισέλθετε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Ισχύει για: ✅ Τελικό σημείο ανάλυσης SQL και Αποθήκη στο Microsoft Fabric
Οι προσαρμοσμένοι χώροι συγκέντρωσης SQL δίνουν στους διαχειριστές περισσότερο έλεγχο του τρόπου με τον οποίο κατανέμονται οι πόροι για τη διαχείριση αιτήσεων. Σε αυτήν τη γρήγορη εκκίνηση, θα ρυθμίσετε τις παραμέτρους προσαρμοσμένων χώρων συγκέντρωσης SQL και θα παρατηρήσετε τις τιμές ταξινομητή χρησιμοποιώντας το Fabric REST API.
Οι διαχειριστές χώρου εργασίας μπορούν να χρησιμοποιήσουν το όνομα της εφαρμογής (ή το όνομα προγράμματος) από τη συμβολοσειρά σύνδεσης για να δρομολογήσουν αιτήσεις σε διαφορετικούς χώρους υπολογιστικής συγκέντρωσης. Οι διαχειριστές χώρου εργασίας μπορούν επίσης να ελέγχουν το ποσοστό των πόρων στους οποίους μπορεί να έχει πρόσβαση κάθε χώρος συγκέντρωσης υπολογιστικών SQL, με βάση το όριο κλίμακας με δυνατότητα διάσπασης της χωρητικότητας του χώρου εργασίας.
Το Fabric REST API ορίζει ένα ενοποιημένο τελικό σημείο για λειτουργίες.
Προϋποθέσεις
- Πρόσβαση σε ένα είδος Αποθήκης σε έναν χώρο εργασίας. Θα πρέπει να είστε μέλος του ρόλου Διαχειριστή.
Λήψη της τρέχουσας διαμόρφωσης
Χρησιμοποιήστε το ακόλουθο API για να λάβετε την τρέχουσα διαμόρφωση.
Παράδειγμα σημειωματάριου Fabric
Μπορείτε να εκτελέσετε το παρακάτω παράδειγμα κώδικα Python σε ένα σημειωματάριο Fabric Spark.
- Ο κώδικας στέλνει μια
GETαίτηση στο προσαρμοσμένο API ρύθμισης παραμέτρων χώρου συγκέντρωσης SQL και επιστρέφει τη ρύθμιση παραμέτρων προσαρμοσμένου χώρου συγκέντρωσης SQL για τον χώρο εργασίας. - Το
workspace_idπεδίο χρησιμοποιεί τοmssparkutils.runtime.contextGUID για να λάβετε το GUID του χώρου εργασίας στο οποίο εκτελείται το σημειωματάριο. Για να ρυθμίσετε τις παραμέτρους ενός προσαρμοσμένου χώρου συγκέντρωσης SQL σε διαφορετικό χώρο εργασίας, ενημερώστε τοworkspace_idστο GUID του χώρου εργασίας όπου θέλετε να ρυθμίσετε τις παραμέτρους των προσαρμοσμένων χώρων συγκέντρωσης SQL.
import requests
import json
from notebookutils import mssparkutils
# This will get the workspace_id where this notebook is running.
# Update to the workspace_id (guid) if running this notebook outside of the workspace where the warehouse exists.
workspaceId = mssparkutils.runtime.context.get('currentWorkspaceId')
url = f'https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/warehouses/sqlPoolsConfiguration?beta=true'
response = requests.request(method='get', url=url, headers={'Authorization': f'Bearer {mssparkutils.credentials.getToken("pbi")}'})
if response.status_code == 200:
print(json.dumps(response.json(), indent=4))
else:
print(response.text)
Ρύθμιση παραμέτρων προσαρμοσμένων χώρων συγκέντρωσης SQL
Το παρακάτω παράδειγμα Python ενεργοποιεί και ρυθμίζει τις παραμέτρους προσαρμοσμένων χώρων συγκέντρωσης SQL. Μπορείτε να εκτελέσετε αυτόν τον κώδικα Python σε ένα σημειωματάριο Fabric Spark.
- Η ρύθμιση παραμέτρων προσαρμοσμένων χώρων συγκέντρωσης SQL είναι ενεργή μόνο όταν
customSQLPoolsEnabledτο χαρακτηριστικό έχει οριστεί σε true. Μπορείτε να ορίσετε ένα ωφέλιμο φορτίο στον ορισμό αντικειμένουcustomSQLPools, αλλά εάν δεν ορίσετε το customSQLPoolsEnabled σε true, το ωφέλιμο φορτίο παραβλέπεται και χρησιμοποιείται αυτόνομη διαχείριση φόρτου εργασίας . - Ο κώδικας ρυθμίζει δύο προσαρμοσμένους
ContosoSQLPoolχώρους συγκέντρωσης SQL καιAdhocPool.- Πρόκειται
ContosoSQLPoolνα λάβει το 70% των διαθέσιμων πόρων. Ο ταξινομητής ονόματος εφαρμογής έχει την τιμή .MyContosoApp - Όλα τα ερωτήματα SQL που προέρχονται από μια συμβολοσειρά σύνδεσης που καθορίζει το όνομα της
MyContosoAppεφαρμογής ταξινομούνται στοContosoSQLPoolπροσαρμοσμένο χώρο συγκέντρωσης SQL και έχουν πρόσβαση στο 70% του συνόλου των κόμβων χωρητικότητας με δυνατότητα διάρρηξης. - Όλα τα ερωτήματα SQL που δεν περιέχονται
MyContosoAppστο όνομα εφαρμογής της συμβολοσειράς σύνδεσης αποστέλλονται στον προσαρμοσμένο χώρο συγκέντρωσης SQL, οAdhocοποίος ορίζεται ως ο προεπιλεγμένος χώρος συγκέντρωσης. Αυτά τα αιτήματα έχουν πρόσβαση στο 30% των συνολικών κόμβων χωρητικότητας με δυνατότητα διάρρηξης.
- Πρόκειται
- Όλες οι προσαρμοσμένες ρυθμίσεις παραμέτρων χώρου συγκέντρωσης SQL πρέπει να έχουν έναν προεπιλεγμένο χώρο συγκέντρωσης SQL που προσδιορίζεται ορίζοντας το
isDefaultχαρακτηριστικό σε true. - Το άθροισμα όλων
maxResourcePercentageτων τιμών πρέπει να είναι μικρότερο ή ίσο με 100%. - Το
workspace_idπεδίο χρησιμοποιεί τοmssparkutils.runtime.contextGUID για να λάβετε το GUID του χώρου εργασίας στο οποίο εκτελείται το σημειωματάριο. Για να ρυθμίσετε τις παραμέτρους ενός προσαρμοσμένου χώρου συγκέντρωσης SQL σε διαφορετικό χώρο εργασίας, ενημερώστε τοworkspace_idστο GUID του χώρου εργασίας όπου θέλετε να ρυθμίσετε τις παραμέτρους των προσαρμοσμένων χώρων συγκέντρωσης SQL.
import requests
import json
from notebookutils import mssparkutils
body = {
"customSQLPoolsEnabled": True,
"customSQLPools": [
{
"name": "ContosoSQLPool",
"isDefault": False,
"maxResourcePercentage": 70,
"optimizeForReads": False,
"classifier": {
"type": "Application Name",
"value": [
"MyContosoApp"
]
}
},
{
"name": "AdhocPool",
"isDefault": True,
"maxResourcePercentage": 30,
"optimizeForReads": True
}
]
}
# This will get the workspaceId where this notebook is running.
# Update to the workspace_id (guid) if running this notebook outside of the workspace where the warehouse exists.
workspace_id = mssparkutils.runtime.context.get('currentWorkspaceId')
url = f'https://api.fabric.microsoft.com/v1/workspaces/{workspace_id}/warehouses/sqlPoolsConfiguration?beta=true'
response = requests.request(method='patch', url=url, json=body, headers={'Authorization': f'Bearer {mssparkutils.credentials.getToken("pbi")}'})
if response.status_code == 200:
print("SQL Custom Pools configured successfully.")
else:
print(response.text)
Συμβουλή
Χρησιμοποιήστε αυτές τις χρήσιμες τιμές ταξινομητή ονόματος εφαρμογής (regex) για την κυκλοφορία από το Fabric:
- Για να ταξινομήσετε ερωτήματα από διοχετεύσεις Fabric, χρησιμοποιήστε .
^Data Integration-to[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$ - Για να ταξινομήσετε ερωτήματα από το Power BI, χρησιμοποιήστε το
^(PowerBIPremium-DirectQuery|Mashup Engine(?: \(PowerBIPremium-Import\))?). - Για να ταξινομήσετε ερωτήματα από το πρόγραμμα επεξεργασίας ερωτημάτων SQL της πύλης Fabric, χρησιμοποιήστε
DMS_user.
Ορισμός του ονόματος της εφαρμογής στο SQL Server Management Studio (SSMS)
Ο ταξινομητής για προσαρμοσμένους χώρους συγκέντρωσης SQL χρησιμοποιεί το όνομα εφαρμογής ή την παράμετρο ονόματος προγράμματος κοινών συμβολοσειρών σύνδεσης.
Στο SQL Server Management Studio (SSMS), καθορίστε το όνομα διακομιστή για την αποθήκη και παρέχετε έλεγχο ταυτότητας. Συνιστάται το Microsoft Entra MFA .
Επιλέξτε το κουμπί Για προχωρημένους .
Στη σελίδα Advanced Properties , στην περιοχή Context, αλλάξτε την τιμή του Application Name σε
MyContosoApp.Επιλέξτε ΟΚ.
Επιλέξτε Σύνδεση.
Για να δημιουργήσετε κάποιο δείγμα δραστηριότητας, χρησιμοποιήστε αυτήν τη σύνδεση στο SSMS για να εκτελέσετε ένα απλό ερώτημα στην αποθήκη σας, για παράδειγμα:
SELECT * FROM dbo.DimDate;
Παρατήρηση πληροφοριών ερωτημάτων για τον προσαρμοσμένο χώρο συγκέντρωσης SQL
Εξετάστε την
sys.dm_exec_sessionsπροβολή δυναμικής διαχείρισης για να δείτε ότι αναγνωρίζεται ως το όνομα της εφαρμογής πουMyContosoAppμεταβιβάζεται από το SSMS στη μηχανή SQL.SELECT session_id, program_name FROM sys.dm_exec_sessions WHERE program_name = 'MyContosoApp';Για παράδειγμα:
Επειδή το
program_nameταιριάζει με το όνομα της εφαρμογής στον προσαρμοσμένο χώρο συγκέντρωσης SQL, αυτό το ερώτημα χρησιμοποιεί τους πόρους σε αυτόν τονMyContosoAppχώρο συγκέντρωσης. Για να αποδείξετε ποια προσαρμοσμένη ομάδα SQL χρησιμοποίησε το ερώτημα, μπορείτε να υποβάλετε ερώτημα στην προβολή συστήματος queryinsights.exec_requests_history . Περιμένετε 10-15 λεπτά για να συμπληρωθούν οι πληροφορίες ερωτήματος και, στη συνέχεια, εκτελέστε το ακόλουθο ερώτημα.SELECT distributed_statement_id, submit_time, program_name, sql_pool_name, start_time, end_time FROM queryinsights.exec_requests_history WHERE program_name = 'MyContosoApp';Μπορείτε επίσης να προσδιορίσετε τη συγκέντρωση ενός ερωτήματος από το αναγνωριστικό της δήλωσης. Στο πρόγραμμα επεξεργασίας ερωτημάτων SQL της πύλης Fabric, εκτελέστε ένα ερώτημα στο τελικό σημείο της αποθήκης ή της ανάλυσης SQL.
SELECT * FROM dbo.DimDate;Επιλέξτε την καρτέλα Μηνύματα και καταγράψτε το αναγνωριστικό δήλωσης για την εκτέλεση του ερωτήματος. Στο πρόγραμμα επεξεργασίας ερωτημάτων SQL, το is ,
program_nameτοDMS_userοποίο ρυθμίσατε για χρήση του προσαρμοσμένουMyContosoAppχώρου συγκέντρωσης SQL νωρίτερα.Περιμένετε 10-15 λεπτά για να συμπληρωθούν οι πληροφορίες ερωτήματος.
Ανακτήστε τις
sql_pool_nameκαι άλλες πληροφορίες για να επαληθεύσετε ότι χρησιμοποιήθηκε ο κατάλληλος προσαρμοσμένος χώρος συγκέντρωσης SQL.SELECT distributed_statement_id, submit_time, program_name, sql_pool_name, start_time, end_time FROM queryinsights.exec_requests_history WHERE distributed_statement_id = '<Statement ID>';
Επαναφορά της ρύθμισης παραμέτρων προσαρμοσμένων χώρων συγκέντρωσης SQL
Για να επαναφέρετε τον χώρο εργασίας στην αρχική κατάσταση, αλλάξτε την customSQLPoolsEnabled ιδιότητα σε False. Εάν θέλετε να διατηρήσετε τη ρύθμιση παραμέτρων προσαρμοσμένων χώρων συγκέντρωσης SQL, πρέπει να μεταβιβάσετε κάθε όνομα χώρου συγκέντρωσης όπως στη customSQLPools λίστα.
Αυτό το παράδειγμα κώδικα Python απενεργοποιεί τους προσαρμοσμένους χώρους συγκέντρωσης SQL και επιστρέφει στην αυτόνομη ρύθμιση παραμέτρων διαχείρισης φόρτου εργασίας και SELECT μηSELECT χώρων συγκέντρωσης. Καλείται ένα PATCH αίτημα με την customSQLPoolsEnabled ιδιότητα να έχει οριστεί σε False.
import requests
import json
from notebookutils import mssparkutils
body = {
"customSQLPoolsEnabled": False,
"customSQLPools": []
}
# This will get the workspaceId where this notebook is running.
# Update to the workspace_id (guid) if running this notebook outside of the workspace where the warehouse exists.
workspace_id = mssparkutils.runtime.context.get('currentWorkspaceId')
url = f'https://api.fabric.microsoft.com/v1/workspaces/{workspace_id}/warehouses/sqlPoolsConfiguration?beta=true'
response = requests.request(method='patch', url=url, json=body, headers={'Authorization': f'Bearer {mssparkutils.credentials.getToken("pbi")}'})
if response.status_code == 200:
print("SQL Custom Pools successfully disabled.")
else:
print(response.text)