use*_*527 34 sql-server iis schema
在MS SQL Server 2008 R2中,如何基于旧数据库的模式创建新数据库,但不复制任何数据?我正在使用SQL Server管理工作室.
cod*_*ger 49
右键单击数据库并选择Tasks- > Generate Scripts.
然后,您可以选择所需的所有对象或仅选择某些对象.
您应该查看一些脚本选项:
您可以将它们创建到新的查询窗口或将它们保存到SQL文件.
创建此脚本是为了更容易在非常不同的数据库模式之间练习主要网站的数据库迁移.该脚本将执行以下任务:
您可能希望使用备份对话框从SSMS中获取此代码.单击带圆圈的图标以获取特定方案的脚本.

USE MASTER在删除目标数据库之前,请不要忘记包含该命令.如果在单个SSMS会话中第二次运行此脚本,如果不包含此命令,则会出现致命错误.我们DROP DATABASE在这里也使用它不仅删除过时的TargetDB,还删除它的文件(注意,DB必须是"活动的"才能工作)
您可能希望使用SSMS对话框为您生成此初始还原脚本,类似于您对备份的第1部分所执行的操作.
不要在这里使用Truncate - 如果你有外键它将无法工作
----------------------------------------------------------------------------------------
-- CREATE AN EMPTY COPY OF DATABASE
----------------------------------------------------------------------------------------
/* PART 1: Backup the good database */
BACKUP DATABASE [OriginalDB]
TO DISK = N'd:\backup.bak' WITH NOFORMAT, INIT,
NAME = N'OriginalDB-Full Database Backup', SKIP,
NOREWIND, NOUNLOAD, STATS = 33
GO
/* PART 2: If your destination database already exists, drop it */
USE master -- Make sure to include this -- it allows you to reuse script in same SSMS session
DROP DATABASE [migration]
/* PART 3: Restore the backup to the new location */
RESTORE DATABASE [TargetDB]
FROM DISK = N'D:\backup.bak' WITH FILE = 1,
MOVE N'OriginalDB' TO N'D:\sql data\TargetDB.mdf',
MOVE N'OriginalDB' TO N'C:\SQL Data\TargetDB_1.ldf',
NOUNLOAD, STATS = 33
GO
/* PART 4: Delete all tables' data in the migration testing target */
PRINT N'Clearing [TargetDB]'
USE [TargetDB]
EXEC sp_msforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all" -- disable all constraints
EXEC sp_MSForEachTable "DELETE FROM ?" -- delete data in all tables
exec sp_msforeachtable "ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all" -- enable all constraints
----------------------------------------------------------------------------------------
-- BLANK DATABASE COPY CREATED, READY FOR TESTING
----------------------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
60458 次 |
| 最近记录: |