Prettylib-tuoteratkaisut - Wiki
Tempdb-tietokannan ongelmien selvittäminen
Mikäli olet kohdannut jonkin seuraavista virheilmoituksista:
- 3958 : Transaction aborted when accessing versioned row in table 'dbo.xxxxxx' in database 'xxxxxx'. Requested versioned row was not found. Your tempdb is probably out of space.
Kannattaa selvitää SQL Serverin tempdb-tietokannan tilaa seuraavilla komennoilla. Ota yhteyttä ohjelmiston tuotetukeen, kun olet suorittanut nämä kyselyt ja ottanut ylös vastaukset kyselyihin:
1. Tempdb-tietokannan tiedostojen viemä tila:
SELECT SUM(size)*1.0/128 AS [size in MB] FROM tempdb.sys.database_files
2. tempdb-tietokannan tyhjän tilan selvittäminen:
SELECT SUM(unallocated_extent_page_count) AS [free pages], (SUM(unallocated_extent_page_count)*1.0/128) AS [free space in MB] FROM sys.dm_db_file_space_usage;
3. tempdb-kannan version storen käyttämä tila:
SELECT SUM(version_store_reserved_page_count) AS [version store pages used], (SUM(version_store_reserved_page_count)*1.0/128) AS [version store space in MB] FROM sys.dm_db_file_space_usage;
4. Pisimpään käynnissä ollut transactio:
SELECT transaction_id FROM sys.dm_tran_active_snapshot_database_transactions ORDER BY elapsed_time_seconds DESC;
5. Tempdb-kannan sisäisten objektien viemä tila:
SELECT SUM(internal_object_reserved_page_count) AS [internal object pages used], (SUM(internal_object_reserved_page_count)*1.0/128) AS [internal object space in MB] FROM sys.dm_db_file_space_usage;
6. Tempdb-tietokannassa käyttäjän objektien viemä tila:
SELECT SUM(user_object_reserved_page_count) AS [user object pages used], (SUM(user_object_reserved_page_count)*1.0/128) AS [user object space in MB] FROM sys.dm_db_file_space_usage;
Lisätietoja Microsoftin artikkelista: https://technet.microsoft.com/en-us/library/ms176029%28v=sql.105%29.aspx