Společnost Microsoft distribuuje Microsoft SQL Server 2012 opravy jako jeden soubor ke stažení. Protože jsou opravy kumulativní, každá nová verze obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozího SQL serveru 2012 Oprava.
Příznaky
Když provedete aktivitu zjišťování nebo čisticí aktivity v systému SQL Server 2012 Data Quality Services (ve službě pro zpracování dat), může se DQS_PROJECTS databáze velmi rychle zvětšit. Přechodné X_ tabulky v DQS_PROJECT databázi zvlášť rychle. Konkrétně můžete zaznamenat následující problémy aktivity zjišťování:
-
Velikost souboru MDF (DQS_PROJECTS Data File) asi 30 krátních zdrojových dat. Přechodná data budou odstraněna při publikování znalostní báze. Publikovaná databáze se přesune do datového souboru DQS_MAIN (MDF) a asi 5 krátních velikostí zdrojových dat.
-
Velikost protokolu DQS_PROJECTS Transaction (LDF) se často rozrůstá.
V této aktivitě může dojít k následujícím problémům:
-
Velikost souboru MDF (DQS_PROJECTS Data File) asi 40 krát větší než velikost zdrojových dat.
-
Velikost protokolu DQS_PROJECTS Transactions (LDF) asi 60 až 100 krátkou velikost zdrojových dat.
Příčina
K tomuto problému dochází z některého z následujících důvodů:
-
Prázdné řádky a hodnoty sloupců spotřebovávají místo v přechodných tabulkách. Pro prázdné řádky a sloupce v tabulkách s názvem X_INDEX_DATA_SOURCE_TABLE v každém schématu je většina místa spotřebována sloupci BigInt.
-
Přechodná data, která jsou uložená ve vnitřních tabulkách X_INDEX_DATA_SOURCE_TABLE, se ihned po dokončení projektu nebo publikování databáze Knowledge Base neuvolní.
Řešení
Informace o kumulativní aktualizaci
SQL Server 2012
Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci 2 pro SQL Server 2012 Service Pack RTM. Další informace o tomto kumulativním balíčku aktualizací najdete v následujícím článku znalostní báze Microsoft Knowledge Base:
2703275 Kumulativní aktualizace 2 pro SQL Server 2012Poznámka Vzhledem k tomu, že buildy jsou kumulativní, každá nová oprava obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozího SQL serveru 2012 Oprava. Doporučujeme zvážit použití nejnovější opravy, která obsahuje tuto opravu hotfix. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
2692828 Buildy SQL Server 2012, které byly vydány po vydání SQL Server 2012 Pro určité aktualizace SQL serveru jsou vytvořené opravy hotfix Microsoft SQL serveru 2012. Opravu hotfix systému SQL Server 2012 s aktualizací Service Pack RTM musíte nainstalovat v instalaci aktualizace SQL Server 2012 Service Pack RTM. Ve výchozím nastavení je každá oprava hotfix, která je součástí aktualizace Service Pack systému SQL Server, součástí další aktualizace Service Pack systému SQL Server.
Stav
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.
Řešení
Tento problém vyřešíte tak, že na základě odstranění zbytečných datových projektů a znalostí ve službě pro volání do systému pro Po použití této opravy se DQS_PROJECT velikost databáze automaticky nesníží. Další informace o tom, jak zmenšit velikost databáze, najdete na následujícím webu společnosti Microsoft:
Jak zmenšit databáziPoznámka Instalace samotné opravy hotfix neopraví problémy s růstem databáze, ke kterým došlo v minulosti, a je to užitečné jenom pro nové projekty a aktivity, které se v budoucnu vytvářejí, a projekty a aktivity, které jsou v budoucnu dokončené. Chcete-li ručně snížit velikost databází ve formátu. s. o velikosti, přečtěte si část znalostní báze, která už není používána, nebo projekty kvality dat, které už jsou dokončené. K získání seznamu jednotlivých znalostí nebo jednotlivých projektů můžete použít klienta kvality dat a potom kliknout na otevřít znalostní bázi Knowledge Base nebo Otevřít projekt kvality dat . Klikněte pravým tlačítkem na název znalostní báze nebo název projektu a potom klikněte na Odstranit. Pomocí následujícího skriptu Transact-SQL můžete provést odhad velikosti každé databáze Knowledge Base a každého projektu, který je umístěný ve DQS_MAIN a DQS_PROJECTS, abyste lépe vyhledali místo na disku, na které se jednotlivé disky spotřebovávají.
-- 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
Další informace
Když nainstalujete tuto opravu hotfix, v případě, že se ve službě pro volání do jednotlivých schémat jednotlivých projektů vytvoří interní tabulka X_INDEX_DATA_SOURCE_TABLE, použije se pro minimalizaci prostoru používaného prázdnými řádky a sloupci Tip pro ZHUŠTĚNé místo na disku, které je potřeba k tomu, aby byly tyto objekty uloženy. Tato oprava hotfix umožňuje, aby byl dočasný objekt X_INDEX_DATA_SOURCE_TABLE uvolněn. Z toho důvodu může být místo znovu použito nebo může být po publikování databáze Knowledge Base zmenšena velikost databáze nebo je dokončen projekt kvality dat. Proto když kliknete na tlačítko Dokončit na konci projektů, můžete uvolnit místo na disku, které aktivita spotřebovává.