如何创建一个以正确顺序创建完整数据库模式的脚本?

时间:2017-10-24 13:53:31

标签: sql-server database sql-server-2008-r2

我想编写一个完整的SQL Server数据库(表,视图,函数,过程和用户​​)。

我尝试了"生成脚本"管理工作室的功能,但它创建了错误顺序的对象,我希望创建顺序有意义,例如这个创建顺序对于简约的4个表格数据库是有意义的:

CREATE TABLE ORDER_LINES
CREATE TABLE SUPPLIERS
CREATE TABLE ORDERS
CREATE TABLE USERS

是否至少有一种方法可以按依赖顺序列出所有数据库对象(从最少依赖到最依赖)?

我想要实现的是在不使用备份文件的情况下在同一服务器实例上制作数据库的副本。

由于

1 个答案:

答案 0 :(得分:0)

您可以使用sp_detach_db'DatabaseName',然后复制并粘贴文件(数据和日志文件mdf和ldf),然后重新附加它。

然后可以使用复制的文件重新附加其他名称:

CREATE DATABASE MyAdventureWorks   
    ON (FILENAME = 'C:\MySQLServer\AdventureWorks_Data.mdf'),   
    (FILENAME = 'C:\MySQLServer\AdventureWorks_Log.ldf')   
    FOR ATTACH;  

https://docs.microsoft.com/en-us/sql/relational-databases/databases/attach-a-database