Clone SQL Server Database without using a backup - sql-server

Is there any way to create a copy of one database with data but not using a backup file?
I tried DBCC CLONEDATABASE but is not copying the data. I'm using SQL Server 2014
I want to do it using an script without using any wizard.

1) Create your Database.
2) Generate the Schema Scripts of the Source Database
2.1) Right Click your source DatabseName > Generate Scripts.
2.2) Select "Script specific database objects", Select all Checked-boxes
2.3) Select "Save to new query window"
2.4) You will now see the scripts to create all the schemas, Where it say USE
[DatabseName] change that to your new Database.
3) Now for the Data, you do the same above but with a few changes.
You could do the data and Schema together, but I prefer to do it individually,
especially if you have large databases.
3.1) Right Click your source DatabseName > Generate Scripts.
3.2) Click on "Advanced"
3.3) Scroll down to "Types of data to script" and select "Data Only"
3.4) Select "Save to new query window"
3.5) You see all the data in a SQL script, again change the "USE [DatabseName]"
to your new Database.

Related

How can i get script for existing database?

My problem is that i need to provide script for creating my database to my teacher. I have created it but i didnt save anything. May i somehoves get a script for creating database and all tables which are in it, if i have this base on my sql server?
base
It depends on your IDE and DB, but it's about the similar actions for all cases. For example:
SSMS - Object Explorer -> Databases -> Tasks -> Generate Scripts -> Script all objects in the selected database -> Next
DataGrip - right click on DB -> SQL scripts -> Generate DDL...
In any case, this can be done using any IDE, and you can select parameters in the settings (create only a structure or additionally add data from tables to the script, etc.)
a1. Right-click on the Database you want to export
a2. Select "Tasks / Generate Scripts..."
This will open the "Generate and Publish Scripts" wizard.
On the "Choose Objects" tab:
b1. Pick all your database tables
b2. Select "Single File"
b3. Click Advanced Options and select "Table/View Options" / "Script Indexes"

SQL server convert entire table to a script?

I want to create my ENTIRE table as a script - columns, constraints, rows etc. as a script in SQL server management studio. How do I do this ?
Right click on the database in your Object Explorer. Go to Tasks > Generate Scripts.
Choose "Select specified objects" and expand tables and select the table you want. On the "Set Script Options" page, click advanced and make sure you have all your table related stuff set to true. There is also a field in Advanced called "Types of data to script" - set that to "Schema and Data" to include INSERT statements.
Note: I'm referencing Management Studio 2012 for SQL Standard. I assume it's the same for 2008, but I could be wrong...

Best (easiest) way to make a SQL Server dump and import that dump in another SQL Server

I would like to achieve a database export (dump) in SQL Server from one server and import that dump in another SQL Server and not necessarily in the same schema name.
For example if I have a database prepared with all the data set for implement a new DB for a new customer, that db is for example named DB_EMPTY
And then I have to setup the same DB on some external server for a customer for example in the schema DB_MY_CUSTOMER
What is the best/simplest way to export (dump) a DB_EMPTY, and import it in DB_MY_CUSTOMER?
Possibly with SQL Server Management Studio?
An easy way would be to use SQL Server Management Studio, in the Object Explorer right click on the database you want to export, select Tasks -> Back Up, then select a destination and file name in the Destination box at the bottom of the dialog. You can play around with the various settings, but you don't need to.
To restore it on another server is basically the opposite, choose Tasks -> Restore -> Database, in the dialog select From Device, then click the browse ellipsis, from there you get a browse dialog, click Add and then navigate to the back up file you created. You can change the databse name in the To database textbox, and control where the files get stored by going to the Options tab and altering the Restore As column entries in the table labelled as Restore the database files as:.
Just in case someone is ending here and noticing "Tasks -> Back up" option does not exists; on recent versions of SSMS ( v18 for example ), you'll need to use "Generate scripts" option and then on "Advanced" select "Schema and Data" on "Types of data to script".
Credits to: http://statmap.co.uk/?page_id=9207
This is called replication : http://databases.about.com/od/sqlserver/ht/distribution.htm
Try to look to the snapshot replication. It is configurable to determine the destination database.

Is there some way for me to generate SQL Scripts from an already existing database?

Say I already created my database but forgot to save the sql commands do create it.
How could I reverse engineer the code from an already existing database?
I'm using Microsoft SQL Server Express 2008.
You can do this pretty easily by using SQL Server Management Studio (SSMS) - it's available for free if you don't already have it installed.
Connect to the database
Expand out Databases > YourDataBaseName.
Right-click on the database and select the option "Script database as" then "Create To" then finally "File".
That will create the necessary scripts to recreate your database.
To script out all the tables in your database:
Right-click on the database node
Select "Tasks" then "Generate Scripts".
When the wizard appears, click Next.
Select the database. At this point you can check the "Script all objects in the selected database" which does exactly what it says, or if you leave it unchecked you will get the option later in the process to pick which items are scripted.
Click next. Now you're given some scripting options.
I'd suggest scrolling down the list and checking the option to Script Indexes/Script Triggers. You can also script the data if necessary (though I wouldn't do this if you've got a lot of data in your database).
Modify any options you'd like and click Next.
Select the database types you'd like to script (Users/Tables/Views). Click Next.
Now you've got the opportunity to select more specific items. Hit Next and repeat the process of any of your other database types.
Hit next one more time, then select where you'd like the script written to. You get the chance to review your selections.
Click Finish.
Here's a link for the 2008 version SSMS Express 2008
Your RDBMS comes with some sort of "dump" tool that will give you the structure and content of your database, in the form of SQL statements.
As others have mentioned, if you have SQL Management Studio (you should, it's free as part of SQL Server Express). Fire it up, connect to your instance then expand the Database tree.
Right click on your database and select Tasks->Generate Scripts..
Click next, then Next again (which selects all objects in the database by default), pick an output option (defaults as "Save to File"), click next and voila!
If you also want to script the data as well as the schema, in the "Set Scripting Options" window, click on the Advanced button, scroll down to "Types of data to script" (just above the Table/View Options header) and select "schema and data".
[Edit] Tested - The Generate Scripts option exists and works in the (free) 2008 R2 edition of SSMS. See the link in my comment below for the URI for the R2 version.

SQL Server: how do I export entire database?

I need to export database from one server and import it into another server.
How do I export the entire database to a file, or two files mdf, ldf (either option is fine)
How do I import it into a new server using ssms?
In the instructinos frmo ponies, it says:
In the To a point in time text box,
either retain the default (Most recent
possible) or select a specific date
and time by clicking the browse
button, which opens the Point in Time
Restore dialog box. For more
information, see How to: Restore to a
Point in Time (SQL Server Management
Studio).
To specify the source and location of the backup sets to restore, click
one of the following options:
From database
Enter a database name in the list box.
I am unable to type anything in restore
https://stackoverflow.com/questions/3241108/i-backed-up-the-database-in-ssms-sql-server-how-do-i-restore-it
Using SQL Server Management Studio, you use Backup/Restore feature. The Restore process is laid out in the MSDN documentation. And here's the MSDN article for backing up a database...
Obviously, you restore to another SQL Server database instance (a "database instance" can contain multiple databases.). The version of the instance can be newer than the version the backup came from - the compatibility level will just be set accordingly.
If you want to generate a .sql file:
right click on the database in SQL Server Management Studio
select Tasks->Generate Scripts... .
In the dialog that pops up, Select All on the screen that says "Select database objects to script"
The generated .sql file can be opened again in SQL Server Management Studio and be run. If the .sql file is very large, see How do you import a large MS SQL .sql file?
If you want to export / save all data of a database into a .sql file, do this:
Right click on the database in SQL Server Management Studio
Tasks -> Generate Scripts
Script entire database and all database objects
Next
Click - Advanced
Scroll down to Types of data to script and set from Schema only -> Schema and data -> Ok
Save as script file (name it and save it where you want it)
Next
Next
Done ✔️
You can open the file now and see that all values are also included now
The best way to do this is to backup the database. This will backup to one file. Then take that file to your new server and do a restore. This should restore everything, from tables to stored procedures to foreign keys and all the data.
Also, if you just want to move a database to a new server, Detach/Attach is a quicker option. Backup/Restore is what you want if you want to keep the original database in place.

Resources