One of my pet hates attending SQL talks is when the “expert” speaker spends most of the time blabbing on about “install” and “configuration” difficulties they had. It kinda paints a picture that they probably haven’t actually done much with the technology yet.
Saying that I thought I would add some notes on problems starting the PolyBase Services that are installed with SQL 2016 as I’ve struggled with them a bit – so you guessed it by my own logic I am certainly not an expert on PolyBase!
Three common gotchas found:
1) TCP/IP Must be enabled
As PolyBase is designed to connect to HADOOP and other cloud based data sources it obviously uses TCP/IP, but bear in mind that developer edition which we all install on our laptops defaults to no enabling TCP/IP. Luckily Greg Lowe and some other MVPs figured this out before me http://sqlblog.com/blogs/greg_low/archive/2016/07/06/sql-server-2016-polybase-services-stuck-in-change-pending-state.aspx
Hopefully Microsoft can maybe add a warning or check on the install to fix this in the future.
2) Server Name Change is not supported
In my rush to setup my new laptop I installed SQL Server BEFORE changing the computer name from its default. While DBEngine supports a name change via the sp_dropserver and sp_addserver procs, the PolyBase Service will just not start with an error message in the appliction log of “No such host is known”.
The only workaround we found was to uninstall and re-install the PolyBase Services – which actually doesn’t take that long.
I added a connect item to vote for a fix on this
3) Service Name Change needs CU
If you wanted to change the service account (Scale out PolyBase needs a domain account rather than the default network service account) then in the past this was an uninstall and re-install job to get the correct rights assigned to the account.
Now this is supported, but only if you have applied a newer CU