get schema from .mdf database (sql server) - sql-server

I have a .mdf (and .ldf) file for a SQL Server (I think express) database. I want to just see/export the schema of the database, but would rather not install the full SQL Server just for this, as it is a bit heavy. Is there some tool that can give me the data or even just the schema, preferably small and no install?

Related

AdventureWorks 2014 database for SQLite

For university purpose I need to use AdventureWorks 2014 sample database. What I can download is a .bak file to use with SQL Server, but I'm using DataGrip with SQLite on MacBook. How can I convert it or get it to work with my setup?
If you are required to use the AdventureWorks database for your course, you will need access to an instance of SQL Server. There is no way around this. You can install Developer or Express edition in a Windows VM on your MacBook, dual-boot Windows via Boot Camp, get access to a server on-campus, or set up a VM on Azure or AWS with SQL Server on it and restore the database there.
There is no way to use a SQL Server database backup file with SQLite or any other RDBMS that isn't SQL Server. Further, I expect that if your course requires this database for the assignments, "converting" it to SQLite isn't going to do you any good because of the differences between the two RDBMSs - they use different dialects of SQL and have different features.

Database transfer between SQL Server 2000 and SQL Server 2008

I'm trying to help a client who's hosting company has decided to shutdown their hosting services and in that process I need to migrate an old ASP.Net site (DNN i think) to a new hosting company.
The old hosting company is running SQL Server 2000 and the new hosting company I'm attempting to copy it to has a 2008 version.
SQL Server Management Studio can connect to the old database ok but the Import/Export Data tool doesn't want to connect to this old system.
Is there anyway to easily transfer the database across?
Any tool you can recommend to backup a SQL 2000 db and restore it to a 2008 version or a migration tool that can converse between those two?
You should be able to just take a SQL Server database backup (using the built in backup features) from the SQL Server 2000 database, and restore it into SQL server 2008
http://msdn.microsoft.com/en-us/library/ms186858(v=sql.100).aspx
My suggestion to you is
Get the host to shut down the SQL Server
Get the host to provide you with the files or the backups
Install your own SQL Server 2000 and then run the migration. Or just plain estore the backup in SQL2008
You can also try to script database (schema + data): http://j.mp/NRb2EE and execute this script on new server. If database is large it can be huge script.
And remember to pay attention to the option Types of data to script – select option ‘Schema and data’.

Convert .sdf to .bak

I'm trying to publish a webproject MVC3 .NET with binero.se. The problem is that my database file is .sdf. And binero wants a .bak file.
Does anyone know how to solve this problem?
.sdf is the file format for SQL Server Compact Edition and that's quite a different beast from "real" SQL Server. .bak is the database backup format for a full-blown SQL Server.
The way to get from .sdf to .bak would be:
create a temporary database in a "full" SQL Server (Express, Standard, Enterprise) with the name of the .sdf file
using a tool like SQL Server Compacst data and schema scripting, export your table structure and data from the SQL Server CE file into "full" SQL Server
once you've created all tables and other DB objects and inserted all your data into the "full" SQL Server database, create a backup of that database to get your .bak file

Problem with importing an mdf created with SQL Server Express 2008 into SQL Server 2005

The question is probably extremely easy to resolve, but I need to resolve it because I need to carry on with my project. I am using SQL Server Express 2008 at home, and I've been working on an ASP.NET MVC app that stores my DB in an mdf file in the project's folder. The problem is that the SQL Server in the Uni labs is SQL Server 2005, and when I try to open the mdf file with the VS Server Explorer,It says that the version of the mdf file is more than the server can accept.
The only option that comes to my mind is exporting the DB as an sql file, just like I've done it thousand times with phpmyadmin. the thing is that the SQL Management Studio Express is not the most usable tool in the world, and for some strange reason all the articles I could find in Google were irrelevant. Please, help.
It is not possible to attach database created on SQL Server 2008 to SQL Server 2005. The other direction is possible.
Your only option is to script the database and data and run the scripts on SQL 2005. If you have used any of new features of the SQL Server 2008, you will have to rewrite the scripts.
I haven't used it much, but right click on database -> Tasks... -> Generate Scripts... / Export Data... / Import Data... should do the job right.
Google "Database Publishing Wizard", it's a tool from Microsoft to script an entire database, both schema and data.
you can script your db and its data. then run it on the target server to create a new db that is compatible with 2005 version.
Tools like Red-Gate SQL Compare and SQL Data Compare can compare a live database to e.g. a backup file, so you could compare your SQL Server 2005 database against the SQL Server 2008 Express backup file, and move data that way.
Or you could possibly generate INSERT statements for your tables that have changed data using a tool like this one here or this one here. These can generate INSERT scripts for your tables, which you can take along and run on your SQL Server 2005 target system.

Configure VS2008 to create SQL Server databases instead of SQL Server Express?

Probably asked and answered before, but difficult to search for.
In VS2008 when you right-click App_Data folder and create new database, it attempts to create a SQL Server Express database. Well I have SQL Server 2005 Standard installed and have thus uninstalled Express. How do I get VS2008 configured to know I want SQL Server databases (NOT Express) created?
SQL Server Express databases are SQL Server databases and vice-versa. While is true that the SQL Server 2008 database files format is different from SQL Server 2005 one, whthin the same version (2005, 2005 SP1, 2005 SP2, 2008 , 2008 SP1 etc etc) all SKUs (Express, Standard, Exnterprise etc) have all the same datbase format.
Yout Visual Studio tools are guiding you down the wrong path. You should not use the Solution Explorer to add a database to the App_Data folder. Instead you should use the Server Explorer tool (menu View/Server xplorer or press Ctrl+W,L) and connect to your SQL Server 2005 instance. Then use the Server Explorer tool to explore the database. To connect to the database from your solution, add a connection string to the web.config file.
While you can manage the database objects from the Server Explorer, thar is a horrible way to do it and will cause only pain on the long run. You should instead create deployment scripts with DDL statements and run those scripts when the solution is deployed. This way your database metadata is part of your source control and you can keep track of application database versions, see Version Control and your Database.

Resources