Saya punya database SQL Server 2008 R2 Express yang menjalankan Kaspersky Security Center, dan saya tidak tahu dalam keadaan apa pemasangan itu terjadi, tetapi database tersebut tampaknya berpikir bahwa itu direplikasi dan tidak akan membebaskan ruang apa pun dari log transaksi. misalnya:
USE master;
SELECT
name, log_reuse_wait, log_reuse_wait_desc, is_cdc_enabled
FROM
sys.databases
WHERE
name = 'KAV';
SELECT DATABASEPROPERTYEX('KAV', 'IsPublished');
pengembalian:
name | log_reuse_wait | log_reuse_wait_desc | is_cdc_enabled
-----|----------------|---------------------|---------------
KAV | 6 | REPLICATION | 0
DATABASEPROPERTYEX('KAV', 'IsPublished')
----------------------------------------
0 [not published]
Juga tidak ada yang terdaftar di Replication
bagian SSMS.
Sejauh ini saya sudah mencoba beberapa pernyataan yang didapat dari hasil Google:
USE KAV;
EXEC sp_repldone null, null, 0,0,1;
EXEC sp_removedbreplication KAV;
Tapi saya tidak beruntung mendapatkan DB ini untuk berhenti berpikir itu direplikasi.
sys.databases
Info lengkap :
+-----------------------------------+------------------------------------------------------------+
| name | KAV |
| database_id | 5 |
| source_database_id | NULL |
| owner_sid | 0x0105000000000005150000004EB006B0C3554AB049CEA01BE8030000 |
| create_date | 2013-07-04 10:31:28.947 |
| compatibility_level | 90 |
| collation_name | Latin1_General_CI_AS |
| user_access | 0 |
| user_access_desc | MULTI_USER |
| is_read_only | 0 |
| is_auto_close_on | 0 |
| is_auto_shrink_on | 0 |
| state state_desc | ONLINE |
| is_in_standby | 0 |
| is_cleanly_shutdown | 0 |
| is_supplemental_logging_enabled | 0 |
| snapshot_isolation_state | 1 |
| snapshot_isolation_state_desc | ON |
| is_read_committed_snapshot_on | 1 |
| recovery_model | 1 |
| recovery_model_desc | FULL |
| page_verify_option | 2 |
| page_verify_option_desc | CHECKSUM |
| is_auto_create_stats_on | 1 |
| is_auto_update_stats_on | 1 |
| is_auto_update_stats_async_on | 0 |
| is_ansi_null_default_on | 1 |
| is_ansi_nulls_on | 1 |
| is_ansi_padding_on | 1 |
| is_ansi_warnings_on | 1 |
| is_arithabort_on | 1 |
| is_concat_null_yields_null_on | 1 |
| is_numeric_roundabort_on | 0 |
| is_quoted_identifier_on | 1 |
| is_recursive_triggers_on | 0 |
| is_cursor_close_on_commit_on | 0 |
| is_local_cursor_default | 1 |
| is_fulltext_enabled | 1 |
| is_trustworthy_on | 0 |
| is_db_chaining_on | 0 |
| is_parameterization_forced | 0 |
| is_master_key_encrypted_by_server | 0 |
| is_published | 0 |
| is_subscribed | 0 |
| is_merge_published | 0 |
| is_distributor | 0 |
| is_sync_with_backup | 0 |
| service_broker_guid | 19C05AF5-8686-4C27-BF7E-93E240DA953B |
| is_broker_enabled | 0 |
| log_reuse_wait | 6 |
| log_reuse_wait_desc | REPLICATION |
| is_date_correlation_on | 0 |
| is_cdc_enabled | 0 |
| is_encrypted | 0 |
| is_honor_broker_priority_on | 0 |
+-----------------------------------+------------------------------------------------------------+
Juga:
DBCC OPENTRAN;
No active open transactions.
DBCC SQLPERF(LOGSPACE);
KAV 171066 99.55339 0
EXEC sp_replcounters;
KAV 0 0 0 0x00000000000000000000 0x00000000000000000000
Saya juga baru saja melakukan backup data dan log lengkap.
Saya telah menemukan beberapa posting dengan situasi yang sangat mirip, dan solusi yang diberikan adalah dengan mengatur Penerbitan dan Distribusi replikasi dan kemudian menghapusnya lagi. Namun, karena ini Edisi Ekspres, opsi-opsi ini bahkan tidak muncul untuk saya.
Kami terutama toko Linux dan ini satu-satunya contoh SQL Server yang kami punya. Jika semuanya gagal mendapatkan lisensi nyata mungkin satu-satunya jalan kita: untuk mengembalikan cadangan ke instance non-Ekspres dan mencoba mengatur kemudian menghapus Publikasi, lalu akhirnya mengembalikan kembali ke Express.
sumber
Sudahkah Anda mencoba mengatur basis data agar tidak menerbitkan?
dan kemudian mencadangkan log untuk melihat apa yang terjadi?
Sunting 1: Apa yang dikembalikan oleh t-sql berikut?
sumber
Saya memiliki masalah yang sama persis. SQL Express DB tidak pernah menjadi bagian dari replikasi. Di masa lalu itu diperbaiki dengan beberapa perintah checkdb DBCC. Dan pada suatu waktu kami menemukan itu
telah menunjukkan "REPLICATION" sebagai alasan dan logfile berkembang.
Kami menghapus replikasi menggunakan tsql ini:
Itu menyelesaikannya dan kami dapat mengecilkan log.
sumber
Saya akan mencoba yang berikut:
Setelah itu Anda bisa mencoba menambahkan replikasi dan menghapus replikasi untuk tabel individual dalam database seperti yang disarankan dalam posting lebih jauh ke bawah.
Kami memiliki database pada satu waktu yang beralih ke mode replikasi meskipun distribusi dan replikasi belum diatur pada SQL Server.
Saya tidak dapat menemukan skrip asli yang saya gunakan untuk masalah saya, jadi saya menjalankan pencarian dan menemukan entri ini di MSDN:
log_reuse_wait_desc = replikasi, log transaksi tidak akan berhenti tumbuh
Ada beberapa penyebab root yang tidak spesifik untuk masalah ini dan itu terjadi di seluruh dunia.
Perburuan yang bagus!
sumber
Jika Anda sudah mencoba yang lain, mungkin itu mungkin (pastikan Anda memiliki cadangan yang baik terlebih dahulu!) Untuk melepaskan database, mengganti nama file log (sehingga SQL Server tidak dapat menemukannya) dan kemudian melampirkan kembali database. Saya percaya ini akan memaksa SQL Server untuk membuat file log baru. Apakah itu juga akan berhenti berpikir bahwa basis data direplikasi saya tidak tahu, tetapi tampaknya paling tidak mungkin.
sumber