For responsive and adequate application performance, there are limits set for both time and size for most potentially lengthy operations.
To edit the timeouts, create a file at C:\ProgramData\Pranas.NET\SQLBackupAndFTP\Service\Timeouts.xml
with the contents specified below, and indicate the desired values there.
All timeouts in this file are specified in seconds. After adding any changes to this file, restart the SQLBackupAndFTP (Database Backup) Windows service.
<?xml version="1.0" encoding="utf-8"?> <TimeoutConfiguration> <!-- Log record length limit. --> <LogParamMaxLength>1024</LogParamMaxLength> <!-- Timeout for SQLite operations. --> <SQLiteTimeout>30</SQLiteTimeout> <!-- SBF. Time interval for upload/download progress UI. --> <UploadSpeedUpdateInterval>10</UploadSpeedUpdateInterval> <!-- Timeouts for Microsoft SQL Server (local) operations. --> <LocalSQL> <!-- Timeout for short operations. Example: Get database list, get backup file information, get a database info... --> <Short>180</Short> <!-- Timeout for long operations: backup or restore a database. --> <Long>43200</Long> </LocalSQL> <!-- Timeouts for Microsoft SQL Server (remote) operations. --> <RemoteSQL> <!-- Timeout for short operations. Example: Get database list, get backup file information, get a database info... --> <Short>180</Short> </RemoteSQL> <!-- Timeouts for Azure Sql and Amazon RDS Sql server --> <CloudSql> <!-- Timeout for short operations. Example: Get database list, create snapshot, get a database info... --> <Short>300</Short> <!-- Timeout for long operations: backup or restore a database. --> <Long>43200</Long> <!-- Specifies the database lock timeout in seconds when executing queries against SQLServer. --> <DatabaseLock>60</DatabaseLock> <!-- Set 1 if you want use fn_hadr_backup_is_preferred_replica for skip database --> <CheckIsPreferredBackupReplica>0</CheckIsPreferredBackupReplica> </CloudSql> <PhpMyAdmin> <Export>1800</Export> </PhpMyAdmin> <!-- Timeouts for local named pipe connection between SBF Windows Service and SBF Application. --> <NetPipe> <!-- Timeout provided for a connection to open. --> <OpenTimeout>180</OpenTimeout> <!-- Timeout provided for a write operation to complete. --> <SendTimeout>180</SendTimeout> <!-- Timeout provided for a connection to close. --> <CloseTimeout>180</CloseTimeout> </NetPipe> <Destination> <AzureStorage2> <NetworkTimeout>600</NetworkTimeout> <InitialTransferSize>8388608</InitialTransferSize> </AzureStorage2> <MicrosoftGraph> <OverallTimeout>180</OverallTimeout> </MicrosoftGraph> <S3> <Timeout>180</Timeout> <ReadWriteTimeout>3600</ReadWriteTimeout> <SearchTimeout>600</SearchTimeout> </S3> </Destination> </TimeoutConfiguration>
For application
- LogParamMaxLength. This value limits the maximum number of characters in the log string.
-
SQLiteTimeout. SQLBackupAndFTP uses SQLite databases to store job settings and logs. This parameter allows you to set the timeout for interacting with the application’s databases. Try increasing it if you encounter the
database is locked
error. -
OpenTimeout/SendTimeout/CloseTimeout. SQLBackupAndFTP uses the Net.Pipe technology to communicate between its modules. If you receive
This request operation sent to net.pipe://localhost/pranasnet/net/sbf/ ...
error, then try increasing these timeouts.
DBMS timeouts
Local SQL Server connection
- LogParamMaxLength. Timeout for simple queries to the SQL Server, such as querying the list of databases or retrieving information about a database.
- LocalSQL – Long Timeout. For queries that create backups or perform restores.
- CloudSql – CheckIsPreferredBackupReplica. If your database is a node in an always on availability group, enable this option for the application to check if the database is available for backup. The check will be performed by calling the system procedure fn_hadr_backup_is_preferred_replica. If the database is not available for backup, it will be skipped, and the job will complete without errors. Enable this option if you encounter the error: “The target database, ‘xxx’, is participating in an availability group and is currently not accessible for queries.”
Remote SQL Server connection
- RemoteSQL – Short. Timeout for simple queries to the SQL Server, such as querying the list of databases or retrieving information about a database.
Azure SQL connection and Amazon RDS SQL connection
- CloudSql – Short. Timeout for simple queries to the SQL Server, such as querying the list of databases or retrieving information about a database and creating a snapshot.Таймаут для простых запросов к SQL Server, так как запрос списка баз данных или получение информации о бд и создание снапшота. Если вы получаете ошибку связанную с тем, что БД не готова или истекло время ожидания то попробуйте увеличить это значение.
- CloudSql – Long. Timeout for queries that create backups or perform restores.
- CloudSql – DatabaseLock. If the database is locked, the application will wait for the specified interval of time.
Backup storage timeouts
Note that SQLBackupAndFTP uploads backups to the storage not in one operation, but in chunks. Generally, this slightly reduces the speed but allows for better handling of any network failures.
Azure Storage
- Destination – AzureStorage2 – NetworkTimeout. Timeout for any network operation.
- Destination – AzureStorage2 – InitialTransferSize. Chunk size when loading backup into storage.
One Drive and One Drive For Business
Destination – MicrosoftGraph – OverallTimeout. Timeout for loading a separate network operation.
AWS S3 and S3-compatible
Destination – S3 – Timeout. Timeout for management network operations.
Destination – S3 – ReadWriteTimeout. Timeout for upload and download operations.
Destination – S3 – SearchTimeout. Timeout for operations searching backups for deletion.