SQL Server 2008 R2 on Server 2012 R2 web site connection issue - sql-server-2008-r2

I have been using this connection string with no problem on a number of databases and MS operating systems. Windows Server 2003, 2008 R2 and 2012 R2 Eval, all Express versions.
I am now trying to deploy to a new Windows Server 2012 R2 installation and I am getting some errors. I have the SQL Server 2008 R2 installation on the Windows Server 2012 R2 machine.
My con string:
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\myDB.mdf;Integrated Security=True;User Instance=False" ProviderName="System.Data.SqlClient"
I think this must have something to do with the installation sequence of the components on the new server.
I have in the past been able to simply copy myDB.mdf to basically any web server and open or access the DB tables. This DB includes an ASP membership for the web site that it is tied to.
Here is the error:
CREATE DATABASE permission denied in database 'master'. An attempt to
attach an auto-named database for file
C:\inetpub\techTran\App_Data\myDB.mdf failed. A database with
the same name exists, or specified file cannot be opened, or it is
located on UNC share.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.SqlClient.SqlException: CREATE
DATABASE permission denied in database 'master'.
I thought I understood what this error was. I have checked permissions and they match the other servers where this database has been deployed. My SQL Server installations are basically all the same. The only difference here is that this is Windows Server 2012 R2 on a VM. Or I did not install the SQL Server 2008 R2 the same way I have done in the past 5 servers I have set up. (Which I am guessing is probably the case.)
UPDATE: Uninstalled and reinstalled SQL Server and SSMS.
I know there is only one database name on the server called myDB.mdf, so I don't believe the "same name" portion of error. I have added security to the db so that it can be opened and I even installed Visual Studio 2012 on the server to be certain that the db could be opened. I can run the full app on the localhost (server 2012) but I can not access it over a web connection.
I believe the specific error message relating to
CREATE DATABASE permission denied in database 'master'
is the issue.
I have never seen this error before.
I typically assign NETWORK SERVICE account to the database to allow access and this is how this one is set up as well. I also thought this might be a connection string issue. But this same string has worked on 4 different servers now with no changes. Server 2003, 2008 R2, and 2012 (demo platform)(all Express versions), now in production this is failing.
The home page loads and then the login throws the above error.

Your connection string says AttachDbFilename=|DataDirectory|\myDB.mdf. Well, your path must have changed in one place (SQL Server) and not the other (app configuration). AttachDbFilename will try to create a new DB if it can't find that file. That's probably your error.
As an aside, Windows Server 2003, Windows Server 2003 R2, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, and Windows Server 2012 R2 all have differences, especially with security and in particular with how SQL Server behaves, but you keep using them interchangeably. That makes it very confusing to tell what's going on. Also, your connection string says Data Source=.\SQLEXPRESS. Is this SQL Server Express? Because that has important differences with most other editions of SQL Server, too. More recent editions are very similar to Standard edition, but the older the edition, the more quirks it has. They're generally considered different beasts.

SOLVED: I am not sure how this happened or perhaps why it didn't happen. But for some reason the installation of SQL did not add the NETWORK SERVICE account to the sysadmin Server Role. I cross referenced this with the SERVER 2003 installation where SQL 2008 R2 is also running, and discovered that the sysadmin SQL Server Role included NETWORK SERVICE in my correctly functioning environment. So once I added the user account to this role, everything came up fine.
I believe this might have been an issue during the installation of SQL 2008 R2. I did specify NETWORK SERVICE, but for some reason it was not provided the role.

Related

MSDTC and Windows Server 2008 Error

I have an application server and a DB server, both with Windows Server 2008 R2 and SQL Server 2008 R2, I have a C# application installed and 2 databases (my application was developed using Framework 2.0), I use TransactionScope for Insert, Update and Delete, everything is fine when I execute any of those operations in just 1 db but the problem comes if I work with the 2 databases at the same time, I don't have this problem installing the application and the databases in the same Server. I already configured MSDTC in both servers but I can't solve this error, by the way, I have the firewall turned on, I don't know if this is causing me any conflict.
I hope you can help me.
Thank you so mucho and have a nice day/night.
PS: I appologize for my english.

SQL Server 2008 R2 cannot connect to database engine

I recently started developing ASP.NET windows application and web sites using Visual Studio 2010 and SQL Server 2008 R2.
Visual Studio 2010 seems to work fine but I got problem starting SQL Server 2008 R2.
When I open SQL Server Management Studio, the "Connect to Server" window opens and ask me Server Name. Authentication type is "Windows Authentication".
I googled it too much but still cant find suitable server name.
My default instance is SQLEXPRESS (I found it in SQL Server Configuration Manager).
I tried ., (local), 127.0.0.1, localhost, my machine name (i.e. MYName-PC/MyName) but I get error that cannot connect to (local) and so on...
When I conncect first time with (local) I got successful connection.
But from next day the error again occured.
When I use server name as ./SQLEXPRESS I got error that
The RPC server is not available
I tried using turn my firewall off still no success.
I am very frustrated at this moment because I am not able to find suitable server name.
Thank you for reading my post.
Hope someone will help me.
Thanks.

migrate existing biztalk server database from sql server 2008 R2 to sql server 2012

we are planning to move biztalk database from one place to another as well as upgrade the sql server.
the initial database is in sql server 2008 R2 and target is sql server 2012.
but the thing is that we have to set up database on another system,
i tried to search it on msdn but they are providing reference to upgrade from 2005 to 2008 , or moving database from one server to another.
do you think that will work in my case !!
i found this article.http://msdn.microsoft.com/en-us/library/ee378547%28v=bts.10%29.aspx
relating to upgrading as well as moving..
but this is quite older one.
how can i upgrade as well as move biztalk database from sql server 2008 R2 to sql server 2012 on a different system (side by side upgrade).
do i have to follow same steps as upgrading a normal database from sql server 2008R2 to sql server 2012 or some other one ??
As long as the SQL Server edition (2012 in your case) you are migrating to is supported by your BizTalk Server edition, you can follow the procedure to move BizTalk databases.
You can check the version compatibility here.

How to restore SQL SERVER MANAGEMENT STUDIO DATABASE to PC Server to SQLEXPRESS Server?

I am using SQL SERVER MANAGEMENT STUDIO 2008 R2. I have used my pc's name(For example, MY-PC) as a server name to make databases. Now how can I get the database I created in my pc's named server, when I select .\sqlexpress as a server.
The error it shows when I tried to restore in .\sqlexpress from .bak file:
Restore failed for Server 'MY-PC\SQLEXPRESS'. (Microsoft.SqlServer.SmoExtended)
Additional Information:
System.Data.SqlClient.SqlError: The database was backed up on a server running version 10.50.1600. That version is incompatible with this server, which is running version 10.00.2531. Either restore the database on a server that supports the backup, or use a backup that is compatible with this server. (Microsoft.SqlServer.Smo)
You can't restore the database in the above scenario - as per the error, the backup was taken on a SQL Server 2008R2 instance, and you are trying to restore it on a SQL Server 2008 instance - backup files are not backwards compatible.
You can see this from the error message:
10.50.1600 is SQL Server 2008 R2 RTM
10.00.2531 is SQL Server 2008 Service Pack 1
See the following Microsoft article for details on SQL Server version numbers:
http://support.microsoft.com/kb/321185

Creating a user without an associated login is not supported in SQL Server 2008 R2

When scripting a SQL Server 2000 database, on an SQL Server 2000 version of SQL Server, with SQL Server Management Studio 2008 R2 (10.50.1617.0) i get the error:
Creating a user without an associated login is not supported in SQL Server 2008 R2.
With the full stack trace:
Microsoft.SqlServer.Management.Smo.SmoException: Creating a user without an associated login is not supported in SQL Server 2008 R2.;
at Microsoft.SqlServer.Management.SqlScriptPublish.GeneratePublishPage.worker_DoWork(Object sender, DoWorkEventArgs e) at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
What is a good way to resolve this issue.
i've considered:
creating a login (and incur the wrath high atop the thing)
deleting the user (and incur the wrath from high atop the place)
select some rather than all objects to script, and don't script the user that offends SQL Server 2008 R2
But i'll let people on SO post answers, get answers upvoted, and accept an answer that best solves the problem.
As instructed. Just don't script the database users that have no associated login. You can do this in the Tasks > Generate Scripts wizard (pointing 2008 or later SSMS at your 2000 instance) by choosing to select specific database objects and unchecking any troublesome users:
I suspect that your SQL Server 2000 database has user aliases: these were required in SQL Server 6.5 in some circumstances because it was, er, crap,
Note what MSDN says:
sp_addalias is provided for backward compatibility. Microsoft® SQL Server™ version 7.0 provides roles and the ability to grant permissions to roles as an alternative to using aliases.
Run sp_helpuser on the SQL Server 2000 box and review the output and remove them