Microsoft mendistribusikan perbaikan Microsoft SQL Server 2012 sebagai satu file yang dapat diunduh. Karena perbaikan bersifat kumulatif, setiap Edaran baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan edaran perbaikan 2012 SQL Server sebelumnya.
Gejala
Saat Anda melakukan aktivitas penemuan atau aktivitas pembersihan dalam Layanan kualitas data SQL Server 2012 (DQS), database DQS_PROJECTS mungkin berkembang sangat cepat. X_ tabel sementara dalam database DQS_PROJECT dengan cepat. Khususnya, Anda mungkin mengalami masalah berikut ini untuk aktivitas penemuan:
-
Ukuran DQS_PROJECTS file data (MDF) mungkin sekitar 30 kali ukuran data sumber. Data sementara ini akan dihapus saat basis pengetahuan diterbitkan. Basis pengetahuan yang diterbitkan akan dipindahkan ke file data DQS_MAIN (MDF) dan mungkin sekitar 5 kali ukuran data sumber.
-
Ukuran DQS_PROJECTS transaksi log (LDF) bertambah sering.
Khususnya, Anda mungkin mengalami masalah berikut ini untuk aktivitas pembersihan:
-
Ukuran DQS_PROJECTS file data (MDF) mungkin sekitar 40 kali ukuran data sumber.
-
Ukuran DQS_PROJECTS log transaksi (LDF) mungkin sekitar 60 hingga 100 kali ukuran data sumber.
Penyebab
Masalah ini terjadi karena satu atau beberapa alasan berikut ini:
-
Nilai baris dan kolom kosong menghabiskan ruang dalam tabel sementara. Sebagian besar ruang digunakan dengan kolom BigInt untuk baris dan kolom kosong dalam tabel yang memiliki nama yang X_INDEX_DATA_SOURCE_TABLE dalam setiap skema.
-
Data sementara yang disimpan dalam X_INDEX_DATA_SOURCE_TABLE tabel internal tidak segera dirilis saat proyek selesai atau basis pengetahuan diterbitkan.
Pemecahan Masalah
Informasi pembaruan kumulatif
SQL Server 2012
Perbaikan untuk masalah ini pertama kali dirilis dalam pembaruan kumulatif 2 untuk SQL Server 2012 Service Pack RTM. Untuk informasi selengkapnya tentang paket pembaruan kumulatif ini, klik nomor artikel berikut ini untuk menampilkan artikel di Basis Pengetahuan Microsoft:
2703275 Paket pembaruan kumulatif 2 untuk SQL Server 2012Catatan Karena Build bersifat kumulatif, setiap rilis perbaikan baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan rilis perbaikan SQL Server 2012 sebelumnya. Kami menyarankan agar Anda mempertimbangkan untuk menerapkan rilis perbaikan terbaru yang berisi hotfix ini. Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
2692828 Build 2012 SQL Server yang dirilis setelah SQL Server 2012 dirilis Hotfix Microsoft SQL Server 2012 dibuat untuk paket layanan SQL Server tertentu. Anda harus menerapkan hotfix RTM paket layanan 2012 SQL Server ke penginstalan SQL Server 2012 Service Pack RTM. Secara default, setiap hotfix yang disediakan dalam paket layanan SQL Server disertakan dalam paket layanan SQL Server berikutnya.
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".
Penyelesaian Masalah
Untuk mengatasi masalah ini, Hapus proyek data yang tidak diperlukan dan basis pengetahuan dalam DQS untuk membantu meminimalkan footprint tabel internal yang digunakan oleh proyek. Setelah Anda menerapkan perbaikan ini, ukuran database DQS_PROJECT tidak akan berkurang secara otomatis. Untuk informasi selengkapnya tentang cara mengurangi ukuran database, kunjungi situs web Microsoft berikut ini:
Cara menciutkan databaseCatatan Menginstal hotfix ini saja tidak mengoreksi masalah pertumbuhan database yang telah terjadi di masa lalu, dan hanya membantu untuk proyek dan aktivitas baru yang dibuat di masa mendatang, dan proyek dan aktivitas yang diselesaikan di masa mendatang. Untuk mengurangi ukuran database DQS secara manual, Tinjau basis pengetahuan yang tidak lagi digunakan atau proyek kualitas data yang sudah selesai. Anda bisa menggunakan klien kualitas data, lalu klik buka basis pengetahuan atau buka proyek kualitas data untuk mendapatkan daftar setiap basis pengetahuan atau setiap proyek. Klik kanan nama basis pengetahuan atau nama proyek, lalu klik Hapus. Anda bisa menjalankan skrip Transact-SQL berikut ini untuk membantu memperkirakan ukuran setiap basis pengetahuan dan setiap proyek yang terletak di database DQS_MAIN dan DQS_PROJECTS untuk mengukur lebih baik ruang disk yang digunakan oleh masing-masing.
-- 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
Informasi Selengkapnya
Setelah Anda menginstal perbaikan terbaru ini, ketika DQS membuat tabel internal X_INDEX_DATA_SOURCE_TABLE di dalam skema setiap proyek, petunjuk SPARSE digunakan pada kolom BigInt untuk meminimalkan ruang yang digunakan oleh baris dan kolom kosong untuk meminimalkan ruang disk yang diperlukan untuk menampung objek tersebut. Perbaikan terbaru ini memungkinkan DQS merilis objek X_INDEX_DATA_SOURCE_TABLE transient. Oleh karena itu, Ruang dapat digunakan kembali, atau ukuran database bisa dikurangi setelah basis pengetahuan diterbitkan atau proyek kualitas data selesai. Oleh karena itu, saat Anda mengklik tombol selesai di akhir proyek, Anda membantu mengosongkan ruang disk yang dikonsumsi oleh aktivitas.