This is a simple information sharing post because there is nothing much to troubleshoot...
SQL Server failed to start with following message:
Server Failed allocate pages: FAIL_PAGE_ALLOCATION 262
Server Error: 17127, Severity: 16, State: 1.
Server initdata: No memory for kernel buffer hash table.
This message appears exactly after:
Server Detected 32 CPUs. This is an informational message; no user action is required.
Ideally following should be the message in place of this error:
Using dynamic lock allocation. Initial allocation of 2500 Lock blocks and 5000 Lock Owner blocks per node. This is an informational message only. No user action is required.
Server Lock partitioning is enabled. This is an informational message only. No user action is required.
So from the count of number of pages it failed to allocate, it is clear that there is a Non-Bpool memory pressure.
In our case it was a server level memory pressure caused by a third party file transfer application eating entire memory and after stopping this, we were able to start SQL Server.
Sakthivel Chidambaram, SQL Server Support