Datautvinningstjänster och datakällor

Gäller för: SQL Server 2019 och tidigare Analysis Services Azure Analysis Services Fabric/Power BI Premium

Viktigt!

Datautvinningen upphörde i SQL Server 2017 Analysis Services och upphörde nu i SQL Server 2022 Analysis Services. Dokumentationen uppdateras inte för inaktuella och utgångna funktioner. Mer information finns i Analysis Services bakåtkompatibilitet.

Datautvinning kräver en anslutning till en instans av SQL Server Analysis Services. Data från en kub krävs inte för datautvinning och användning av relationskällor rekommenderas. Datautvinning använder dock komponenter som tillhandahålls av SQL Server Analysis Services-motorn.

Det här avsnittet innehåller information som du behöver veta när du ansluter till en instans av SQL Server SQL Server Analysis Services för att skapa, bearbeta, distribuera eller fråga efter datautvinningsmodeller.

Databrytningstjänster

Serverkomponenten i Microsoft SQL Server SQL Server Analysis Services är det msmdsrv.exe programmet, som vanligtvis körs som en Windows-tjänst. Det här programmet består av säkerhetskomponenter, en XML for Analysis-lyssnarkomponent (XMLA), en frågeprocessorkomponent och flera andra interna komponenter som utför följande funktioner:

  • Parsning av uttryck mottagna från klienter

  • Hantera metadata

  • Hantera transaktioner

  • Bearbeta beräkningar

  • Lagra dimensions- och celldata

  • Skapa sammansättningar

  • Schemalägga frågekommandon

  • Cacheobjekt

  • Hantera serverresurser

XMLA-lyssnare

XMLA-lyssnarkomponenten hanterar all XMLA-kommunikation mellan SQL Server Analysis Services och dess klienter. Konfigurationsinställningen för SQL Server Analysis Services-port i msmdsrv.ini-filen kan användas för att ange en port som en SQL Server Analysis Services-instans lyssnar på. Värdet 0 i den här filen anger att SQL Server Analysis Services lyssnar på standardporten. Om inget annat anges använder SQL Server Analysis Services följande standard-TCP-portar:

Hamn Description
2383 Standardinstans av SQL Server SQL Server Analysis Services.
2382 Omdirigering för andra instanser av SQL Server SQL Server Analysis Services.
Dynamiskt tilldelad vid serverstart Namngiven instans av SQL Server SQL Server Analysis Services.

Mer information om hur du styr de portar som används av den här tjänsten finns i Konfigurera Windows-brandväggen för att tillåta Analysis Services-åtkomst.

Ansluta till datakällor

När du skapar eller uppdaterar en datautvinningsstruktur eller modell använder du data som definieras av en datakälla. Datakällan innehåller inte data, som kan innehålla Excel-arbetsböcker, textfiler och SQL Server-databaser. den definierar endast anslutningsinformationen. En datakällavy (DSV) fungerar som ett abstraktionslager på källan och ändrar eller mappar data som hämtas från källan.

Det ligger utanför omfånget för det här avsnittet för att beskriva anslutningskraven för var och en av dessa källor. Mer information finns i dokumentationen för providern. I allmänhet bör du dock vara medveten om följande krav för Analysis Services när du interagerar med leverantörer:

  • Eftersom datautvinning är en tjänst som tillhandahålls av en server måste SQL Server Analysis Services-instansen ges åtkomst till datakällan. Det finns två aspekter för åtkomst: plats och identitet.

    Plats innebär att om du skapar en modell med data som endast lagras på datorn och sedan distribuerar modellen till en server, kan modellen inte bearbetas eftersom datakällan inte kan hittas. För att lösa det här problemet kan du behöva överföra data till samma SQL Server-instans där SQL Server Analysis Services körs eller flytta filer till en delad plats.

    Identitet innebär att tjänsterna på SQL Server Analysis Services måste kunna öppna datafilen eller datakällan med lämpliga autentiseringsuppgifter. När du till exempel har skapat modellen kanske du har obegränsad behörighet att visa data, men den användare som bearbetar och uppdaterar modellerna på servern kan ha begränsad eller ingen åtkomst till data, vilket kan orsaka att det inte går att bearbeta eller påverka innehållet i en modell. Det konto som används för att ansluta till fjärrdatakällan måste minst ha läsbehörighet till data.

  • När du flyttar en modell gäller samma krav: du måste konfigurera lämplig åtkomst till platsen för den gamla datakällan, kopiera datakällorna eller konfigurera en ny datakälla. Du måste också överföra inloggningar och roller eller konfigurera behörigheter för att tillåta att datautvinningsobjekt bearbetas och uppdateras på den nya platsen.

Konfigurera behörigheter och serveregenskaper

Datautvinning kräver ytterligare behörigheter för en SQL Server Analysis Services-databas. De flesta egenskaper för datautvinning kan anges med hjälp av dialogrutan Analysis Server Properties (Analysis Services).

Mer information om de egenskaper som du kan konfigurera finns i Serveregenskaper i Analysis Services.

Följande serveregenskaper är särskilt relevanta för datautvinning:

  • AllowAdHocOpenRowsetQueries Styr ad hoc-åtkomst till OLE DB-providers, som läses in direkt i serverns minnesutrymme.

    Viktigt!

    För att förbättra säkerheten rekommenderar vi att du anger den här egenskapen till false. Standardvärdet är false. Men även om den här egenskapen är inställd på false kan användarna fortsätta att skapa singleton-frågor och kan använda OPENQUERY på tillåtna datakällor.

  • AllowedProvidersInOpenRowset Anger providern om ad hoc-åtkomst är aktiverad. Du kan ange flera leverantörer genom att ange en kommaavgränsad lista över ProgID:er.

  • MaxConcurrentPredictionQueries Styr belastningen på servern som orsakas av förutsägelser. Standardvärdet 0 tillåter obegränsade frågor för SQL Server Enterprise och högst fem samtidiga frågor för SQL Server Standard. Förfrågningar över gränsen kan serialiseras och riskerar att överskrida tidsgränsen.

Servern tillhandahåller ytterligare egenskaper som styr vilka algoritmer för datautvinning som är tillgängliga, inklusive eventuella begränsningar för algoritmerna och standardvärdena för alla datautvinningstjänster. Det finns dock inga inställningar som gör att du kan styra åtkomsten till lagrade procedurer för datautvinning specifikt. Mer information finns i Egenskaper för datautvinning.

Du kan också ange egenskaper som gör att du kan justera servern och kontrollera säkerheten för klientanvändning. Mer information finns i Funktionsegenskaper.

Anmärkning

Mer information om stöd för plugin-algoritmer i utgåvorna av SQL Server finns i Funktioner som stöds av versionerna av SQL Server 2012 (https://go.microsoft.com/fwlink/?linkid=232473).

Programmatisk åtkomst till datautvinningsobjekt

Du kan använda följande objektmodeller för att skapa en anslutning till en Analysis Services-databas och arbeta med datautvinningsobjekt:

ADO Använder OLE DB för att ansluta till en Analysis Services-server. När du använder ADO är klienten begränsad till schemaraduppsättningsfrågor och DMX-instruktioner.

ADO.NET Interagerar bättre med SQL Server-leverantörer än andra leverantörer. Använder dataadapter för att lagra dynamiska raduppsättningar. Använder datamängdsobjektet, som är en cache för de serverdata som lagras som datatabeller som kan uppdateras eller sparas som XML.

ADOMD.NET En hanterad dataprovider som är optimerad för att arbeta med datautvinning och OLAP. ADOMD.NET är snabbare och mer minneseffektiv än ADO.NET. ADOMD.NET kan du också hämta metadata om serverobjekt. Rekommenderas för klientprogram förutom när .NET inte är tillgängligt.

Server-ADOMD Objektmodell för åtkomst till Analysis Services-objekt direkt på servern. Används av Analysis Services lagrade procedurer; inte för klientanvändning.

AMO Hanteringsgränssnitt för Analysis Services som ersätter beslutsstödobjekt (DSO). Åtgärder som iterering av objekt kräver högre behörigheter när du använder AMO än när du använder andra gränssnitt. Det beror på att AMO kommer åt metadata direkt, medan ADOMD.NET och andra gränssnitt endast har åtkomst till databasscheman.

Bläddra och fråga åtkomst till servrar

Du kan utföra alla typer av förutsägelser med hjälp av en instans av Analysis Services i OLAP/Data Mining-läge med följande begränsningar:

  • Om du använder server ADOMD kan du använda DMX för att komma åt servern utan att upprätta en anslutning. Du kan sedan kopiera resultatet direkt till en datatabell. Du kan dock inte använda Server ADOMD med fjärrinstanser. du kan bara köra frågor mot den lokala servern.

  • ADO.NET stöder inte namngivna parametrar för datautvinning. Du måste använda ADOMD.NET.

  • ADOMD.NET låter dig skicka en hel tabell som ska användas som parameter. Därför kan du använda data på klienten eller data som inte är tillgängliga för servern. Du kan också använda formade tabeller som förutsägelseindata.

Använda lagrade procedurer för datautvinning

En vanlig användning av lagrade procedurer är att kapsla in frågor för återanvändning. Klienten kan använda CALL för att köra lagrade procedurer, inklusive lagrade procedurer för SQL Server Analysis Services-systemet.

Om proceduren returnerar en datauppsättning får klienten en datauppsättning eller en datatabell med en kapslad tabell som innehåller raderna. Om du till exempel skapar en fråga mot modellinnehållet returnerar frågan hela modellen. Om du vill undvika att ta tillbaka för många rader kan du skriva lagrade procedurer med hjälp av objektmodellen ADOMD+.

Om du vill skriva en server lagrad procedur måste du referera till namnområdet Microsoft.AnalysisServices.AdomdServer. Mer information om hur du skapar och använder lagrade procedurer finns i Användardefinierade funktioner och Lagrade procedurer.

Anmärkning

Lagrade procedurer kan inte användas för att ändra säkerheten för dataserverobjekt. När du kör en lagrad procedur används användarens aktuella kontext för att fastställa åtkomsten till alla serverobjekt. Därför måste användarna ha rätt behörighet för alla databasobjekt som de har åtkomst till.

Se även

Fysisk arkitektur (Analysis Services – flerdimensionella data)
Fysisk arkitektur (Analysis Services – datautvinning)
Hantering av lösningar och objekt för datautvinning