How can I generate a script of my database as it is?

前端 未结 6 1554
孤街浪徒
孤街浪徒 2021-02-02 17:18

My primary reason for this is to keep track of database schema changes for my application. In SQL Server Management Studio I am able to generate a create script which creates t

相关标签:
6条回答
  • 2021-02-02 17:49

    Try Microsoft SQL Server Database Publishing Wizard. This is a powerful flexible tool for scripting schema / data rom SQL Server.

    0 讨论(0)
  • 2021-02-02 17:50

    Usually i make backups fom a database before start a new development on it.

    the best way is restore the backup when needed, i don't know how to get it by the script way!

    0 讨论(0)
  • 2021-02-02 17:53

    I wrote an open source command line utility named SchemaZen that does this. It's much faster than scripting from management studio and it's output is more version control friendly. It supports scripting both schema and data.

    To generate scripts run:

    schemazen.exe script --server localhost --database db --scriptDir c:\somedir

    Then to recreate the database from scripts run:

    schemazen.exe create --server localhost --database db --scriptDir c:\somedir
    0 讨论(0)
  • 2021-02-02 17:54

    You didn't mention which version of SQL Server, but in SQL 2008 this is very easy

    SQL 2008
    Expand Databases
    Right Click Database
    Choose Tasks > Generate Scripts
    Generate and Publish Dialog will open
    Choose your objects (i.e. Tables, procs, etc)
    Click Next On the Set Scripting
    Options choose Advanced Options
    Under General choose SCRIPT DROP AND CREATE - SCRIPT DROP AND CREATE
    Types of Data To Script - Schema and Data
    Close Advanced Window
    Choose to save to file.

    0 讨论(0)
  • 2021-02-02 17:56

    Watch out for difference in database collation. If you develop on a database with a case insensitive collation and try and run the SSMS generated scripts against as database with a case sensitive collation then errors in case will break the scripts.

    0 讨论(0)
  • 2021-02-02 18:03

    Personally I use Microsoft Visual Studio 2010 Database Project with a Source Control Repository (SVN) to track changes to the schema.

    0 讨论(0)
提交回复
热议问题