KB2685743-FIX: DQS_PROJECTS andmebaas võib kasvada väga kiiresti, kui sooritate tuvastamise või puhastuse aktiivsuse SQL Server 2012 DQS

Microsoft jagab Microsoft SQL Server 2012 parandused ühe allalaaditavate failidega. Kuna parandused on kumulatiivsed, sisaldab iga uus versioon kõiki Kiirparandusi ja kõiki turvaparandusi, mis kuulusid eelmise SQL Serveri 2012 Fix väljalaskega.

Sümptomid

Kui sooritate tuvastamise või puhastuse aktiivsuse SQL Server 2012 andmete kvaliteedi teenused (DQS), võib DQS_PROJECTS andmebaas väga kiiresti kasvada. DQS_PROJECT andmebaasi ajutised X_ tabelid eriti kiiresti. Eelkõige võivad ilmneda järgmised probleemid tuvastamiseks.

  • DQS_PROJECTS andmefaili (MDF) suurus võib olla umbes 30 korda suurem lähteandmete mahust. Need ajutised andmed kustutatakse teabebaasi avaldamisel. Avaldatud teabebaas teisaldatakse DQS_MAIN andmefaili (MDF) ja see võib olla umbes viis korda suurem lähteandmete mahust.

  • DQS_PROJECTS tehingulogi (LDF) maht kasvab sageli.

Eelkõige võivad ilmneda järgmised probleemid:

  • DQS_PROJECTS andmefaili (MDF) maht võib olla umbes 40 korda suurem lähteandmete mahust.

  • DQS_PROJECTS tehingulogi (LDF) maht võib olla umbes 60 kuni 100 korda suurem lähteandmete mahust.

Põhjus

See probleem ilmneb mõnel järgmistest põhjustest.

  • Tühjad read ja veeru väärtused kulutavad tühikuid mööduvat tabelites. Enamikku tühikuid tarbitakse BigInt veergudes, mis sisaldavad tühje ridu ja veerge tabelites, kus on iga skeemi X_INDEX_DATA_SOURCE_TABLE nimi.

  • X_INDEX_DATA_SOURCE_TABLE sisemistes tabelites talletatud ajutised andmed pole projekti lõpetamisel või teabebaasi avaldamisel kohe välja antud.

Lahendus

Kumulatiivse värskenduse teave

SQL Server 2012

Selle probleemi lahendus anti esmakordselt välja kumulatiivne Update 2 for SQL Server 2012 hoolduspakett RTM. Selle kumulatiivse värskenduspaketi kohta lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

2703275 SQL Serveri 2012 koondvärskenduses pakett 2Märkus. Kuna järgud on kumulatiivsed, sisaldab iga uus parandus kõiki Kiirparandusi ja kõiki turvaparandusi, mis kuulusid eelmise SQL Serveri 2012 Fix väljalaskega. Soovitame teil kaaluda kõige uuemate paranduste rakendamist, mis sisaldavad seda käigultparandust. Lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

2692828 Pärast SQL Server 2012 väljaandmist väljaantud SQL Serveri 2012 järgud Microsoft SQL Serveri 2012 käigultparandused luuakse teatud SQL serveri hoolduspakettide jaoks. Peate rakendama SQL Server 2012 hoolduspaketi RTM-käigultparanduse SQL Server 2012 hoolduspaketi RTM installimise kohta. Vaikimisi sisaldub SQL serveri hoolduspaketis pakutav käigultparandus järgmises SQL serveri hoolduspaketis.

Olek

Microsoft on kinnitanud, et see probleem esineb jaotises "kehtib järgmiste toodete kohta" loetletud Microsofti toodetes.

Lahendus

Selle probleemi lahendamiseks kustutage mittevajalikud DQS ja teabebaasid, et aidata minimeerida projektide jaoks kasutatavate sisemiste tabelite jalajälgi. Pärast selle paranduse rakendamist ei vähendata DQS_PROJECT andmebaasi mahtu automaatselt. Lisateavet andmebaasi mahu vähendamise kohta leiate järgmiselt Microsofti veebisaidilt:

Andmebaasi kahandamineMärkus. Selle käigultparanduse installimine ei paranda andmebaasi kasvu probleeme, mis on minevikus toimunud, ning see on kasulik ka tulevikus loodud uute projektide ja tegevuste ning tulevikus valminud projektide ja tegevuste jaoks. DQS andmebaaside käsitsi vähendamiseks vaadake üle teabebaasid, mida enam ei kasutata, või andmete kvaliteedi projektid, mis on juba lõpetatud. Saate kasutada andmete kvaliteedi klientrakendust ja seejärel klõpsata käsku Ava teabebaas või Ava andmete kvaliteedi projekt , et hankida iga teabebaasi või iga projekti loend. Paremklõpsake teabebaasi nime või projekti nime ja seejärel klõpsake käsku Kustuta. Saate käitada järgmisi Transact-SQL-i skripti, et aidata hinnata iga teabebaasi suurust ja iga projekti, mis asub DQS_MAIN ja DQS_PROJECTS andmebaasides, et paremini hinnata iga tarbitavat kettaruumi.

-- DQSSizes.sql-- Version 1 - Nov 7, 2011 -JH-- Loops over each table in DQS_MAIN and DQS_PROJECTS to enumerate rows counts + index page counts to estimate size-- Reports by KB, then reports a drill in by Table within each KB-- Count Rows per objectUSE DQS_MAINGOCREATE TABLE ##DQSRowCounts (ObjId BIGINT, DBName SYSNAME, SchemaName SYSNAME, TableName SYSNAME, RowCounts BIGINT);EXEC sp_msforeachtable 'INSERT INTO ##DQSRowCounts SELECT OBJECT_ID(''?''), ''DQS_MAIN'', OBJECT_SCHEMA_NAME(OBJECT_ID(''?'')), OBJECT_NAME(OBJECT_ID(''?'')), COUNT(*) FROM ? WITH (NOLOCK)';GOUSE DQS_PROJECTSGOEXEC sp_msforeachtable 'INSERT INTO ##DQSRowCounts SELECT OBJECT_ID(''?''), ''DQS_PROJECTS'', OBJECT_SCHEMA_NAME(OBJECT_ID(''?'')), OBJECT_NAME(OBJECT_ID(''?'')), COUNT(*) FROM ? WITH (NOLOCK)';-- count pages per object CREATE TABLE ##DQSsizes(DbId INT, objid BIGINT, PageCount INT)INSERT INTO ##DQSsizes SELECT DB_ID('DQS_MAIN'), object_id, SUM(PS.page_count)FROM sys.dm_db_index_physical_stats (DB_ID('DQS_MAIN'),NULL, NULL, NULL, NULL) PSGROUP BY object_idINSERT INTO ##DQSsizes SELECT DB_ID('DQS_PROJECTS'), object_id, SUM(PS.page_count)FROM sys.dm_db_index_physical_stats (DB_ID('DQS_PROJECTS'),NULL, NULL, NULL, NULL) PSGROUP BY object_idGO-- Rows and Size per KBSELECT RC.DBName, RC.SchemaName, KB.Name AS KBProject, SUM(RC.RowCounts) AS TotalRowsAcrossAllTables, SUM(S.PageCount)*8 AS EstimatedKBSizeinKiloBytes,KB.ORIGIN_KNOWLEDGEBASE, KB2.Name AS OriginKBName, KB.CREATED_BY, KB.CREATE_DATEFROM ##DQSsizes SJOIN ##DQSRowCounts RC ON S.DbId=DB_ID(RC.DBName) AND S.objid=RC.ObjIdLEFT OUTER JOIN DQS_MAIN.dbo.A_KNOWLEDGEBASE KB WITH (NOLOCK)ON RC.SchemaName  =  ( CASEWHEN (RC.SchemaName LIKE 'KnowledgeBase%') THEN 'KnowledgeBase'+CAST(KB.ID AS NVARCHAR)WHEN (RC.SchemaName LIKE 'DQProject%') THEN 'DQProject'+CAST(KB.ID AS NVARCHAR)WHEN (RC.SchemaName LIKE 'KnowledgeManagement%') THEN 'KnowledgeManagement'+CAST(KB.ID AS NVARCHAR)  END)LEFT OUTER JOIN DQS_MAIN.dbo.A_KNOWLEDGEBASE KB2 WITH (NOLOCK)ON KB.ORIGIN_KNOWLEDGEBASE=KB2.IDGROUP BY DBName, SchemaName, KB.Name, KB.ORIGIN_KNOWLEDGEBASE, KB2.Name, KB.CREATED_BY, KB.CREATE_DATEORDER BY DBName, SchemaName, KB.NameGO-- Rows and Size per Table per KBSELECT RC.DBName, RC.SchemaName, KB.Name AS KBProject, RC.TableName, RC.RowCounts, S.PageCount*8 AS EstKiloByteSizeFROM ##DQSsizes SLEFT OUTER JOIN  ##DQSRowCounts RC ON S.DbId=DB_ID(RC.DBName) AND S.objid=RC.ObjIdLEFT OUTER JOIN DQS_MAIN.dbo.A_KNOWLEDGEBASE KB WITH (NOLOCK)ON RC.SchemaName  =  ( CASEWHEN (RC.SchemaName LIKE 'KnowledgeBase%') THEN 'KnowledgeBase'+CAST(KB.ID AS NVARCHAR)WHEN (RC.SchemaName LIKE 'DQProject%') THEN 'DQProject'+CAST(KB.ID AS NVARCHAR)WHEN (RC.SchemaName LIKE 'KnowledgeManagement%') THEN 'KnowledgeManagement'+CAST(KB.ID AS NVARCHAR)  END)ORDER BY DBName, SchemaName, KBProject, TableNameGODROP TABLE ##DQSsizesDROP TABLE ##DQSRowCounts

Lisateave

Pärast selle kiirparanduse installimist, kui DQS loob X_INDEX_DATA_SOURCE_TABLE iga projekti skeemi siseselt, kasutatakse BigInt veergudes, et minimeerida tühikuid, mida kasutavad tühjad read ja veerud, et minimeerida kettaruumi, mida on vaja nende objektide hoidmiseks. Selle käigultparanduse abil saate DQS X_INDEX_DATA_SOURCE_TABLE objekt vabastada. Seetõttu võib ruumi uuesti kasutada või andmebaasi suurust saab vähendada pärast teabebaasi avaldamist või andmete kvaliteedi projekti lõpulejõudmist. Seega, kui klõpsate projektide lõpus nuppu Lõpeta , aitate vaba kettaruumi, mida tegevus kasutab.

Kas vajate veel abi?

Täiendage oma oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liitu Microsofti Insideri programmis osalejad

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×