- Remove From My Forums
-
Вопрос
-
Здравствуйте. После того как электрики помогли уронить базу. Пытаюсь проверить Eseutil базу
и выдает такую ошибку… Подскажите куда тыкнуться можно
D:MailboxMailbox Database>Eseutil /MH mailbox_DB.edb
Extensible Storage Engine Utilities for Microsoft(R) Exchange Server
Version 14.03
Copyright (C) Microsoft Corporation. All Rights Reserved.Initiating FILE DUMP mode…
Error: Access to source database ‘mailbox_DB.edb’ failed with Jet error -1032.Operation terminated with error -1032 (JET_errFileAccessDenied, Cannot access file, the file is locked or in use) after
0.31 seconds.
Ответы
-
Причин может быть две: у вас (в отличие от сервера Exchange) нет разрешения для доступа к файлу, указанному в собщении (проверьте) и файл занят — открыт какой-то программой. Например, это может быть Exchange Inforamtion Store — если эта служба запущена и
база смонтированаКаким именно процессом открыт файл, можно проверить с помощью Process Explorer от Sysinternals (программа доступна на сайте Microsoft).
Слава России!
-
Помечено в качестве ответа
26 мая 2014 г. 7:01
-
Помечено в качестве ответа
ESEUtil (Extensible Storage Engine Utilities) is a command line tool that is associated with Microsoft Exchange database and log files. This inbuilt tool is generally used to verify, modify and repair Exchange database (EDB) files. Usually, it is used to repair a damaged or corrupted Exchange database and to restore data from a backup. This utility is located in the Exchange default install folder and in the Bin folder. ESEUtil can be used against any ESE database of Exchange Server 2010 or other versions.
However, many a times, this command itself becomes a cause of problem within the database. This happens due to incorrect execution of the command, version incompatibilities, or various other reasons.
This article describes Jet Error 1032 that occurs when the ESEUtil command fails. Read on to know about the reasons behind this error and how to resolve it.
In case, if it doesn’t help you, try out Exchange database repair tool:
ESEUtil Jet Error 1032
While trying to solve issues within the Exchange database by using the ESEUtil command, you may encounter the following error message:
“Exchange 2010 failed with Jet error 1032”
The error code 1032 usually occurs while trying to mount a recovery point. The complete event ID message in the application event log contains the following information associated with this error:
Event Type | Error |
Event Source | ESE |
Event Category | General |
Event ID | 490 |
Date | Current Date |
Time | Current Time |
User | User with which you’re logged in |
Computer | Server_Name |
The cryptic error name associated with Jet error 1032 is JET_ERRFileAccessDenied. It indicates that you do not have access to the file that you’re trying to use, it is locked or already being used by another program/user.
Reasons behind ESEUtil Jet Error 1032
ESEUtil jet error 1032 may occur:
- When you perform a ‘Replay Install’ but do not have the appropriate permissions assigned to the folder or the drive that contains the Exchange databases (i.e., the MDBDATA folder).
- When you run the ESEUtil command, while the database is mounted. The database needs to be offline so that the ESEUtil command can read the header information before attempting to repair it.
Common Fixes for Error 1032
This error can be resolved through the given manual fixes:
- Dismount the Exchange database and then try to run the ESEUtil command
- Run the Exchange Management Shell (EMS) on which you execute the ESEUtil command as the administrator.
- Open “services.msc” and stop all services related to exchange. Then run ESEUtil.
- Grant full permissions to the folder that contains the Exchange database and to the drive on which this folder exists. To grant full permissions, here are the steps:
- Open Windows Explorer and navigate to the folder that contains the Exchange database.
- Right-click on it and select Properties
- Click on the Security tab and then tick the following checkboxes:
- Administrators Full Control
- System Full Control
After the repair has been done, if you wish to revert the permissions back to default, follow the below mentioned procedure:
- Open Windows Explorer
- Right-click on the Local Disk object containing the Mailbox Database folder and select Properties.
- Click on the Security tab and then grant the default permissions:
- Administrators Full Control
- Creator / Owner None
- Everyone None
- System Full Control
- Users/ Read and Execute, List Folder Contents, Read
Limitations of Manual Methods
Though the above-mentioned manual fixes are free of cost and appear to be useful in most cases, they suffer from some limitations:
- After you fix the “exchange 2010 failed with jet error 1032” problem, further attempts to repair the database may fail.
- In some cases of serious database damage even the ESEUtil command fails to repair the database.
- Attempts to resolve error 1032 might result in severe damage to the database if not followed correctly.
Checking the .EDB file by running the eseutil command and using the /mh switch:
Repairing the .EDB file by running the eseutil command and using the /p switch:
Things to note before using the /P (Hard Recovery switch):
- There is no going back after executing the command. So, take a backup beforehand
- Microsoft will not provide support afterwards
- This option will purge anything that is damaged. So, you’ve to accept data loss
- There is no 100% guarantee that it will work and the database will mount
Recommended Solution
In order to overcome the limitations of manual methods and to make the process simpler, it is recommended to use a prominent third-party Exchange repair software. We suggest using Exchange Mailbox Recovery Tool. This competent software repairs corrupt EDB files and restores inaccessible mailboxes, with commendable accuracy and efficiency
Conclusion:
ESEUtil, the built-in utility provided by Microsoft, works most of the time. But in an event of a failure, you can rely on Stellar Repair for Exchange. The software can open the .EDB file no matter how damaged it is and then simply export it to PST files, which you can import later into the new Database by using PowerShell.
Video Testimonial By Microsoft MVP, Edward van Biljon
About The Author
Admin
Blog admin is a certified Exchange Server Administrator who handles the critical issues in Exchange Server environment. Having 10+ years of experience in Microsoft technologies, you can ask him any query related Exchange Server & Outlook issues in the comment box.
Resolve Error: ESEUTIL Not Working to Fix Jet Error 1032
Eseutil (Known as Extensible Storage Engine Utilities) is a command line tool which is associated with Microsoft Exchange database and the corresponding log files. To verify, modify and repair the Exchange database file (EDB files) this inbuilt tool is used. This application helps in releasing corrupt Exchange EDB file of the server. The ESEUTIL tool helps in recovering both soft as well as hard deleted data from the database and is usually used on a damaged or corrupted Exchange database which restores data from the backup. However, there may be cases where ESEUTIL not working & causes trouble for users during its execution.
This ESEUTIL utility is located in the Exchange default install folder which is: Program FilesMicrosoftExchange ServerBin and can be used against any of the ESE database of Exchange Server 2010 or the earlier versions.
However, there are some limitations of this inbuilt tool due to which alternative techniques are undertaken. This command arises a problem within the database due to incorrect execution of the command, version incompatibilities issues etc, which can be reduced by taking some easy steps.
This article describes “ESEUTIL not working” error and the jet Error 1032 which occurs when the ESEUTIL command fails. Therefore, in this write-up we are going to discuss this issue and the need of other alternatives which are available.
Reasons behind ESEUtil /p not working ?
While attempting to resolve issues within the Exchange database, on running the ESEUtil command you may get the following error message:
“Exchange 2010 failed with Jet error 1032”
This Jet Error 1032 occurs when we try to mount a recovery point. The cryptic error name with this kind of error is JET_ERRFileAccessDenied which indicates that one has no access to the file that you’re trying to use or it has been locked or already being used by someone else or is being used by another program. This ESEutil Jet Error 1032 occur due to the following two reasons:
1. While performing a Replay install but one has no appropriate permissions assigned to the folder or the drive which contains the Exchange databases.
2. When you run the ESEUtil command while the DB is mounted. The database needs to be offline so that the command can read the header information before the attempting to repair it.
How to Fix the Error ESEUTIL Not Working 1032?
The error can be easily fixed by this manual method which is listed below:
1. First, dismount the Exchange database and try to run the ESEUtil command
2. Run the EMS (Exchange management shell) through which you can execute the ESEUtil command as an admin
3. Now, open “services.msc” and stop all the services related to Exchange, then run ESEUtil
4. You can now grant full permission to the folders that contains the Exchange database & the drive on which this folder exists.
To grant the full permission follow the steps:
1. Open Windows Explorer, navigate to the folder that contains Exchange database.
2. Right-click on it & then select the properties.
3. Click on the security tab and tick the checkboxes: Administrator full control & System Full Control.
The above-mentioned steps may help to fix the error ESEUTIL not working
Limitations of the Manual method
The above explained manual method can fix the error Eseutil /p not working free of cost and appear to be useful in most of the cases but suffer from some of the limitations which are:
Once you fix the “Exchange 2010 failed with jet error 1032” problem, then further attempt to repair the database may fail. In some serious scenarios where database is highly damaged even the ESEUtil command fails to repair or restore the database. While resolving error 1032 might result in severe damage to the DB if the steps to recover are not followed correctly.
What are the Alternative Solutions?
There are various alternatives available for the ESEUtil command which is used to repair EDB files, recover data from the corrupted files, and split Exchange EDB file. Thus in order to overcome the limitations of the above stated manual methods you can opt for simpler and recommend third party Exchange repair software. We will suggest you to use Exchange Recovery Tool by SysTools to recover exchange mailbox. This tool can quickly recover & repair dismounted offline Exchange database file in a hassle freeway without using any command.
Download Now Purchase Now
Note: In our opinion, the inbuilt commands like ESEUtil create a lot of major problems rather than curing issues within the databases. So, it will be good to avoid ESEUtil inbuilt feature if your database of Exchange is facing problems.
This advance utility provide scan mode option such as: Quick and Advance scan which recovers & repair corrupted dismounted / offline corrupted Exchange database file in a hassle freeway. To repair the minimally corrupted .edb file select the Quick scan and for the highly corrupted Exchange database choose advance scan. After recovery, users can easily export the recovered EDB mailboxes directly to the Live Exchange Server 2016/2013/2010/2007/2003 mailboxes, Office 365, and multiple file formats.
Also Read: Easy way to repair corrupted mailbox Exchange 2010 / 2013 / 2016
Many technical and non-technical users use this software as it provides an interactive graphical user interface which makes the users work easier and save their time as well as effort. It offers category option which allow users to export the selected Exchange mailbox data items such as: mails, notes, tasks, calendars, contacts, etc… to the desired export option. It support all version of Exchange Server & MS Outlook (2003 – 2016), and Windows OS version.
Conclusion
The above article read about ESEUtil command and the error “ESEUTIL not working” along with this the write up also explain the Jet error 1032 and the manual methods to repair Exchange database files using ESEUtil inbuilt utility. Further, you can also find the advance solution to recover Exchange files quickly with no compatibility issues.
This post describes how to fix the error «Operation terminated with error -1032 (JET_errFileAccessDenied, Cannot access file, the file is locked or in use)»
This error can occur on Microsoft Exchange 2016 when you try to repair a mailbox database using eseutil.
Cause
The Exchange Management Console does not have the necessary privileges to access the file.
Fix
Open the EMC as Administrator. eseutil should now have the privileges required to repair the database.
Popular posts from this blog
LG TV This app will now restart to free up more memory
This post describes how to fix the error «This app will now restart to free up more memory» which can occur when using apps such as Netflix on an LG TV after just a few minutes of use. Resolution To resolve the issue, unplug the TV then press the on/off button for 10 seconds. Wait a further 20 seconds then plug the TV back in and turn it back on. Apps should now run without the error. Edit: The on/off button on my LG TV is directly under the standby light on the bottom of the TV. Edit: I didn’t have to do this myself but one person who has left a comment said that clearing all browsing data worked for them. I have written a post explaining how to do this: LG TV Clear All Browsing History Data . Edit: A few other people have also suggested turning off quick start in settings (and if it’s already off, turn it on then off again). I have written a post explaining how to do this: LG TV turn off Quick Start in settings Related Posts — LG TV delete/remove/hide ch
LG TV Clear All Browsing History Data
This post describes how to clear all browsing history data from an LG TV. This is one way to resolve the error » This app will now restart to free up more memory » sometimes seen on LG TVs. Process The process to clear all browsing history data is as follows: 1. Press the Home button on the remote control and keep pressing right until you find the Web Browser then open it. 2. Scroll the wheel on the remote control to reveal the pointer on screen, then press the three dots stacked vertically (located in the top right of the screen, next to the close button) to open the Menu. 3. Select Settings from the Menu. 4. Scroll to the bottom of the Settings to reach the Clear Browsing Data section. 5. Press the Clear All Browsing Data button then press Yes to confirm. Related Posts — LG TV turn off Quick Start in settings — LG TV move or delete apps and shortcuts on home screen
LG TV turn off Quick Start in settings
This post describes how to turn off Quick Start on an LG TV. This is one way to resolve the error » This app will now restart to free up more memory » sometimes seen on LG TVs. Process The process to turn off Quick Start on my LG TV is as follows: 1. Press the Settings (cog icon) on the remote control, this opens the side settings menu on the right hand side of the TV screen. 2. Go down to All Settings (the three dots icon that turns into a cog icon on the screen) then click. 3. Go down until you reach General (the cog and spanner icon) 4. Press right then down until you reach Quick Start+ (note: you may need to select Additional Settings before doing this on some LG TVs). 5. Toggle Quick Start+ to the off position (the circle should slide to the left): Related Posts — LG TV Clear All Browsing History Data — LG TV move or delete apps and shortcuts on home screen
In this Section, we find the solution of Exchange Eseutil error 1032, which in common in Exchange 2003/2007/2010 Server. We also discuss the various scenarios and different methods are available to fix jet error 1032 Exchange Server. Also, find the root cause of the problem and some tips that help Exchange user to avoid this kind issue. Some relevant queries are mentioned below related to jet error 1032 faced by 2003/2007/2010 Exchange user.
User Query Related to Exchange 2007/2003 Jet error 1032
Query 1: Getting message while running an operation in Exchange Server Database of 2003 “Operation Terminated – 1032 (JET_errFileAccessDenied, Cannot access file) and File is locked or in Use”.
Note: Trying to check the integrity of the Database using Eseutil Commands[/G]. A database should be mounted properly and no antivirus software installed in my system.
Any ideas to solve this Exchange error 1032.
Query 2: While restoring EDB File into clean shutdown state in Exchange 2007. When trying to run the command getting error “Operation terminated with error -1032 [Cannot access file, the file is locked or in use) after 20.93 seconds.] “. Remove the AV[ To check whether getting problem due to Anti Virus]. How Can I solve this problem? Please share any technique to fix Exchange 2007 eseutil error 1032.
Query 3: While working with Exchange Server 2010, had a Power failure and Exchange Database not mount properly. I tried ESEUTIL /p to fix the problem, and also use Exchange Management Shell but not the solution and get the error: Access to source database ‘E:Program FilesMicrosoftExchange ServerExchsvrMailbox Database 1258094299’ failed with Jet error -1032. Hoping for a good solution.
What is Exchange Eseutil 1032 Error?
As we can see in above user queries in different scenarios such as Dismounting, Shutdown process, running Exchange Commands, a user gets Exchange Eseutil 1032 error. Sometimes when a user tries to mount the database for recovery point for regular maintenance and get status “Suspended” and while exploring log files get error code 1032 and message: The file is locked or in use. —> Microsoft.Exchange.xx.xxFileAccessDeniedException: Cannot access the file, the file is locked or in use (-1032). To change the state from “Suspended ” to “Healthy” user need to know the exact reason behind the Jet error 1032.
Reason Behind Exchange Eseutil 1032 Jet Error?
Sometimes user ignores some prevention while working with EDB file and try to run command give by in-built Eseutil utility without knowing the actual cause of the problem. Naive user run Eseutil command without dismounting Exchange Server database. Sometimes a hardware failure or antivirus program can create this kind of error, even a corrupted database lead to this Jet error 1032 in 2003/2007/2010 Exchange Server. Some details of defrag error 1032 is given below:
Solution to Fix Jet error 1032 in Exchange 2003/2007/2010 Server
The main reason of Exchange error 1032 is that user doesn’t have permission to access the file and or file is already in locked state and already in use. To Fix this user can go for given approaches.
Approach 1: Disable Antivirus Application
Uninstall or Disable the Anti-Virus program in the configured system. An Antivirus program can disable the permission setting, that disallows to access the database and user get Jet 1032 error.
Approach 2: Run Eseutil Commands to Fix Exchange Server Eseutil Jet Error
If any EDB file is corrupted then a user can Open Exchange Management Shell and try to run Repair command using Full Administrator Mode.
To change the Permission mode follow steps:
- Go to Exchange Management Shell >> Run eseutil /p Command
- Now find the Folder store Database file >> Right Click on Database >> Select Properties.
- Select Security option and check System Full Control & Administrator Full Control.
- Now try to check the status of File. If the status changed to “Healthy” then you can access the database.
Alternative Solution to Fix Jet Error 1032
A manual solution does not always fix the problems even sometimes, without taking proper backup of the database file, a user can lose important information and sometimes not even to access the healthy database due to the damaged database file. To Fix Exchange Eseutil Jet error 1032 in 2010/2007/2003 Exchange Server, user can go for Exchange Mailbox Recovery Tool that can easily recover the damaged database file, that can help a user to access the desired database file.
The following two tabs change content below.
- Bio
- Latest Posts
He is a data recovery expert who works as freelancer technical blogger. He has been in the Data recovery industry for 10+years and specialized in data recovery solutions & data management techniques. He researched on various email client issues & now willing to share information among people through the Web.
-
Add bookmark
-
#1
Hello-
We’ve got a machine that had a power failure and the Exchange Database won’t mount after startup.
No matter what I do, I can’t get ESEUTIL to address the database.
-I have tried running ESEUTIL /p, and I have tried both Command Prompt and Exchange Management Shell both running as Administrator.
I tried deleting the log files as well.
Below is the error I get when trying to run ESEUTIL.
[PS] CWindowssystem32>eseutil /p «EProgram FilesMicrosoftExchange ServerExchsvrMailbox Database 1258094299″
Extensible Storage Engine Utilities for Microsoft(R) Exchange Server
Version 14.02
Copyright (C) Microsoft Corporation. All Rights Reserved.
Error: Access to source database ‘EProgram FilesMicrosoftExchange ServerExchsvrMailbox Database 1258094299′ failed
with Jet error -1032.
Operation terminated with error -1032 (JET_errFileAccessDenied, Cannot access file, the file is locked or in use) after
20.31 seconds.
Help would be greatly appreciated.
Thanks/
-
Add bookmark
-
#3
-1032 is notorious for antivirus clients having a file held open. Are the proper scanning exclusions in place? Does it repro if you disable any/all A/V services temporarily?
-
Add bookmark
-
#4
[url=http://arstechnica.com/civis/viewtopic.php?p=29757833#p29757833:1xwjyvtu said:
scorp508[/url]»:1xwjyvtu]-1032 is notorious for antivirus clients having a file held open. Are the proper scanning exclusions in place? Does it repro if you disable any/all A/V services temporarily?
Ohhhhhh ^that^ post was a palindrome. Post 10001.
-
Add bookmark
-
#5
[url=http://arstechnica.com/civis/viewtopic.php?p=29757965#p29757965:1m0hccwe said:
scorp508[/url]»:1m0hccwe]
[url=http://arstechnica.com/civis/viewtopic.php?p=29757833#p29757833:1m0hccwe said:
scorp508[/url]»:1m0hccwe]-1032 is notorious for antivirus clients having a file held open. Are the proper scanning exclusions in place? Does it repro if you disable any/all A/V services temporarily?
Ohhhhhh ^that^ post was a palindrome. Post 10001.
Haha, you’re weird
-
Add bookmark
-
#6
[url=http://arstechnica.com/civis/viewtopic.php?p=29764649#p29764649:3pruc86n said:
PaveHawk-[/url]»:3pruc86n]
[url=http://arstechnica.com/civis/viewtopic.php?p=29757965#p29757965:3pruc86n said:
scorp508[/url]»:3pruc86n]
[url=http://arstechnica.com/civis/viewtopic.php?p=29757833#p29757833:3pruc86n said:
scorp508[/url]»:3pruc86n]-1032 is notorious for antivirus clients having a file held open. Are the proper scanning exclusions in place? Does it repro if you disable any/all A/V services temporarily?
Ohhhhhh ^that^ post was a palindrome. Post 10001.
Haha, you’re weird
I never claimed to be anything but!
-
Add bookmark
-
#7
Scorp is probably right about AV.
If that doesn’t help, call Microsoft. Unmountable DB is not something you want to screw around with.
-
Add bookmark
-
#9
[url=http://arstechnica.com/civis/viewtopic.php?p=29772631#p29772631:irvk0okm said:
Danger Mouse[/url]»:irvk0okm]Hey scorp508,
Does RBAC matter for eseutil on 2010?
eseutil is a utility executed outside of exchange management shell so RBAC is not in play.
-
Add bookmark
-
#10
[url=http://arstechnica.com/civis/viewtopic.php?p=29774993#p29774993:394jw7ts said:
scorp508[/url]»:394jw7ts]
[url=http://arstechnica.com/civis/viewtopic.php?p=29772631#p29772631:394jw7ts said:
Danger Mouse[/url]»:394jw7ts]Hey scorp508,
Does RBAC matter for eseutil on 2010?
eseutil is a utility executed outside of exchange management shell so RBAC is not in play.
Just wanted to be sure as I could not remember.
Thanks again.
-
Add bookmark
-
#11
Run Eseutil in /P (repair) mode it is preferred variant
Helpful threads over specs forums on Exchange Server:
http://community.office365.com/en-us/f/ … 78716.aspx
http://forums.msexchange.org/m_18005987 … 1800598776
The easiest way to do this is to have both database files (.EDB and .STM) in the same directory (which they usually are). If they’re in different places, you’re going to have to point to the files on the command line.
Eseutil is located in the exchsrvrbin directory
Example:
eseutil /p cexchsrvrmdbdatadb1.edb /sdexchsrvrmdbdatadb1.stm /tetemp.edb
This command line will repair DB1.EDB located on C: along with its matching .STM file located on and will put the temporary file on the E: drive.
If your streaming database file (.STM) is not matched to the database file (.EDB) or it has a problem that is blocking repair, you can add the /i switch to the repair command line.
The /i option ignores the signature mismatch error in the check phase. The database and streaming file will receive new signatures in the repair phase.
Repair can take a while—hours. When it finishes, it will leave you with a very detailed log file of what it did called .integ.raw.
Not quit finished yet, there are two more steps to complete.
Please see some more links in the conclusion for examples of the command line and a brief intro to the exchange utilities
-
Add bookmark
-
#12
[url=http://arstechnica.com/civis/viewtopic.php?p=29804867#p29804867:37v4oak1 said:
finalen[/url]»:37v4oak1]Run Eseutil in /P (repair) mode it is preferred variant
/p is the last thing anyone should do if the database is in a dirty shutdown state unless they know exactly how the DB got into that shutdown state and/or they have run out of every every other recovery method.
magic_p
Ars Tribunus Angusticlavius
-
Add bookmark
-
#13
[url=http://arstechnica.com/civis/viewtopic.php?p=29808145#p29808145:3krnqklq said:
scorp508[/url]»:3krnqklq]
[url=http://arstechnica.com/civis/viewtopic.php?p=29804867#p29804867:3krnqklq said:
finalen[/url]»:3krnqklq]Run Eseutil in /P (repair) mode it is preferred variant
/p is the last thing anyone should do if the database is in a dirty shutdown state unless they know exactly how the DB got into that shutdown state and/or they have run out of every every other recovery method.
My preferred method of using eseutil /p is to copy all of the database files and logs over to another server first (server! not another drive, that way you run a lower risk of /p on the wrong copy of the files ). That way, I have a backup in case /p wipes out all the things.
If you get to that point…make a backup before doing any sort of repair on the database. When you call Premier for help, they’ll love you. Not to mention, those poor souls with data in that database will love you too.
-
Add bookmark
-
#14
/p may make the DB mount, but how much data is lost? You aren’t going to find out until after you mount it, and wait for users to start complaining. Meanwhile MTA delivers more messages to an unhealthy DB that you aren’t going to keep because it has so much missing data, and now recovering from that is just that much harder.
Scorp is right.
Goes back to: don’t try to be a hero, call Microsoft.
Привет. Столкнулись с ситуацией – нежданно-негаданно отвалился Mailbox Database в Exchange 2010, из-за ошибок, указанных в заголовке. Хочу рассказать, что было в нашем случае, и как подобное можно решить.
Само собой сразу после того, как база отвалилась, попробовали её примонтировать, но безрезультатно, сразу после монтирования статус у базы снова становился Dismounted. Конечно, первым делом изучили логи. Обнаружили там занимательные записи:
Source: ExchangeStoreDB
ID: 206
Level: Error
Source: ExchangeStoreDB
Message: At ‘9/26/2012 8:48:36 PM’ database copy ‘DB’ on this server appears to have a serious I/O error. To help identify the specific failure, consult the Event log on the server for other storage and “ExchangeStoreDb” events. Service recovery was attempted by failover to another copy. Failover was unsuccessful in restoring the service. Error: Couldn’t perform the database failover.
Так же может встретится что-то вроде:
Source: ESE
Event ID: 739
Task Category: General
Level: Error
Description:
Information Store (5652) TestDB: The NTFS file attributes size for database ‘F:TestDBTestDB.EDB’ is 243136 bytes, which exceeds the threshold of 204800 bytes. The database file must be reseeded or restored from a copy or backup to prevent the database file from being unable to grow because of a file system limitation.
Проблема тут кроется не в самой базе, как таковой — база цела и невредима, а в файловой системе. Точнее в ее ограничениях. У каждого файла есть такой параметр, как Attribute List Size, так вот он не может быть больше 256КБ. И заполняется этот параметр тем быстрее, чем меньше установлен размер кластера на разделе, где находится база. Уменьшаться он не может. И когда он заполнится, база просто не сможет расти и будет отключена. Кроме того, есть еще такой параметр, как количество фрагментов для каждого файла, и этот параметр не может превышать примерно 1500000 фрагментов. Более подробно про данные штуки можно почитать тут и тут, по этому особо не буду останавливаться на теории. Скажу только, что данные ограничения связаны со скоростью работы дисков и принципами работы NTFS. Чем больше у вас будет фрагментов, тем дольше будут происходить операции ввода и вывода на диск. И вот если они приблизятся к указанным значениям, то нагрузка может стать критичной.
Как быть? Сперва необходимо убедиться, что проблема действительно связана с Attribute List Size или в количестве фрагментов.
Для этого можно выполнить команду:
eseutil /ms f:dataDB.edb
В выводе можно будет увидеть примерно следующее:
Extensible Storage Engine Utilities for Microsoft(R) Exchange Server
Version 14.01
Copyright (C) Microsoft Corporation. All Rights Reserved.
Initiating FILE DUMP mode…
Error: Access to source database ‘f:dataDBName.edb’ failed with Jet error -1032.
File Information:
File Name: f:dataDB.edb
Volume Name: Drive2
File System: NTFS
Cluster Size: 4096 bytes
Attribute List Size: 256 KB
Extents Enumerated: 1157172
Если в выводе Attribute List Size меньше 256КБ или Extents Enumerated меньше примерно 1500000, то проблема у вас не вышеописанном. Если же что то совпадает, то это наш случай.
Для исправления ситуации бессмысленно делать дефрагментацию на диске и базе. Единственный способ – скопировать базу на другой диск, что бы все данные записались последовательно. Желательно сразу на раздел с рекомендованным размером кластеров, как минимум в 64КБ (кстати, это является рекомендацией Microsoft, для Exchange). После этого, если планируете оставить оригинальный диск его необходимо отформатировать с размером сектора 64КБ и скопировать базу обратно.
Форматирование делается командой:
format F: /q /y /fs:ntfs /v:VolumeName /a:64K
Если вы не хотите перемещать базу на оригинальный диск, то указать путь до нового расположения Mailbox Database можно командой:
move-databasepath -identity DB -edbfilepath "путь_до_edb" -configurationonly
Как вы могли заметить в заголовке у меня указано 2 ошибки. После того как мы скопировали так базу, она успешно примонтировалась, но в логах обнаружилось следущее:
Source: MSExchangeIS Mailbox Sore.
Event ID: 9685
Exchange store ‘DB’: The current physical size of this database (the .edb file) is 1247 GB. This database has exceeded the size limit of 1024 GB. However, the logical free space in this database has not yet been evaluated. Therefore, it is possible that this database contains enough free space to bring its logical size below the maximum size limit.
Либо может быть зафиксировано аналогичное событие:
Event ID: 1216
The Exchange store DB is limited to 1024 GB. The current physical size of this
database (the .edb file) is <1 GB. If the physical size of this database minus its
logical free space exceeds the limit of 1024 GB, the database will be dismounted on a
regular basis.
При подобных событиях, база если и примонтируется, то, скорее всего, не на долго. В Exchange есть заданное ограничение на размер базы – 1ТБ, если база разрастется выше этого предела, то она просто будет отмонтирована. При достижении лимита может быть зафиксировано событие – 9690.
К счастью, этот лимит можно поднять до 2ТБ, возможно и до большего значения, но официально поддерживаются именно базы размером до 2 ТБ. Для этого:
Определим guid нашей базы:
Get-MailboxDatabase DB | fl guid
Дальше в реестре по пути HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSExchangeISИмя_СервераPrivate-[ваш_guid] нужно создать параметр Dword, если его нет — «Database Size Limit in GB» и ввести нужное значение максимального размера.
Информация по второй проблеме взята отсюда.