I must be missing something here but I can't get ArcCatalog to connect to SQL Server.
Here's my setup (all fresh installs) -
- Database VM
- Windows Server 2008 R2 x64 (not on a domain)
- SQL Server 2008 R2
- ArcGIS Desktop 10.3
- Client VM
- Windows 7 x64
- ArcGIS Desktop 10.3
- SQL Server 2008 R2 Native client x64
I've tried to run the Create Enterprise GeoDatabase tool and use Add Database Connection to connect and both fail with error "Failure to access the DBMS Server".
I have SQL Server setup for mixed mode authentication. I created a database account with the sysadmin role. I can connect on the database VM with windows authentication using SQL Server Management Studio and using the "admin" account with database authentication. On the client VM I can also connect with SQL Server Management Studio using database authentication. So I think SQL Server is OK... I installed SQL Server with all features enabled.
Here is the python snippet of what I'm trying to connect with on the database VM -
arcpy.CreateEnterpriseGeodatabase_management(database_platform="SQL_Server", instance_name="localhost/MSSQLSERVER", database_name="sde", account_authentication="OPERATING_SYSTEM_AUTH", database_admin="sa", database_admin_password="#", sde_schema="SDE_SCHEMA", gdb_admin_name="sde", gdb_admin_password="*****", tablespace_name="", authorization_file="C:/Program Files (x86)/ESRI/License10.3/sysgen/keycodes")
So what's wrong here? The error from ArcGIS is not helpful.
Solved! Go to Solution.
I figured it out, for the instance field I just had to use localhost (when running on ArcCatalog installed on the server).
So for the instance field instead of localhost\MSSQLSERVER just use localhost. This is stupid, but I hope it helps someone else
arcpy.CreateEnterpriseGeodatabase_management(database_platform="SQL_Server", instance_name="localhost", database_name="sde", account_authentication="DATABASE_AUTH", database_admin="admin", database_admin_password="*****", sde_schema="SDE_SCHEMA", gdb_admin_name="sde", gdb_admin_password="*****", tablespace_name="", authorization_file="C:/Program Files (x86)/ESRI/License10.3/sysgen/keycodes")
Executing: CreateEnterpriseGeodatabase SQL_Server localhost sde DATABASE_AUTH admin ***** SDE_SCHEMA sde ***** # "C:\Program Files (x86)\ESRI\License10.3\sysgen\keycodes"
Start Time: Sat Feb 28 14:00:38 2015
User has privileges required to create database objects.
Database created.
Geodatabase admin user created.
Validated authorization file.
User has required privileges for geodatabase setup.
XML support is enabled for the database instance.
Created geodatabase tables and stored procedures.
Finished creating geodatabase schema.
Succeeded at Sat Feb 28 14:00:43 2015 (Elapsed Time: 5.63 seconds)
Andy,
I had a similar problem. I had to install the 32 bit native client.
Regards,
Tom
No, the Native Client should depend on the OS Bit level.
If your OS is 64-bit...install 64-bit Native Client
If OS is 32-Bit....install 32-bit Native Client
He is able to install 64-Bit clients indicates that both the machines have 64-Bit OS installed.
You are correct sir. I have had to reinstall a new sql server client for any 10.3 machine.
Regards,
Tom
Where are you running the 'Create Enterprise Geodatabase' tool? On the database server or Client server?
You used "localhost/MSSQLSERVER" as your instance name. I think it should rather be "localhost\MSSQLSERVER" ( \ instead of / )
I tried it locally on the database VM with SQL server installed and remotely using <IP>\instancename. I have ArcGIS desktop 10.3 installed on both.
when I do local using the create enterprise geodatabase tool I do localhost\instancename, but when I copy that geoprocessing result as a python snippet it changes the slash to /.
The error is always "Failure to access the DBMS Server" ?
Yea this is all I get -
Executing: CreateEnterpriseGeodatabase SQL_Server localhost\MSSQLSERVER sde DATABASE_AUTH admin ***** SDE_SCHEMA sde ***** # "C:\Program Files (x86)\ESRI\License10.3\sysgen\keycodes"
Start Time: Sat Feb 28 13:54:14 2015
Failure to access the DBMS server
Failed to execute (CreateEnterpriseGeodatabase).
Failed at Sat Feb 28 13:54:29 2015 (Elapsed Time: 15.07 seconds)
I figured it out, for the instance field I just had to use localhost (when running on ArcCatalog installed on the server).
So for the instance field instead of localhost\MSSQLSERVER just use localhost. This is stupid, but I hope it helps someone else
arcpy.CreateEnterpriseGeodatabase_management(database_platform="SQL_Server", instance_name="localhost", database_name="sde", account_authentication="DATABASE_AUTH", database_admin="admin", database_admin_password="*****", sde_schema="SDE_SCHEMA", gdb_admin_name="sde", gdb_admin_password="*****", tablespace_name="", authorization_file="C:/Program Files (x86)/ESRI/License10.3/sysgen/keycodes")
Executing: CreateEnterpriseGeodatabase SQL_Server localhost sde DATABASE_AUTH admin ***** SDE_SCHEMA sde ***** # "C:\Program Files (x86)\ESRI\License10.3\sysgen\keycodes"
Start Time: Sat Feb 28 14:00:38 2015
User has privileges required to create database objects.
Database created.
Geodatabase admin user created.
Validated authorization file.
User has required privileges for geodatabase setup.
XML support is enabled for the database instance.
Created geodatabase tables and stored procedures.
Finished creating geodatabase schema.
Succeeded at Sat Feb 28 14:00:43 2015 (Elapsed Time: 5.63 seconds)
2019 and switching the instance name to just localhost saved my bacon.