We have a lot of linked servers in our SQL Server 2012 instances. While browsing one of those linked servers, I noticed that a log-shipped database is unavailable there.
The database itself is "Standby / Read-Only."
Is it normal for log-shipped databases to be unavailable over linked servers, or is it more likely to be a permissions issue, or could it be something else? I want to query this database using a linked server query.
The cause of my problem is obviously a permission configuration with the linked server entry. I know this because I set up the same linked server on my local SQL Server instance--using my own login credentials--and was able to see the "Standby / Read-Only" database as I would've normally expected for a standard database. Clearly, then, there is something about the linked server setup on the other server that is restricting me from viewing one of the databases.
Related
I've inherited a linked server and would like to access the server and db\instance locally. I suspect the linked server isn't necessary and a better solution might be available.
Problem is there is no documentation on the Linked Server and the person that set it up has long since left.
My question is:
How can I find out the IP address, machine name, SQL db and instance name(s) from the linked server?
You can either use
EXEC sp_linkedservers
Or
SELECT * FROM sys.servers
To find more info on your current linked servers.
The error referencing MSDASQL suggests an issue with an ODBC (system) data source created on the server, so if you go to Control Panel->Administrative Tools-> Data Sources (ODBC) you might start finding your answers there.
Right click the linked server in management studio and generate a CREATE TO script and check the connection details.
I need to be able to connect to 3 remote databases simultaneously from my local SQL Server instance using SQL Server 2008 R2. Db1 and Db2 are both on Svr1 and Db3 is on Svr3. Each database requires a different login to gain access. I want to write a script that has simultaneous access to all 3 databases.
I gave up trying to create these using sp_addlinked server (despite successful use of this in past projects) because I simply could not get any of the connections working. I did manage to set up working linked servers for access to Db1 and Db3 on Svr1 and Svr3 respectively, no problem, using SSMS (right click on Linked Servers, New Linked Server). However, I don't know how to set up the linked server for db2 - it will not allow me to set up 2 linked servers with the same name (understandably). When I try to set up one using a name that does not map to a known SQL Server instance (and so use a data source or provider string to connect), it won't work.
Can I do what I want to do using the SSMS method? Or is there a way I can use the same linked server for Db1 and Db2 but use different logins somehow?
We recently moved a database from MS SQL Server 2000 to MS SQL Server 2008. Everything works as expected with our main .NET client application but we are having problems with a MS Access 2003 application which connects via ODBC. A System DSN is used to make the connection.
When the database was running on SQL Server 2000 the Access application would request a user name and password once when the program was first started. Now, with the database running on SQL Server 2008 a user name and password dialog is requested every time a different table is accessed I believe.
This behavior occurs when using either the user account we have used for years and it also occurs if I use the database system admin account ( I know this is bad practice, it was just a test. )
What do I need to reconfigure to return to the previous, desirable behavior where the user is only authenticated a single time?
You could look at using a "DSN-Less" connection to MS SQL, microsoft provide instructions here: http://support.microsoft.com/kb/892490
The relevant connection string can be found here: http://www.connectionstrings.com/sql-server-2008#p3
All this aside, JMK's question is important, the method above is for if you are having linked tables to the server present in your Access database, however when working with dedicated database server's I always advise using "ADO" connections rather than "DAO" as this will avail better performance (especially if you are running queries)
If it is just queries you need to run then consider either the ADO method or take a look at the "Pass through" queries option, this like ADO will have the server doing the work rather than the local machine and the performance will be greatly improved.
I am in the process of moving all our SharePoint DB's from a SQL 2005 server to a new 2008 server, and after moving the config database, everything seems ok, except when I click on "Timer Job Status" (under Central Admin > Operations > Global Configuration) I receive a "Unable to connect to database. Check database connection information and make sure the database server is running." error.
I get the following entries in the log regarding this:
12/03/2010
13:51:41.80
w3wp.exe
(0x09E0)
0x09AC
Windows SharePoint Services
General
8e2r
Medium
Possible mismatch
between the reported error with code =
0x8107053b and message: "Unable to
connect to database. Check database
connection information and make sure
the database server is running." and
the returned error with code
0x81020024.
12/03/2010
13:51:45.61
OWSTIMER.EXE
(0x0744)
0x0DD8
Windows SharePoint Services
Database
6f8e
Critical
SQL Database
'SP_Test_Config' on SQL Server
instance 'test-server' not found.
Additional error information from SQL
Server is included below. Cannot open
database "SP_Test_Config" requested by
the login. The login failed.
It should be noted that in order to ensure that it was no longer using the config database on the old server, I detached the original SP_Test_Config database in SQL Management Studio.
Obviously there are still references to the old SP_Test_Config database on the old 2005 server. How do I remove these references? Or, barring that, how do I move the config database in such a way that no references to the old 2005 server will remain?
Thank you in advance!
Not really an answer, but what we ended up doing (basically start from scratch using SQL Aliases):
First, create the SQL Server alias. This will make it so if you need to move the databases again in the future, you can just migrate all the databases to the new SQL Server, and change your SQL Server alias to point at that server. This should save you a lot of trouble and heartache in the future.
Run SQL Server Client Configuration Utility at: C:\Windows\System 32\cliconfig.exe.
Under the Alias tab, create a SQL Server Alias for the new SQL Server.
Now, recreate the farm.
Run stsadm -o preparetomove on all content DB's Backup all content DB's and copy to new SQL server
Remove all servers from farm using SharePoint Configuration Wizard
Recreate farm using SharePoint Configuration Wizard with the alias of the SQL Server you created above
Recreate all web apps with temp content DB's
Run stsadm -o deletecontentdb on all temp content databases created in step 4
Run stsadm -o addcontentdb using copied production databases as content database
Troubleshoot ad nauseum
I am working on a database application that runs on various independent servers.
Each server runs an Instance of SQL Server 2005 with the same database. We would have a Master Server where that would be the definitive source of information and various "Client" Servers that would be distributed around (with no network connection of any kind). This Client Servers would return from time to time (lets say once a week) to be synchronized with the Master. Simply put the process would be.
1) Update the database on the master server with all the modifications from a client server (taking into account not overwriting changes made by the update process of a different client server [that would update the same master server])
2) Copy an updated version of the master server database to the client server.
Thanks for any help
MS SQL Integration Services may help:
http://www.microsoft.com/sql/technologies/integration/default.mspx
Also check for database replication. Check the Master-Remote part too.