SQL Server error after update: The token supplied to the function is invalid

I had faced the same issue with SQL Server. I followed some steps and my problem was resolved. Those steps are as -

  1. Click Start, click Run, type regedit in the Open box, and then click OK.
  2. Locate and then click the following subkey in the registry: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL

  3. On the Edit menu, point to New, and then click DWORD Value.

  4. Type SendExtraRecord for the name of the DWORD value, and then press Enter.
  5. Right-click SendExtraRecord, and then click Modify.
  6. In the Value data box, type 2 to disable the split record in schannel, and then click OK.
  7. Exit Registry Editor. Done!

It seems that others have had success simply by restarting the machine's IIS.

That would be as simple as this:

Click Start, click Run type IISReset, and then click OK. SOURCE (Microsoft)

Otherwise, there are some settings in SSCM that you might need to ensure are properly set, and which may be culprits for a wide range of issues:

  1. ensure Shared Memory protocol is enabled
  2. ensure Named Pipes protocol is enabled
  3. ensure TCP/IP is enabled, and s ahead of the Named Pipes in the settings SOURCE (SO)

(These settings are in your SSCM). There is also a nice blog post about setting these settings as a solution for a different error.

I hope this helps spark some ideas! It seems like this is a fairly common issue without very many concrete suggestions for solutions.

If none of those work (I thought I would suggest them as due diligence in case they resolved the issue), you might have to look into what is being modified by Windows Malicious Software Removal Tool.

Other people have run into issues using SSMS after similar updates in the past, and they seem to offer Internet Explorer as the offender. To fix it, they unregistered and registered their ieproxy.dll.

They suggest doing:

  • Launch command line in administrative mode. Go to C:\Program Files\Internet Explorer or c:\Program Files (x86)\Internet Explorer if you have Win x64.
  • Execute regsvr32 /u ieproxy.dll (this might throw an error if it isn't loaded)
  • Execute regsvr32 ieproxy.dll SOURCE (SO)

This seems to have been successful for them, hope it works!


Execute in command line with administrative privilege and reboot.

netsh winsock reset

I just wanted to answer this question for completeness. I'm not sure that any of the previous answers solved the problem for me so here goes...

I consistently received the following error when using SSMS v18.0 while trying to connect to one of our QA databases: The token supplied to the function is invalid

Turns out that our certificates had just been renewed and unknown to me at the time they were renewed with a new signature algorithm (from RSA/SHA256 to RSA/SHA512). The eventual solution was to modify the list of enabled algorithms in the registry (Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Cryptography\Configuration\Local\SSL\00010003) and then restart the machine: enable RSA/SHA512 registry

Tags:

Sql Server