I've created a new DB on my local PC in SQL Server 2012 Express (also installed locally), through Visual Studio's SQL Server Object Explorer window. I don't really know anything about SQL Server but I can see that .MDF and .LDF files are created.
I want to add a connection to this DB through "add Data Source" but if I try to connect using the DB name, I get this error:
And if I try to connect by selecting the MDF file I get this error:
How VS and SQL Server are interacting is not clear to me - is it telling me I cannot open the .MDF file because it's already open by SQL Server? Should I even be connecting to the file, or to the DB name?
I think SQL Server is actually running since the DB shows up in VS but as I'm new to it, I'm not certain... here's what the Configuration tool shows:
Related
Me
An SQL newbie
My tools
VS Community 2017 v15.9.3 / C#
SQL Server 14.0.2002.14
SSMS 14.0...
What I want to do
I have a file, you say mydatabase.mdb, I am trying to create a connection to the database on SQL Server to access to it.
The database is not actually attached to SQL server, so I try to create my connection and attach it (correct?) using Server Explorer window on VS. I right click on "data connection" then choose "add connection"; in the "add connection dialog" I select the datasource "Database file of Microsoft SQL Server" and I give it the pathname of my file. Finally I hit "Test Connection".
The problem
On "Test Connection" I got this message:
The database 'mydatabase.mdb'cannot be opened because it is version 869. This server support version 852 and earlier.
Could not open new database 'mydatabase.mdb', CREATE DATABASE is aborted.
An attempt to attach an auto-named database for file 'mydatabase.mdb' failed. A database with the same name exists, or specified file cannot be open or it is located on UNC share
My attempts
I connected the databse to SSMS. When I asked DB version to SSMS, I got: SQL Server 2016 (130). It is not congruent with MS error report. Anyway I changed database version to 2014, then I detached it from server and try again: same result.
Last note: if I create my connection on attached (by SSMS) database, and specifing directly the SQL server (not the file) as datasource, it seems to work. I could use this way, but I'd like to know the cause of the problem.
Can anyone help me?
You may have installed VS 2012, but you are using a SQL 2008 instance: Visual studio does not install SQL for you.
SQL Server 2008 databases are version 655. SQL Server 2008 R2 databases are 661. You are trying to attach an 2008 R2 database to an 2008 instance and this is not supported.
You need to upgrade your SQL instance to at least 2008R2 to open the file (but be aware that if you subsequently attach your existing DBs to the new instance, you won't be able to open then in SQL 2008 again either)
Your SQL Server version (the server that reported the error) is 2016, that is, it supports db version 852 and earlier.
The database that you try to attach is of version 869, this means it was created on SQL Server 2017.
You cannot attach it to an earlier version of SQL Server, so you need to upgrade your server to 2017 or install another instance of SQL Server, SQL Server 2017.
P.S. You CANNOT downgrade database version, i.e. when you said
I changed database version to 2014
it is not true.
Maybe you just change the compatibility level of database, but it's version is still 869.
Compatibility level means a version of cardinality estimator to use + some features, it has nothing to do with database version that refers to physical file format. Database version cannot be downgraded, only upgraded.
P.P.S.
I connected the databse to SSMS
You cannot "connect database to SSMS", you are connecting to server, and the database is also attached to server. And if you were able to attach this database to SQL Server, this means you have SQL Server 2017 already installed.
P.P.P.S. To detect your SQL Server version you shopuld execute this code: select ##version (from SSMS). It seems that you have at least 2 servers, 2016 and 2017 on your pc. You can verify this by opening SQL Server Configuration Manager, or you can use Windows Services to determine how many instances you have and what are their names. Then all you should do is to use the correct instance.
Here is the picture of my SQL Server instances, you can verify your instances by launching services.msc on your pc.
In Visual Studio, I have a database file connected to local db. However I need to make a dump file (.bak) of this database in order to bring it online on my provider that accepts only such files.
From the "Explore Objects of SQL Server" window in VS I find no option to do that.
I have such option in SQL Server Management Studio, but I am not able to make it see my database. How can I move the database to SQL Server Management Studio in order to make the dump file? Or is there any other option?
hi i am not able to create ssis catalog in my management studio?
it is showing this error....
The catalog backup file 'C:\Program Files\Microsoft SQL Server\110\DTS\Binn\SSISDBBackup.bak' could not be accessed. Make sure the database file exists, and the SQL Server service account is able to access it. (Microsoft.SqlServer.IntegrationServices.Common.ObjectModel)
I have the same issue. Trying to google my way through it. Things I have noted in answers from other sites:
Integration Services has to be part of your SQL Server install
(update the product and add if missing, this will add the file)
Version of SQL Server Management Studio and SQL Server engine need to match
File may be in the wrong location, find it and copy it into where SQL Server is looking for it.
Run SQL Server Management Studio as Administrator to avoid permissions issues
My solution was that I was attempting to create the SSIS DB on a remote server and not the server I was logged into. Once I attempted on the local server it worked fine.
I am trying to create a database in Visual Studio 2015 MVC setup. When I create a new file in the "App_Data" folder and select SQL Server Database, a popup comes up that says the following:
"Connections to SQL Server database files (.mdf) require LocalDB or
SQL Server Express to be installed and running on the local computer.
You may need to modify the setup and ensure Microsoft SQL Server Data
Tools is selected."
I have already installed SQL Express in my computer. But Visual Studio still shows the same popup. Can anyone please give me a step by step instruction on how to create a DB through Visual Studio 2015?
(My thought was if I clicked on new file->SQL server Database, then a popup would launch allowing me to input my data and name it. But I obviously am unable to do that).
Make sure that SQL Server is up and running. Open up SQL Server Management Studios (installed with SQL Server) and try and connect to the instance that you created (should be the same as your machine name). If it fails to connect, SQL Server might not be running.
To turn it on, open SQL Server Configuration Manager (just do a search and it'll show up), go to SQL Server Services, and turn on the database engine. You should then be able to connect to the database.
I am trying to generate script for my sql local database created using visual studio 2010. When i open sql server manager and connect to localhost or SQLEXPRESS the database created does not seem to appear.
After you generated your .mdf with Visual Studio - did you attach it to your SQL Server instance??
In VS, you can setup stand-alone .mdf files which are not automatically visible inside SQL Server Management Studio. Those are typically referenced by your application using a connection string that contains
AttachDbFileName=(path)\Mydatabase.mdf;User Instance=true
If you have such an .mdf database - you need to first attach it to your SQL Server instance before you see it in SQL Server Management Studio.