This one is for those of you who prefer to use a local SQL Server Documentation, a.k.a. Books Online (BOL), instead of using the web-based BOL. A local BOL is essential for me. Navigating the contents, switching between pages and searching is lightyears ahead and quicker in the local BOL.
(Update: Added bits about the missing index.)
(Update 2: there now is a functioning index.)
Erland Sommarskog (http://www.sommarskog.se/) is possibly even more adamant that I am about having a local BOL and he has been very helpful. Also thanks to Carla Sabotta and Jennifer Hubbard for the help and patience.
Getting a functional BOL for SQL Server 2016 is a bit more complicated than for 2014. In this earlier blog post I discussed how to get a proper Table of Contents for the 2014 BOL.
Some basics about the local BOL (from now on I call this BOL):
- It uses HelpViewer.
- SQL Server 2012 and 2014 used HelpViewer 1.1.
- SQL server 2016 uses HelpViewer 2.2.
- F1 from within SSMS will always take you to the web based BOL.
- When you install the SQL Server 2016 engine (not SSMS) you get two program entries. Ignore these:
- "SQL Server Documentation" opens the old HelpViewer 1.1. There is no 2016 BOL for HelpViewer 1.1.
- "Manage Help Settings" takes us to the old Help Library Manager, which is for HelpViewer 1.1.
There is no stand-alone download for the 2016 books (which you would unpack on your harddrive, as we had to do for BOL 2014). You need to do it from inside the HelpViewer 2.2 program. Here's how to do it:
From inside SQL Server Management Studio (SSMS):
- "Add and Remove Help Content". This opens HelpViewer 2.2.
- Make sure that "Online" is selected.
- Add the SQL Server 2016 parts. Don't do what I did and look for a "SQL Server 2016" header in bold typeface. The 2016 parts is right under your nose, under "Recommended Documentation".
Unfortunately there is currently a bug in HelpViewer 2.2 and it will freeze. See https://msdn.microsoft.com/library/mt654096.aspx on how to handle this. You only need to do these steps once, but you will probably need to end HelpViewer in the Task Manager whenever you update your content.
Now you should have the 2016 BOL. Selecting "Help", "View Help" from SSMS will still open the web-based BOL, though (a web-browser inside SSMS). So to open the local BOL 2016 from inside SSMS, you will use:
- "Add and Remove Help Content". (Yes, the same that you used to add the books.)
(Update) Note that the index isn't there for the relational database engine, including T-SQL reference. If you for instance in the index type GROUP BY or @@SERVERNAME you will either get no hits, or be taken to the SQL Server 2012 documentation assuming you also installed that). We'll see if MS will build an index for the relational database topics. My contacts at MS say that they do have an index, where I don't. What do you see? Please let us know below if you, after installed BOL 2016 according to this blog post has a working index for the relational database engine. For instance if you get a 2016 hit for GROUP BY.(/Update)
(Update 2): I today, 2016-09-05, noticed that MS recently released an update for BOL 2016 and the index is there. Yay! (/Update2)
How about a program icon from which you can start BOL 2016 outside of SSMS? Create shortcut somewhere which point to below:
"C:\Program Files (x86)\Microsoft Help Viewer\v2.2\HlpViewer.exe" /catalogName SSMS16 /locale en-US
What if you don't have SSMS installed, but still want a local BOL? There's nothing from the SQL Server team to help you here. You would have to install HelpViewer 2.2 on your own (something I haven't bothered to investigate).
See https://msdn.microsoft.com/en-US/library/mt736393(SQL.130).aspx and https://msdn.microsoft.com/en-us/library/mt703151(v=sql.1).aspx
(the later is a bit more generic).