Linked servers and SQL Server 2005 on localhost - sql-server

Is it possible to run SQL Server 2005 on localhost, with a schema of it's own, and then use data from another remote server?
Can this be achieved with linked servers?
Im trying to set up a proper sandbox on localhost.

Linked servers should work for what you are trying to do.

Are you looking to connect in to more than one remote server for data?
If yes, I think the linked server option is an OK way to go. I say OK because you would probably do better to create a sandbox on one of the remote servers then create linked servers from it. It seems like a waste to setup SQL Server on your desktop/laptop. However, if space/permissions is an issue, you may not have a choice.
If it is only one server, why not create the sandbox on it and connect and work in it using SQL Management Studio. Although it is a weird path to setup the management studio without installing the full SQL server, you can do it. This way you won't have to actually log into the remote server (bad idea for a number of reasons).
If you do setup the linked servers, here are a couple of snags I ran in to that may help:
If the SQL server is an instanced setup use brackets when writing it out, e.g. [SERVERNAME/INSTANCE]
Use an alias when pulling from a table or view from the linked server because you can only have 4 parts in the naming convention, so, [servername/instance].database.dbo.table.field is 5 parts and will throw an error.

Related

Server Objects not available in SQL Server Management Studio

I spun up an Azure SQL Database and connected to it using SSMS in hopes of following this tutorial. When I look in Object Explorer, the only two folders I see are "Databases" and "Security"; there is no "Server Objects", and for the life of me, I cannot figure out why not.
Available Folders
Is it an Azure SQL Database thing? Thank you in advance for any help you can provide!
Azure SQL Database only allows database access. Server Objects is something you need access to the entire instance/server. If you want to use Azure, you'll need to spin up a VM and install SQL Server on there in order to follow this tutorial.
From the pictures in the tutorial it looks like they have SQL Server Express running on their local machine. If you can, try that route as it'll probably be cheaper and less hassle.

How to rename sql server 2012 instance name standalone server configuration

I have been searching for directions and steps to rename a named server instance of SQL Server 2012. I have a rare opportunity to rename both the computer name and instance of the SQL Server. I stepped into a situation where all of the naming conventions need to be revamped. I'm assuming because I have no linked jobs or connections that I should be worried about, this will be okay. I have read that this isn't possible and others who say to use the sp_dropserver, sp_addserver but that doesn't work. Syntax would be helpful. My names are as such:
{machinename}\{instancename}
{COLO-VSR=SQLDW}\{SQLBISERVER}
I want to change it to {COLO-VSR-SQLDW}{SQLDW}
The "safest" way to do this is to (this does assume that downtime is possible for you):
Take a backup of each database (or, if you're going to install exactly the same version of SQL Server, including Service Pack level, detaching the databases is probably safe
Take the old instance offline
Rename the machine, including rebooting as required
Install the new instance of SQL Server
Restore the databases to the new instance of SQL Server
Validate
7. Uninstall the old instance of SQL Server
SQL Server has never seemed to handle renaming of the server it's installed on particularly well, hence the suggestion of creating a new SQL Server instance after renaming the machine. This may be better with newer, e.g. SQL Server 2016, versions but I suspect that "rename machine" is a scenario that doesn't get a lot of engineering priority or resource.

Get List of network SQL servers back

I'm trying to figure out how to get back the list of SQL servers in my Visual Studios (2012, 2015) and even in MS SQL Server management studio... I've been searching for a solution but I'm lost. Is there any way to get these servers back? Everything is working properly, I can write server manually but I'm to lazy to ask my colleagues.
The SQL Server Browser service is running. There are no Windows updates to install and the computer has been rebooted many times.
Thank you for any advice.
The SQL Server Browser service is running
Do you mean on your computer? You'll need it running on the machines you are trying to get to appear in the list.
It's a pretty standard dialog - assuming that it uses the same technology as SSMS, according to MSDN:
This dialog is populated by the SQL Server Browser service on the
server computers. There are several reasons why the name of an
instance might not appear in the list:
The SQL Server Browser service might not be running on the computer running SQL Server.
UDP port 1434 might be blocked by a firewall.
The HideInstance flag might be set.

Azure Linked Server:

I understand that there are a few threads existing on this area, around a local server using Azure MSSQL as a linked DB.
My specific issue is the linked server appears, connects and I can view the databases but when trying to go deeper, as in see the tables I get the following error:
Reference to the database and/or server name in
'databasetable.sys.sp_tables_rowset2' is not supported in this version
of SQL Server. (Microsoft SQL Error, Error 40515).
I have tried any of the suggestions already mentioned via the other threads, and to no avail can I get any deeper than listing the databases on the Azure server from my local installation of SQL Server.
I experience the same issue when trying to do anything more than simple Select/Insert/update/delete/create Table/Drop table on my SQL Azure databases. It appears you cant do anything that touches the settings of SQL Server or any stored procs that touch system tables, perhaps because the SQL servers could be shared between multiple customers.
There are also documented areas where Azure SQL has limitations versus a local SQL Server.
We now have this capability using elastic database query, you need to follow two simple steps mentioned as:
Step-1: Create reference to external database
Step-2: Then create remote table reference in the target database
then you can execute remote queries just the way you do it with SQL Server.
Please refer for step by step details https://azure.microsoft.com/en-us/documentation/articles/sql-database-elastic-query-getting-started-vertical/

Access 2000 connecting to SQL Server 2005

The company I work for has an old Access 2000 application that was using a SQL Server 2000 back-end. We were tasked with moving the back-end to a SQL Server 2005 database on a new server. Unfortunately, the application was not functioning correctly while trying to do any inserts or updates. My research has found many forum posts that Access 2000 -> SQL 2005 is not supported by Microsoft, but I cannot find any Microsoft documentation to verify that.
Can anyone either link me to some official documentation, or has anyone used this setup and can confirm that this should be working and our problems lie somewhere else?
Not sure if it matters, but the app is an ADP compiled into an ADE.
I've had a similar problem before when using ODBC linked tables to connect to an Sql Server. The solution was to relink the tables and specify the primary key to the table. If Access doesn't know the primary key it cannot perform inserts or updates.
I haven't any experience with ADPs but it could be a similar thing, theres a knowledge base article about it here http://support.microsoft.com/?scid=kb%3Ben-us%3B235267&x=15&y=13
I'd say check the VBA in the Macros to see how it is doing it. It is probably using some form of VB connection to the Database in the back. I love the fact a Database is contacting a Database for it's data... :)
All I've read about Access 2000 -> SQL Server 2005 is that the upsizing wizard isn't supported.
If only the inserts and updates aren't functioning, it sounds like a permissions issue. Make sure the sql server login you are using in your connection string has read/write permission on your database.
Please avoid using the "sa" account for this purpose!
If only the inserts and updates aren't
functioning, it sounds like a
permissions issue. Make sure the sql
server login you are using in your
connection string has read/write
permission on your database.
Please avoid using the "sa" account
for this purpose!
We wanted to use a generic apps account but that login "could not find" any of the stored procedures even though they existed and the login has explicit permissions to run them (and was also tested successfully, as that user, in SQL Management Studio). It wasn't until we granted that login "sa" privileges that we could actually access the database at all through the application.
but have you tried setting the
compatibilty mode for the database to
sql server 2000.
I'm not really sure how this is done. Could you explain?
Also of note, if we upgrade the app to Access 2003, everything works fine. Unfortunately, our IT dept does not want to upgrade everyone from Office 2000 to 2003, so this is not an option.
Thanks for your help.
I'm not sure about that particular combination being supported, but have you tried setting the compatibilty mode for the database to sql server 2000. Maybe that will resolve your issues.
Edit: To do this run the following SQL:
EXEC sp_dbcmptlevel Name_of_your_database, 80;
More details here: http://blog.sqlauthority.com/2007/05/29/sql-server-2005-change-database-compatible-level-backward-compatibility/
but have you tried setting the
compatibilty mode for the database to
sql server 2000.
I just checked the 2005 database, I selected the database, and clicked Properties->Options, and it says the db is already in 2000 compatibility mode.
Access ADPs are very closely tied to SQL Server versions, and MS has done a really poor job of fixing and breaking ADPs in the 3 major versions that have been released (2000, 2002 and 2003).
If you are trying to use the compiled ADE, I'd suggest that first you find the original ADP and see if you can get it to work. You may need to do some work there before creating your ADE.
Caveat: I don't do ADPs, and am glad I made the decision not to, as Microsoft is now deprecating them in favor of MDB=>ODBC=>SQL Server.

Resources