SQL Replication (subscriber) can't connect to publication - sql-server

I have 2 virtual machines, one with SQL Server 2008 R2 and another with SQL Server 2012 Express.
On 1 I have configuration for replication (publication), and I would like to setup Express version as a subscriber.
But I can't to connect to publisher
SQL Server replication requires the actual server name to make a
connection to the server. Specify the actual server name, 'XXXX'.
(Replication.Utilities)
I have tried to cheat and added XXXX server name to hosts file, but it doesn't help.
Additionally I used to run http://www.hagrin.com/332/fixing-sql-server-replication-requires-actual-server-name-make-connection-server-error action for setup publication in correct way
What I need to do for successful connection ?

Replication is very picky about the actual server name. At both the publisher and subscriber, run select ##servername to see what you should be using. My guess is that you've got a DNS alias for at least one of them.

Related

SQL Server Databases missing after installing SQL Server Express

I installed SQL Server 2017 Express as a named Instance alongside my default instance. After rebooting once - both were showing but the I could not connect to SQL Server Express remotely. I then followed the instructions to enable IP on SQL Express using configuration manager and rebooted. Now I can connect remotely but my default instance is showing NO databases!
Also in configuration manager, SQL Server Services does not show any of my instances so that I can check they are running (this was the care even prior to enabling the IP address on the protocol, and when I knew it definitely was running as I could connect to it)
--
Update:
I discovered if I launch SQL Server Configuration Manager 2016 rather than "SQL Server Configuration Manager" I can see all my servers.
SQL Server 2016 appears to be running as is SQL Server Express. There is also a "MSSQLServer" that is stopped - think this may be SQL Server 2012. Not sure at this stage which one had the databases.
Ok so for anyone in a similar situation / panic. Do the following.
Look to see what other SQL Server configuration mangers are showing up. If you have installed multiple versions over the years chances are you'll see more than one.
Try using one of the later ones. You can see the file path too if you need it here.
If you manage to see a list of your database servers, check which are enabled and disabled. I had to disable SQL Server (SQLExpress) first before I could enable SQL Server (MSSQLServer), which in my case referred to SQL Server 2012.
If you want to have SQL Server Express running as a named server running alongside your default server, make sure you assign it a different port number (e.g. 1435) in the SQL Server Network Configuration>Protocols for SQL Express>TCP/IPALL section in SQL Server configuration manager.

Changing Protocols affecting SQL Server connection

https://support.microsoft.com/en-us/help/3135244/tls-1.2-support-for-microsoft-sql-server
TLS1.1 and TLS1.2 are the only things I have enabled and I have disabled TSL 1.0 and SSL as seen below:
I have two instances of SQL Servers on my machine: A 2008 SQL Express R2 and a SQL 2014.
With those network settings I can still through SSMS connect to SQL 2014 but NOT to 2008 Express R2
So is that a known thing about SQL Servers? Can you explain what is happening?
The error says that the server was not found, I think you did not use the correct server name, that is, if you have 2 instances, one of them is the default(I think 2014), the other one is a named instance, and if you didn't change the name offered by istallation the instance
name is SQLExpress, so if you connect locally, you can use .\SQLExpress or localhost\SQLExpress or (local)\SQLExpress, if you connect remotely you should use yourCompName\SQLExpress and your SQL Server browser must be started (or you can use yourCompName,port_name instead and use no Browser)

Update Database on 2 Server

I want to make a Clone server Like Server A and Server B
Ex :
After I'm making update in Server A data then on Server B is Sync Automatically or Programatically with Server A. When update Stored Procedure on Server A the server B is Sync.
is it possible ?
I don't want an answer like Backup then Restore.
You can use SQL server replication.
More information you can refer
SQL Server Replication
An other option could be using Mirroring on SQL Server although it will not be continued on feature versions of SQL Server.
Please note that the secondary database is readonly copy of the principal database in mirroring.
If you have plans for versions after SQL Server 2016, you can think of using Always On Availability Groups

SQL Server Express usage with Pentaho (or any non-microsoft product)

I'm trying to connect a local SQL Server database to an ETL utility called Pentaho. Pentaho very easily connects to full versions of SQL server without issue.
I've set mixed mode authentication and created a sql server account for the sql server express instance that can be used to login through SSMS.
When I try to log in via Pentaho, I get errors about it not knowing what the server is, or the server not responding. I've tried {localhost, myip, localhost\SQLEXPRESS, myip\SQLEXPRESS, just SQLEXPRESS} as the server name (and SQLEXPRESS is the instance name).
I know I've had trouble connecting other programs to SQLEXPRESS databases in the past. Can someone tell me why it acts different than when using a full install of SQL Server and how I can get around these differences?
If SQL Server Express is on a different server, have you enabled TCP/IP protocol?

How to create instance in SQL Server 2008

I have SQL Server 2005 Express installed. Later I upgraded to SQL Server 2008. I don't know much about instances, but when I log into SQL Server 2005 and I log into SQL Server 2008 it is showing the same number of databases. Also, when I create a database in SQL Server 2008 it is showing it in SQL Server 2005.
Any Idea how can I create a separate SQL Server 2008 instance?
If possible please explain step by step.
Thanks
An instance of a SQL Server database is just a named installation of SQL Server. The first one you install on any given machine typically is the default instance, which has no specific name - you just connect to it using the (local) name or the name of the server machine.
SQL Server Express typically installs as a SQLExpress instance - so the instance is called SQLExpress, and you connect to it using (local)\SQLExpress or .\SQLExpress or MyServerMachine\SQLExpress.
SQL Server instances are totally independent of one another, and you can basically install as many as you like - you just have to make sure to use unique instance names for each. But when you run the SQL Server Installation again, it will show you what instances are already installed, and prompt you for a new instance name for a new installation. No harm done.
Run the install program again, and when prompted whether you want a default or a named instance, specify a named instance with a different name. A default instance make looks like this:
servername
A named instance looks like this:
servername\instancename
"you can basically install as many as you like"
There are limitations, like 50 in 2008.
http://technet.microsoft.com/en-us/library/aa174516(v=sql.80).aspx
Microsoft does not support more than 16 instances on a single computer or failover cluster.
There are a few more limitations.

Resources