HomeTallyPrimeManage & Exchange DataData - Errors & Resolutions

 

Explore Categories

 

 PDF

Data – Errors & Resolutions

This page lists data related errors faced while performing different processes, such as taking a backup, opening company, importing data, and so on.

Cause

This message is displayed if the data that you are backing up is damaged.

Solution

  1. Open the TallyPrime data folder, and copy the company folder to a different location. For example, if your data folder is D:TallyPrimedata100010, then copy 100010 to a different location.
  2. Open the company folder in the TallyPrime data folder, and compare the sizes of the files Company.1800
    and CmpSave.1800. If there is a difference in size, then:

    • Delete Company.1800, and make a copy of CmpSave.900 in the same folder.
    • Rename CmpSave – Copy.1800 as Company.1800, as shown below:

  3. Repair the data.

Additional Data Errors

This section lists common errors related to company data while performing one or more operations. (Applicable to all TallyPrime releases)

Cause:

This error may occur while opening TallyPrime in the following scenarios:

  1. TallyPrime data files (such as .tsf or .900/.1800 files) are locked by another process, such as third-party backup software or any other application that accesses the TallyPrime data files. At the same time, TallyPrime attempts to store the data to the database, but it fails.
  2. Since the Ransomware protection feature is enabled, the antivirus software blocks access to the TallyPrime data.

Resolution:

  1. Avoid accessing the TallyPrime database by copying or double-clicking the .tsf files.
  2. Schedule backups when no user is accessing the TallyPrime data.
  3. Exclude .tsf files from the Exclusion menu of backup tool.
  4. Add TallyPrime data files to the Exception list of the antivirus software’s Ransomware protection feature.

Cause:

This error occurs due to corrupted data files, while accessing data over a network in a multi-user environment. The data may be corrupted due to network fluctuation or when different types of network such as LAN and WIFI are used in the multi-user environment.

Solution:

This issue can be resolved by doing a zero re-write of data. However, ensure that you take a data backup before doing zero re-write. Additionally, take the following measures to ensure this error does not occur again.

  • Correct the fluctuations in the ping speed.
  • In case there are any WIFI systems installed in the network, isolate that system to stop this problem from occurring repeatedly.
  • Use same category of cable, preferably CAT 6 in all the client systems.
  • Include TallyPrime data files in the exceptions list of your antivirus software.

 

Cause 1:

A temporary file or directory in your computer is corrupted and unreadable.

Resolution 1:

Since the corrupted file/files are temporary, delete the files and check if the issue persists.

Cause 2:

Antivirus interference

Resolution 2:

Repair the company data.

  1. In TallyPrime, press Alt+Y (Data) > Repair.
    Alternatively, 
    press F1 (Help) > Troubleshooting Repair.
  2. Select the company for which the error is appearing.
  3. In the Repair Company Data screen, set Backup Company Data before Repair to No and select Repair to proceed with the data repair.
    Note: It is recommended to take backup of your company data to prevent any data loss.

Cause 3:

Presence of malware

Resolution 3:

Scan the computer for malware using Windows Defender.

Windows comes with an in-built antivirus software called Windows Defender. Windows Defender scans your device for viruses, spyware, ransomware, rootkits, and other types of malwares. Using Windows Defender scan and its scanning options, you can scan your system to find malware.

  1. Click the Windows icon > type Windows Security, and press Enter.
  2. In the Windows Security screen, select Scan now under Virus & threat protection.
    virus-and-threat-protection
  3. Click Quick scan to start the scanning process for malware.
    quick-scan
    If there is no sign of malware, you will see the following message on the screen.
    current-threats

Cause 4: 

Bad sectors on the hard disk

Resolution 4:

You need to perform an SFC scan to check your hard disk.

SFC (System File Checker) is a utility in Windows that allows users to scan and restore corrupted Windows system files. The SFC command scans the integrity of all protected system files and replaces incorrect (corrupted or modified) files.

  1. Click the Windows icon > type Command Prompt, and press Enter.
  2. Right-click Command Prompt > Run as administrator > Yes.
  3. In the Command Prompt, type sfc /scannow.
    Do not close the window until the verification is 100% complete.
    You can see the scan results after the verification process is complete.
    command-prompt

You can avoid this error by upgrading to the latest release of TallyPrime.

Cause:
This error occurs when the TMESSAGE.TSF file is damaged.

Solution:

To fix this issue

  1. Right click on the TallyPrime icon and select Open File location.
  2. Open the Data folder from the file location.
  3. Open the folder in which the company’s data are stored.
  4. Delete the TMESSAGE.TSF file if its size is between 0 and 1 KB. If the file size is more than 1 KB, move the file to another location.
    Deletion of TMESSAGE.TSF File from Company Data stored in TallyPrime Folder in Computer
  5. Reload the company in TallyPrime.

This error can be resolved by following the steps below:

  1. Create a Data Backup.
  2. Check file size of Transmgr.900/1800. If the file size is 1 KB, restore the earlier backup, if any.
  3. If the Transmgr.900/1800 file size is large, follow the steps of Repair below:
    1. Take the existing backup of the corrupted data and perform Zero Command Repair.
    2. Check the bad sectors on the Hard Disk as well. Click here to view the procedure.

This error can be resolved by following the steps below:

  1. Create a Data Backup.
  2. Check file size of Manager.900/1800 or Linkmgr.900/1800. If the file size is 1 KB, restore the earlier backup, if any.
  3. If the Manager.900/1800 or Linkmgr.900/1800 file size is large, follow the steps of Repair below:
    1. Take the existing backup of the corrupted data and perform Zero Command Repair.
    2. Check the bad sectors on the Hard Disk as well. Click here to view the procedure.

You will be able to learn how to resolve errors tmessage.tsf, tstate.tsf, and tstate.tsf error code 32 here.

  • Error – tmessage.tsf
    This error appears on the client machine.
  • Error – tstate.tsf
    To resolve this error, follow the steps below:

    1. Ensure that all the files/sub-folders in the data folder have full access permissions enabled for the relevant users.
    2. Provide full access permission to all the users (working on TallyPrime).
    3. Verify the network connectivity.
  • Error – tstate.tsf error code 32
    Cause: This error occurs while splitting company data when third-party software is used for data backup, and the .tsf files are saved by this third-party application for backup.Solution: Add the .tsf files to the exclusion list of the data backup software.

    Note: Contact your system administrator to add files to the exclusion list.

Cause: This error occurs due to the duplication of masters (ledgers) in your company.

Solution:
Recommended: Upgrade to the latest release of TallyPrime to prevent this error.

Interim Fix

To fix this issue in your current release, you need to Repair your company data. After Repairing the data, the duplicated masters (ledgers) will be removed from your company data.

  1. Take a backup of the company data.
  2. Go to Gateway of Tally > F12 (Configure) > Data Configuration.
  3. Set Load Companies on startup? to No.
    However, if the option Load Companies on startup? was set to Yes by default, then you have to modify the tally.ini file (Tally configuration settings).
    To modify the tally.ini file:

    1. Go to the TallyPrime application folder on your computer.
    2. Open the tally.ini file.
    3. Set Default Companies= No.
    4. Press Ctrl+S to save the settings.
  4. Close TallyPrime.
  5. Use Command Prompt to enter the path where Tally.exe is located, followed by the data path and the ID number in the error message.
    For example, C:Program FilesTallyPrimetally.exe data 1284.
    If your data is stored in a different folder or drive (for example, D:TallyPrimetally.exe “D:client data” 1234), enter the relevant path.TallyPrime now starts in the Command Prompt.
  6. Press Ctrl+Alt+R to repair the company data.

Cause: This error message appears when splitting data if bill-wise details in a transaction are not saved completely.

Solution: The transaction with incomplete bill-wise details must be re-accepted.

  1. Open the spl file available in the TallyPrime folder and check the bill numbers mentioned.
  2. Go to Gateway of Tally > Day Book.
    Alternatively, press Alt+G (Go To) > type or select Day Book.
  3. Select the transactions mentioned in the spl file.
  4. Verify the Bill-wise details in the transaction and re-accept.
  5. Re-start the splitting process.

Cause: The error appears when the default group has been altered in TallyPrime while splitting the company data.

Solution:

  1. Open spl file available in the TallyPrime installation folder.
  2. Search for the error message in the file.
  3. Rectify the errors, as per the instructions.
  4. Proceed with splitting the company data.

Cause: The error occurs when the default journal voucher type is changed while splitting company data.

Solution: Upgrade to the latest release of TallyPrime.

Cause: The tally.imp is in use or open, or the destination folder to which you are trying to export the data, does not have the required permission. It is in read-only mode.

Solution: Change the attributes of the folder as follows:

  • Uncheck the read-only property of the folder by following the steps shown:
    • Right-click on the folder.
    • Select Properties.
    • In the Properties window, clear the check box against the option Read Only.
    • Click OK.
  • Give a different file name and export, or close the file that was opened earlier.

The error Insufficient data for an image occurs when the Company Logo configured for printing Reports/Invoice size is more than the recommended size. Recommended size for company logo is 96 pixels in width x 80 pixels in height. If the logo size is more than recommended then above error exists.

Resize the image into 96 pixels in width x 80 pixels in height using MS paint.

  1. Open the image in MS paint.
  2. Click Resize.
  3. Click on pixels. In horizontal mention 96 and width as 80, and click OK.
  4. Save the image in BMP or JPEG format.
  5. Define the path of the resized logo, to print it on invoices and reports.
    • Press Alt+P (Print) > Configuration.
    • Type or select Include company logo (applicable to Print/Export/Email) and press Enter.
    • Set the option Include company logo (applicable to Print/Export/Email) to Yes.
    • Select the Image Path and the Image File Name.

      You can now export the invoices and reports with the logo (image which is resize) as PDF. You will get the complete data in PDF without any error message.

Cause 1: You have enabled multiple Gateway Servers in your computer.

Resolution: Disable the unused Tally Gateway Servers from your computer.

  1. Click the Windows icon > Run > type services.msc, and press Enter.
  2. Locate the instance of Tally Gateway Server that you want to disable, right-click the instance > select Properties.
    tally-servers
  3. Click Stop to change the Service status to Stopped.
    service-status
  4. Under Startup type, select Disabled, and click Stop > and click Apply.

Cause 2: Absence of tallyprime.lic and Tally Gateway Servers.

Resolution: If TallyPrime is in Educational Mode, you can check the availability of tallyprime.lic. After that, you can then select an active license or reactivate your existing license to use TallyPrime in license mode.

To check the availability of tallyprime.lic:

  1. Right-click the TallyPrime Shortcut on your desktop.
  2. Click Open file location.
  3. Check for tallyprime.lic among the the other files in the folder. If tallyprime.lic is not present, it might have caused the TallyPrime application to open in the educational mode.

Scenario – 1

If TallyPrime opens in Educational mode, you can use license from network or select an active license to use your TallyPrime license.

To select an active license,

  1. Press F1 (Help) > Settings > License > Manage License > Show Active Licenses Only.
  2. Select the licenses with active status.
    configure-your-license
  3. Select Yes to continue.
    license-query-box

TallyPrime will restart and use the correct Gateway Service to fetch the license.

Scenario – 2

If your license has gone into Educational Mode, you can reactivate your TallyPrime license.

Disable the unused Tally Gateway Servers from your computer.

  1. Click the Windows icon > Run > type services.msc, and press Enter.
  2. Locate the instance of Tally Gateway Server that you want to disable, right-click the instance > select Properties.
    tally-servers
  3. Click Stop to change the Service status to Stopped.
    service-status
  4. Under Startup type, select Disabled, and click Stop > and click Apply.

Cause 3: In case there are several companies to be loaded on startup, opening all the companies on starting TallyPrime might take time, depending on the volume of your data.

Resolution: You can set the option Load companies on startup to No, if you have already enabled the option and selected a Company to load after you open TallyPrime.

  • Open the Startup Settings screen: Press F1 (Help) > Settings > Startup.
  • Set the option Load companies on startup to No.

In case you must load companies on starting TallyPrime, select only the most required companies to load on startup to avoid any possibilities of performance issue.

Cause 4: If you have been using third-party firewalls for network security, you might have Internet latency (speed) issue.

ResolutionTo resolve issues related to Internet latency (speed), you can whitelist some of the URLs or hostnames and IP addresses in your Firewall or Proxy settings. To do this, you have to identify the required IP addresses or URLs for the services you need and add IP Addresses, URLs, and Hostnames to Windows Proxy or Firewall Exceptions List. To add ports to Windows Firewall Exceptions List and add TallyPrime Data Extensions in Antivirus Exceptions List, refer to the Add TallyPrime EXE and Ports to Firewall Exceptions List topic.

However, you can also do one of the following scenarios to check/identify if there is an issue with the Internet latency (speed) issue:

Scenario 1:

  1. Click the Search icon appearing on the Taskbar of your computer.
  2. Search for Command Prompt and press Enter.
  3. In the Command Prompt, type ping tallynet.tallyenterprise.com -t and press Enter.
    If you can see repeated requests getting typed in the screen, then your request is not reaching the server.
    command-prompt-1
    In such a case, you can reconnect with the network by connecting with the IP service provider or System Admin to resolve the network connectivity issue.

Scenario 2:

  1. Click the Search icon appearing on the Taskbar of your computer.
  2. Search for Command Prompt and press Enter.
  3. In the Command Prompt, type ping tallynet.tallyenterprise.com and press Enter.
    command-prompt-2
    If you can see repeated requests getting typed in the screen, then your request is not reaching the server. In such a case, you can reconnect with the network by connecting with the IP service provider or System Admin to resolve the network connectivity issue.

Scenario 3:

  1. Click the Search icon appearing on the Taskbar of your computer.
  2. Search for Command Prompt and press Enter.
  3. In the Command Prompt, type nslookup tallynet.tallyenterprise.com and press Enter.
    command-prompt-3
    You can see your IP Address. Display of your IP Address implies that the command has successfully reached tallynet.tallyenterprise.com, and the communication is happening .

 

Cause 1:

Memory consumption increases when loading a company, primarily due to the higher data size. This is also influenced by the company’s features and the volume of data stored in that company. For example, if a company has 20,000 stock items and 5,000 stock categories, loading the company will use more memory because it checks the balance of each stock item against its category.

Resolution:

Delete the Masters of the company if there are no other masters or transactions using it and try loading the company again in TallyPrime. In TallyPrime, you can also view and delete multiple unused masters at once.

Cause 2:

There is no outward flow (sales, stock transfers, and so on) but only inward flow (purchase, receipt notes, and so on).

Resolution:

TallyPrime offers you varied costing methods that will help you in determining the value of the stock in hand. Change the stock valuation method to some other valuation method instead of FIFO.

Cause 3:

Existing customisations require additional validation while loading company.

Resolution:

Try to load the company after deselecting the account TDLs/Add-ons and disabling the local TDLs.

Cause 4:

Variations in system configurations between the Server and Node systems, Network topology (LAN or WIFI), Network or Communication speed between server to node and vice versa, Network Cable type, and so on.

Resolution:

To resolve issues related to system configurations, ensure that you use the same system configurations across all the nodes. For example, if a computer has 4 GB RAM with 2.1 GHz processor with Windows 10 Operating System, same configuration has to be used across all the nodes.

To check system configuration from TallyPrime, press F1 (Help)> About > Computer Information.

computer-information

Cause 1:

Low bandwidth or unstable network communication between the client and server. 

Resolution:

Ping speed variation should be minimal, ideally between 1 ms and 3 ms which is the minimum accepted network variation. Ensure that the network speed is always uniform between the client and the server systems. Any difference in the link speed affects the transfer of data between the client and server system.

For example, when the link speed is 100 Mbps, and the transfer rate is 56 Mbps, the performance of data over the network will be slow. You also need to ensure that the network speed should be 60 Mbps from node to server and server to node systems.

To view the link speed:

  1. In your computer, right-click on your bottom bar and select Task Manager.
  2. Select PerformanceThe graph displays the network and link speed for the system.
    performance-task-manager
  3. Check Network latency from Command Prompt.
    1. Click the Search icon appearing on the Taskbar of your computer.
    2. Search for Command Prompt and press Enter.
    3. Write the command ping server name -t and press Enter.
      compand-prompt-4
      This instant communication displays ‘Request timed out’ which means you will not be able to access data or your data access will be slow.

For latest Windows systems, click Performance in Task Manager to view the network speed.

Cause 2:

You are using different system configurations for RAM, Processor, and Operating Systems, such as Windows 10, Windows7, Windows XP, and so on.

Resolution:

To resolve issues related to system configurations, ensure that you use the same system configurations across all the nodes. For example, if a computer has 4 GB RAM with 2.1 GHz processor with Windows 10 Operating System, same configuration has to be used across all the nodes.

To check system configuration from TallyPrime, press F1 (Help)> About > Computer Information.

 

computer-information

For Single user or Server system:

Cause 1:

RAM configuration is different across all the node systems.

Resolution:

Same RAM configuration should be used in all the node systems. For example, if a system has 4 GB RAM with 2.1 GHz processor with Windows 10 Operating System, same configuration to be used across all the nodes.

To check system configuration from TallyPrime, press F1 (Help)> About > Computer Information.

computer-information

Cause 2:

Different versions of Windows Operating System used across all the node systems.

Resolution:

Windows operating system version should be same in all the node systems. For example, if you are using Windows 10 in one node, then all the systems should have Windows 10.

Cause 3:

Processor speed is different across all the node systems.

Resolution:

Processor speed should be same in all the node systems. If the processor speed is 2.3 Ghz in one node, then the other node systems should also have the same processor speed.

Cause 4:

Existing customisations require additional validation during the voucher entry.

Resolution:

Try to open the voucher after deselecting the account TDLs/Add-ons and disabling the local TDLs.

Cause 5:

Memory consumption increases during the voucher entry, primarily due to the higher data size, which is influenced by the company’s features and the volume of data stored in that company.

Resolution:

Delete the Masters of the company if there are no other masters or transactions using it and try opening the voucher again in TallyPrime. In TallyPrime, you can also view and delete multiple unused masters at once.

 

In client systems/Node:

Cause 1:

RAM configuration is different across all the node systems.

Resolution:

Same RAM configuration should be used in all the node systems. For example, if a system has 4 GB RAM with 2.1 GHz processor with Windows 10 Operating System, same configuration to be used across all the nodes.

To check system configuration from TallyPrime, press F1 (Help)> About > Computer Information.

computer-information

Cause 2:

Different versions of Windows Operating System used across all the node systems.

Resolution:

Windows operating system version should be same in all the node systems. For example, if you are using Windows 10 in one node, then all the systems should have Windows 10.

Cause 3:

Processor speed is different across all the node systems.

Resolution:

Processor speed should be same in all the node systems. If the processor speed is 2.3 Ghz in one node, then the other node systems should also have the same processor speed.

Cause 4:

Existing customisations require additional validation during the voucher entry.

Resolution:

Try to make the voucher entry after deselecting the account TDLs/Add-ons and disabling the local TDLs.

Cause 5:

Memory consumption increases during the voucher entry, primarily due to the higher data size, which is influenced by the company’s features and the volume of data stored in that company.

Resolution:

Delete the Masters of the company if there are no other masters or transactions using it and try opening the voucher again in TallyPrime. In TallyPrime, you can also view and delete multiple unused masters at once.

Cause 6:

Type of network such as LAN or WIFI will impact the navigation time during the voucher entry.

Resolution:

Switch the network and try again.

Cause 7:

Slow network speed

Resolution:

Network Speed should be high for example, either 100 Mbps/1Gbps.

Cause 8:

Network cable or the category of cables used, such as Cat 5 or Cat 6/7.

Resolution:

Opt for a cable with higher category value.

Cause 9:

Low bandwidth or unstable network communication between the client and server.

Resolution:

Ping speed variation should be minimal, ideally between 1 ms and 3 ms which is the minimum accepted network variation. Ensure that the network speed is always uniform between the client and the server systems. Any difference in the link speed affects the transfer of data between the client and server system.

For example, when the link speed is 100 Mbps, and the transfer rate is 56 Mbps, the performance of data over the network will be slow. You also need to ensure that the network speed should be 60 Mbps from node to server and server to node systems.

To view the link speed:

  1. In your computer, right-click on your bottom bar and select Task Manager.
  2. Select PerformanceThe graph displays the network and link speed for the system.
    performance-task-manager
  3. Check Network latency from Command Prompt.
    1. Click the Search icon appearing on the Taskbar of your computer.
    2. Search for Command Prompt and press Enter.
    3. Write the command ping server name -t and press Enter.
      compand-prompt-4
      This instant communication displays ‘Request timed out’ which means you will not be able to access data or your data access will be slow.

For latest Windows systems, click Performance in Task Manager to view the network speed.

For Single user or Server system:

Cause 1:

RAM configuration is different across all the node systems.

Resolution:

Same RAM configuration should be used in all the node systems. For example, if a system has 4 GB RAM with 2.1 GHz processor with Windows 10 Operating System, same configuration to be used across all the nodes.

To check system configuration from TallyPrime, press F1 (Help)> About > Computer Information.

computer-information

Cause 2:

Different versions of Windows Operating System used across all the node systems.

Resolution:

Windows operating system version should be same in all the node systems. For example, if you are using Windows 10 in one node, then all the systems should have Windows 10.

Cause 3:

Processor speed is different across all the node systems.

Resolution:

Processor speed should be same in all the node systems. If the processor speed is 2.3 Ghz in one node, then the other node systems should also have the same processor speed.

Cause 4:

Existing customisations require additional validation while opening a report.

Resolution:

Try to open the report after deselecting the account TDLs/Add-ons and disabling the local TDLs.

Cause 5:

Memory consumption increases when loading a company, primarily due to the higher data size, which is influenced by the company’s features and the volume of data stored in that company. For example, if a company has 20,000 stock items and 5,000 stock categories, loading the company will use more memory because it checks the balance of each stock item against its category.

Resolution:

Delete the Masters of the company if there are no other masters or transactions using it and try opening the reports again in TallyPrime. In TallyPrime, you can also view and delete multiple unused masters at once.

 

In client systems/Node:

Cause 1:

RAM configuration is different across all the node systems.

Resolution:

Same RAM configuration should be used in all the node systems. For example, if a system has 4 GB RAM with 2.1 GHz processor with Windows 10 Operating System, same configuration to be used across all the nodes.

To check system configuration from TallyPrime, press F1 (Help)> About > Computer Information.

computer-information

Cause 2:

Different versions of Windows Operating System used across all the node systems.

Resolution:

Windows operating system version should be same in all the node systems. For example, if you are using Windows 10 in one node, then all the systems should have Windows 10.

Cause 3:

Processor speed is different across all the node systems.

Resolution:

Processor speed should be same in all the node systems. If the processor speed is 2.3 Ghz in one node, then the other node systems should also have the same processor speed.

Cause 4:

Existing customisations require additional validation while opening a report.

Resolution:

Try to open the report after deselecting the account TDLs/Add-ons and disabling the local TDLs.

Cause 5:

Memory consumption increases while opening the report, primarily due to the higher data size, which is influenced by the company’s features and the volume of data stored in that company.

Resolution:

Delete the Masters of the company if there are no other masters or transactions using it and try opening the report again in TallyPrime. In TallyPrime, you can also view and delete multiple unused masters at once.

Cause 6:

Type of network such as LAN or WIFI

Resolution:

Switch the network and try again.

Cause 7:

Slow network speed

Resolution:

Network Speed should be high for example, either 100 Mbps/1Gbps.

Cause 8:

Network cable or the category of cables used, such as Cat 5 or Cat 6/7.

Resolution:

Opt for a cable with higher category value.

Cause 9:

Low bandwidth or unstable network communication between the client and server.

Resolution:

Ping speed variation should be minimal, ideally between 1 ms and 3 ms which is the minimum accepted network variation. Ensure that the network speed is always uniform between the client and the server systems. Any difference in the link speed affects the transfer of data between the client and server system.

For example, when the link speed is 100 Mbps, and the transfer rate is 56 Mbps, the performance of data over the network will be slow. You also need to ensure that the network speed should be 60 Mbps from node to server and server to node systems.

To view the link speed:

  1. In your computer, right-click on your bottom bar and select Task Manager.
  2. Click Performance. The graph displays the network and link speed for the system.
    performance-task-manager
  3. Check Network latency from Command Prompt.
    1. Click the Search icon appearing on the Taskbar of your computer.
    2. Search for Command Prompt and press Enter.
    3. Write the command ping server name -t and press Enter.
      compand-prompt-4
      This instant communication displays ‘Request timed out’ which means you will not be able to access data or your data access will be slow.

For latest Windows systems, click Performance in Task Manager to view the network speed.

Cause: Higher volume of data present in the company.

Resolution: The data split is a process-oriented and time-consuming activity. Once you start the splitting process, it will not allow the other users to work. So, you are recommended to carry out the data split process after office hours. Try to use a higher system configuration, so that it will be easier and quicker to split your company data. To know more, refer to Split Company Data in TallyPrime.

SMB Stands for “Server Message Block.” SMB is a network protocol used by Windows-based computers that allows systems within the same network to share files. It allows computers connected to the same network or domain to access files from other local computers as easily as if they were on the computer’s local hard drive.

Not only does SMB allow computers to share files, but it also enables computers to share printers and even serial ports from other computers within the network. For example, a computer connected to a Windows network could print a document on a printer connected to another computer on the network, as long as both machines support the SMB protocol.

Though SMB was originally developed for Windows, it can also be used by other platforms, including Unix and OS X, using a software implementation called Samba. By using Samba instructions, Mac, Windows, and Unix computers can share the same files, folders, and printers.

 

SMB Versions

There are several different versions of SMB used by Windows operating systems:

  • CIFS – The ancient version of SMB that was part of Microsoft Windows NT 4.0 in 1996. SMB1 supersedes this version.
  • SMB 1.0 (or SMB1) – The version used in Windows 2000, Windows XP, Windows Server 2003 and Windows Server 2003 R2
  • SMB 2.1 (or SMB2.1) – The version used in Windows 7
  • SMB 3.0 (or SMB3) – The version used in Windows 8 and Windows Server 2012

SMB Negotiated Version

Here’s a table to help you understand what version you will end up using, depending on what Windows version is running as the SMB client and what version of Windows is running as the SMB server:

Client / Server OS Windows 8
Windows Server 2012
Windows 7 Previous versions
of Windows
Windows 8
Windows Server 2012
SMB 3.0 SMB 2.1 SMB 1.0
Windows 7 SMB 2.1 SMB 2.1 SMB 1.0
Previous versions
of Windows
SMB 1.0 SMB 1.0 SMB 1.0

 

Features and Capabilities

Here’s a very short summary of what changed with each version of SMB:

  1. From SMB 1.0 to SMB 2.0 – The first major redesign of SMB.
    • Increased file sharing scalability
    • Improved Performance
      • Request Compounding
      • Asynchronous Operations
      • Larger reads/writes
    • More Secure and Robust
      • Small command set
      • Signing now uses HMAC SHA-256 instead of MD5
      • SMB2 durability
  2. From SMB 2.0 to SMB 2.1
    • File leasing improvements
    • Large MTU support
    • BranchCache
  3. From SMB 2.1 to SMB 3.0
    • Availability
      • SMB Transparent Failover
      • SMB Witness
      • SMB Multichannel
    • Performance
      • SMB Scale-Out
      • SMB Direct (SMB 3.0 over RDMA)
      • SMB Multichannel
      • Directory Leasing
      • BranchCache V2
    • Backup
      • VSS for Remote File Shares
    • Security
      • SMB Encryption using AES-CCM (Optional)
      • Signing now uses AES-CMAC
    • Management
      • SMB PowerShell
      • Improved Performance Counters
      • Improved Eventing

 

How does SMB work?

The diagram shows the way in which SMB works. Clients connect to servers using TCP/IP. Servers make file systems and other resources (printers, mailslots, named pipes, APIs) available to clients on the network. Client computers may have their own hard disks, but they also want access to the shared file systems and printers on the servers.

Clients connect to servers using TCP/IP (protocol). Once they have established a connection, clients can then send commands (SMBs) to the server that allow them to access shares, open files, read and write files, and generally do all the sort of things that you want to do with a file system. However, in the case of SMB, these things are done over the network.

 

How SMB impacts performance?

The following table will explain how SMB creates Impact on Performance. The version of SMB used for file sharing is determined during the SMB session negotiation. If both the client and server support SMB 2.0, then SMB 2.0 is selected during the initial negotiation. Otherwise, SMB 1.0 used for preserving backwards compatibility.

Below test was conducted to check the effect on performance.

Client Server SMB Negotiated Version Effect on performance
Win XP Win 7/win 2008 server SMB1 No effect
Win 7, Win 2008 server, win xp Win XP SMB1 No effect
Win 7, winxp Win 2008 server/win 7 SMB2, SMB1

Performance effected when first communication is between smb2 to smb2.

Performance not effected when first communication is between smb1 and smb1.

 

Performance Tests

Test 1: Test using Notepad

Testing was done by creating a notepad in the shared folder on Win 2008 server. Here the communication happens through smb2 protocol. This can be observed using the Microsoft Network Monitor. (See the highlighted line).

After creating the notepad from Windows 7 try to delete the same from Win XP machine immediately(less than few seconds). On trying to delete, system prompts error message as shown below.

The same can also be observed using the Network monitor, where it shows a Sharing Violation. (See the highlighted line).

 

Reason

  1. Client (Windows 7) sends Request to server to Create File via SMB2 (check in Fig 1)
  2. Server Responses to allow creation for client via SMB2
  3. After Creation, Client (windows 7) sends request to close SMB2 for the new file created. To sends this request there is a time delay.
  4. During this delay, if another request comes from SMB1 for accessing the same file then sharing violation error shown. If it is same version of SMB, then able to access the file.

When higher version named pipe is not closed and if request comes from lower version then sharing violation occurs. When lower version client is continuously attempting to access the file then sharing violation happens multiple times. This ultimately impacts the performance of client.

Test 2: Select Company > Display Company Login Screen in Tally.

Testing was done by sharing Tally data folder on win 2008 server. Tally application was opened on window 7 and company was selected to display the Login Screen. During this process the SMB2 protocol is used to communicate with the windows server 2008 machine.

Then the same data was accessed by WinXP via SMB Protocol. From the Win XP client, to display the Login screen of the same Company, it is taking time.

In the Network Monitor, it is continuously showing sharing violation in TAccess.tsf file.

 

Reason

  1. Client (Windows 7) sends Request to server to Create TAccess.tsf File via SMB2
  2. Server Responses to allow creation for client via SMB2
  3. After Creation, Client (windows 7) sends request to close SMB2 for TAccess.tsf file. To sends this request there is a time delay.
  4. During this delay time, Windows XP sends request to server for creation of TAccess.tsf file. Since SMB2 namedpipe is not closed for TAccess.tsf file in Windows 7 client, it is showing sharing violation in WinXP client.

Tally Application in WinXP client will wait until it gains access to the TAccess.tsf file. This wait time impacts performance.

 

Conclusion

From the tests, we can conclude that in a sharing environment, the performance will be impacted when data server is in higher SMB version and Clients are in both higher and lower SMB Versions.

 

Recommendation

Option 1

  • Data Server – SMB1 Version OS
  • Clients – (SMB 1 or higher Version OS)
  • As Data server is in SMB1, communication will happen in SMB1 only.

Option 2

  • Data Server – SMB2 Version OS
  • Clients – (SMB 2 or higher Version OS)
  • As Data Server is in SMB2, Communication will happen in SMB2 Only.

Option 3

  • Data Server – SMB3 Version OS
  • Clients – (SMB 3 or higher Version OS)
  • As Data Server is in SMB3, Communication will happen in SMB3 Only.
TallyHelpwhatsAppbanner
Is this information useful?
YesNo
Helpful?
/* */