SQL Server è piuttosto subdolo per quanto riguarda le istanze.
Se la porta standard di SQL Server è configurata per connettersi automaticamente ad una particolare istanza di database, allora il NomeIstanza non deve essere specificato (attenzione: non è "facoltativo" è propio obbligatorio non metterla!).

Di conseguenza, se la porta standard di SQL Server è configurata per agganciare automaticamente un'istanza di database, la connection-string va fatta in questo modo:

codice:
jdbc:sqlserver://NomeServer;databaseName=DbName;user=MyUsername;password=MyPassword
Non chiedermi perchè... Microsoft ha le sue paturnie.

Al contrario, se sono configurate più porte diverse per la connessione a SQL Server, allora (e qui è logico) l'istanza va obbligatoriamente specificata... e, chiaramente, il sistema controllerà che la porta specificata sia abilitata per accogliere connessioni verso quell'istanza.


Ciao.