When I install SQL Server 2008 R2, the Database Engine Services feature don't install due to the error "The Trust Relationship between the primary domain and the trusted domain failed."
For context, I'm trying to get into ASP.NET MVC3 and when I try to add/browse a database in Visual Studio 2010, I get errors saying that it can't connect to the SQL Express database, Error 40. When I run the SQL Server Configuration Manager, and select the SQL Server Services, I get "The remote procedure call failed [0x800706be]"
I did some research, regarding this error 40; I've tried, to run Server Configuration Manager as a Administrator, change the TCP/IP settings in Client Protocols to Enabled, and it still didn't work. I uninstalled SQL Server 2008 R2 and reinstalled it and found that the Database Engine Services and SQL Server Replication failed to install, with the error message "The Trust Relationship between the primary domain and the trusted domain failed."
Any ideas?
Delete EVERYTHING.
This is dedicated to anyone who thought like me and thought you could get rid of one or two things, and reinstall. Anything with SQL Server, delete it. Make that Add/Remove Programs as clean as possible before reinstalling the server.
Also, be sure to have administrative rights/run as Admin turned on. Otherwise you may have a SQLEXPRESS server running, but you can't access it (or because of my work computer) delete it due to a user rights issue that goes beyond the scope of Stack Overflow. :)
In that case, you should be able to install a new instance (I.E. SQLEXPRESS1). Just be sure to check your data connection strings. :)
Related
Using the basic SqlConnection code below, I have discovered that, at my workstation, I am unable to connect to our Sql Server 2017 deployment via ASP.NET C# code in any given type of Windows-based project, such as Winforms (.NET Framework or Core) or Console apps. However, this code will run without incident in any Web-based project, such as Web Forms or MVC, either using .NET Framework or Core.
protected void testConnection()
{
string con = "Server=MySqlServer;database=MyDatabase;Integrated Security=true";
using (SqlConnection cnn = new SqlConnection(con))
{
cnn.Open();
cnn.Close();
}
}
In a web project, this code runs. In a Windows project, I get this error:
System.Data.SqlClient.SqlException: 'A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)'
In investigating this problem, I have tried the following:
Explicitly declaring the domain on which my SQL server is found (eg. MySqlServer.domain.com). No good.
Explicitly declaring the SQL Server port number, according to the example shown on connectionstrings.com (eg. MySqlServer, 1433). We do use the standard port number, for the record. No good.
Changing the protection level of the test method (protected/private/public). No good.
Connecting to the SQL Server in PowerShell. This connection worked.
Pinging in the SQL Server in a command prompt. The server responded in 1ms consistently.
I have asked other users on this network to test this code in a Winforms project on their workstations. No one is able to reproduce my issue.
Consulted my sysadmin. He is so far not able to find any reason why I should be having this issue.
The only difference I have noticed in all of this is that, when I declare the port number, the Inner Exception returned with the error reads "Win32Exception: A non-recoverable error occurred during a database lookup". Otherwise, it simply reads "Access is Denied."
All of this tells me that the issue is obviously something peculiar to my workstation, but I have no idea what, apart from some firewall or other local security setting that the sysadmin neglected to check. Has anyone encountered this problem?
My VS 2019 installation is only one revision out of date as of this writing, 16.8.3 as opposed to 16.8.4. I am able to connect to and run TSQL code on any database I care to via SSMS. We connect using Windows Authentication. According to the results of "select ##version", our version of SQL Server is 2017, 14.0.3356.20 (x64).
Any insight is appreciated.
We fixed it by forcing Named Pipes to be enabled in SQL Server, as opposed to using the default setting.
I'm trying to connect to an SQL database hosted on Azure from a function app I'm building in Visual Studio but I'm getting the following error:
A network-related or instance-specific error occurred while
establishing a connection to SQL Server. The server was not found or
was not accessible. Verify that the instance name is correct and that
SQL Server is configured to allow remote connections. (provider: TCP
Provider, error: 0 - An attempt was made to access a socket in a way
forbidden by its access permissions.)
I can connect from the same PC using SSMS without a problem. I've tried connecting to the database using data connections in server explorer in VS but I'm getting the same error. If I connect to Azure with my account in server explorer it shows me a selection of services including SQL databases but there are none listed underneath although my account does have access to the database.
Are there any hidden gotchas I'm missing or settings within VS? I've also tried adding my client IP in the firewall settings but that didn't make a difference either.
After doing some more testing it turned out to be the client firewall that was blocking VS and VS Code from connecting to Azure SQL. It seems there was already an exception for SSMS.
The error message states "Verify that the instance name is correct"
It could be that the SSMS is automatically creating a fully qualified name once you say that it is an azure database.
If you use the short name from Visual Studio, then you cannot connect to the SQL server.
For example "myserver.database.windows.net" versus "myserver".
I have gone through every checklist I could find for configuring SQL Server I could find. I get the same issue on Windows Server 2008 and Windows 7 Pro. First the environment:
SQL Server Express 2012 --installed as main instance (i.e. no named instances)
IP access turned on
Firewall exception for SQLServer
SQL Server user for application access
Windows Server 2008 service pack 2 (also tested with Windows 7 service pack 1)
IIS 7 (also tested with 7.5 with the same results)
.NET 4.0
Our own database code integrated in a .NET MVC 3 application
We have a tool we developed to import data from the old Ruby on Rails app into the new ASP.NET MVC 3 app. The tool can connect to the database using the user account we created, and that's how I discovered some permissions issues for access to stored procedures. This is the tool we are using to verify the connection works.
Data Source=SERVER_IP,1433;Network Library=DBMSSOCN;Database=MYDB;User ID=webuser;Password=webpassword;multipleactiveresultsets=true;
We are using a straight IP address, but to protect our infrastructure I substituted the IP, username, and password. But this is the structure of the connection string we are using. Following the checklists, I was able to connect from another machine on our network using the import tool to the database and import data. I was also able to import data from the same machine that IIS is installed on.
The same connection string provides the dreaded Error 26 "can't find the database server" message on both Windows Server 2008 and Windows 7 Pro:
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
I have exhausted every resource I can find, and can't seem to get any closer to an answer. I'm not trying to mount file based database, IIS has read/write access to the web application in any case.
I've ruled out the firewall as a cause for the issue. I've tried the settings with the firewall on and completely turned off. There has to be some other permissions level problem that's happening. Problem is I have no idea what permissions level things I have to check.
After opening a ticket with Microsoft, it turns out I was my own worst enemy. The model classes were set up in their own DLL so I could use them for data migration and other supporting tools for the website.
The DLL was looking in the assembly config for the connection string, and if it wasn't found it would use a reasonable default. Problem is the web application never overrode the location from the Web.config file.
The application couldn't find it because I didn't install the database with the default settings.
I have a VS2010 DB Project migrated form VS2008 and a couple of schema comparisons created.
I get the following error:
Error 1 An error was received from SQL Server while attempting to reverse engineer elements of type Microsoft.Data.Schema.Sql.SchemaModel.ISqlUser: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
Error 2 ExecuteReader requires an open and available Connection. The connection's current state is closed.
I am using VS2010 Premium and SQL Server 20008 R2 on my dev machine.
My database is hosted on local instance of SQL server.
When I use the same schema comparision with a remote server and use the sa login it works. On my dev machine, I tried with sa login as well. but no luck!
Has anyone encountered such an issue and was able to resolve?
Well cracked it! (not sure if that is the solution, at least it now works for me)
The local databases I was using for schema comparison were restored from backups of production databases. The users in the databases will loose their SID (probably) with the ones mapped on the production server.
I simply deleted the database users and recreated them and the schema comparison started working again.
Hoping someone else has already encountered this and has a solution...
I'm trying to install the AppFabric Beta 1 caching service, on a virtual Windows Server 2008 (CacheServer1). My cache configuration information will be held in a SQL Server database on a separate server (SQLServer). As AppFabric only supports Integrated Security for SQL Server, both servers are in the same domain, and I'm installing using an account that has db_owner rights to my VelocityConfig database.
When I run the AppFabric installer and get to entering the connection string for my SQL server, I put in the server name, but when I click the combo box to get the list of databases from the server, it thinks for a minute and then I get a timeout error.
Both servers can ping each other, and I've created a .UDL file on CacheServer1 under the same user, which can connect successfully to SQLServer and retrieve a list of databases.
Can anyone suggest what I need to do to get the installer to succeed?
The solution I found to this was to install the SQL 2008 Client Connectivity bits on CacheServer1, once this was installed I could get a list of databases. Still can't get AppFabric to install successfully but that's another problem for another question I think...
To ensure that there is no network/DNS issues, can you try the following:
1. Use IP address instead of hostname.
2. Are you able to connect to sql server via sql server mgmt studio running on CacheServer1?