【转】SQL Server 数据库项目

SQL Server 数据库项目

转自 https://www.cnblogs.com/ylbtech/p/7818750.html

ylbtech-.NET Framework: SQL Server 数据库项目

SQL Server 数据库项目

类型:SQL Server

用于创建 SQL Server 数据库的项目

1. 新建“SQL Server 数据库项目”返回顶部

1-1、新建SQL Server 数据库项目,名称为“YlbTech.DataBase”

1-2、创建后

1-2-1、创建后数据库项目 1-2-2、项目右键-->添加-->添加项菜单 

 

 

 

  

1-2、项目右键,新建文件夹“Tables”

2. 在Tables文件夹上,新建 Categories 和 Products 表返回顶部

2-0、Categories表 和 Products表 SQL脚本

View Code

2-1、创建“Categories”表

2-1-2、新建“Categories表”后的界面

2-1-3、创建后的“Categories表”

2-1-3-1、Categories表创建后的生成的脚本

Categories SQL

2-2、

2-3、

3. 添加/删除约束返回顶部

3-1、 添加自增长标识

3-2、 添加主键

3-2-2、添加主键 3-2-3、删除主键 
 

3-3、 添加外键

3-3-1、添加外键

3-3-2、添加“CategoryID”外键关联Categories表的CategoryId列

3-4、 添加检查约束

3-4-1、添加检查约束

3-4-2、为“UnitsInOrder”添加检查约束,值应大于等于0

3-5、 添加默认值

3-6、 是否允许为空

3-7、

4. 列属性1返回顶部

4-1、

   

4-2、

5. 比较架构返回顶部

5-1、项目右键,选择“架构比较”

5-1-1、 SQL架构比较窗口

5-1-1-1、单机“选择目标...”出现窗口如下:

5-1-1-2、单机“选择连接...”出现窗口如下:

   
 

5-1-1-2-1、高级属性

   
 
   
  

5-1-3、数据库连接成功

5-2、 “比较”架构

 

5-3、“更新”架构

图-1 
 
图-2 
 

5-4、“更新”架构成功

5-4-1、查看预览

查看预览文件

5-4-2、查看脚本

复制代码

/*
NorthwindYlbTech 的部署脚本

此代码由工具生成。
如果重新生成此代码,则对此文件的更改可能导致
不正确的行为并将丢失。
*/

GO
SET ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER ON;

SET NUMERIC_ROUNDABORT OFF;


GO
:setvar DatabaseName "NorthwindYlbTech"
:setvar DefaultFilePrefix "NorthwindYlbTech"
:setvar DefaultDataPath "C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\"
:setvar DefaultLogPath "C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\"

GO
:on error exit
GO
/*
请检测 SQLCMD 模式,如果不支持 SQLCMD 模式,请禁用脚本执行。
要在启用 SQLCMD 模式后重新启用脚本,请执行:
SET NOEXEC OFF; 
*/
:setvar __IsSqlCmdEnabled "True"
GO
IF N'$(__IsSqlCmdEnabled)' NOT LIKE N'True'
    BEGIN
        PRINT N'要成功执行此脚本,必须启用 SQLCMD 模式。';
        SET NOEXEC ON;
    END


GO
USE [$(DatabaseName)];


GO
PRINT N'已跳过具有键 35cbb56d-7deb-4abd-887a-da543c0bbccd, 9e28fbb1-5bde-4095-86c3-3da83fdec94f 的重命名重构操作,不会将元素 [dbo].[Categories].[Id] (SqlSimpleColumn) 重命名为 CategoryId';


GO
PRINT N'正在创建 [dbo].[Categories]...';


GO
CREATE TABLE [dbo].[Categories] (
    [CategoryId]   INT           IDENTITY (1, 1) NOT NULL,
    [CategoryName] NVARCHAR (50) NULL,
    [Description]  NTEXT         NOT NULL,
    [Picture]      IMAGE         NOT NULL,
    CONSTRAINT [PK_Categories] PRIMARY KEY CLUSTERED ([CategoryId] ASC)
);


GO
PRINT N'正在创建 [dbo].[Categories].[CategoryId].[MS_Description]...';


GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'类别ID', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Categories', @level2type = N'COLUMN', @level2name = N'CategoryId';


GO
PRINT N'正在创建 [dbo].[Categories].[CategoryName].[MS_Description]...';


GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'类别名称', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Categories', @level2type = N'COLUMN', @level2name = N'CategoryName';


GO
PRINT N'正在创建 [dbo].[Categories].[Description].[MS_Description]...';


GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'秒杀', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Categories', @level2type = N'COLUMN', @level2name = N'Description';


GO
PRINT N'正在创建 [dbo].[Categories].[Picture].[MS_Description]...';


GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'图片', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Categories', @level2type = N'COLUMN', @level2name = N'Picture';


GO
-- 正在重构步骤以使用已部署的事务日志更新目标服务器

IF OBJECT_ID(N'dbo.__RefactorLog') IS NULL
BEGIN
    CREATE TABLE [dbo].[__RefactorLog] (OperationKey UNIQUEIDENTIFIER NOT NULL PRIMARY KEY)
    EXEC sp_addextendedproperty N'microsoft_database_tools_support', N'refactoring log', N'schema', N'dbo', N'table', N'__RefactorLog'
END
GO
IF NOT EXISTS (SELECT OperationKey FROM [dbo].[__RefactorLog] WHERE OperationKey = '35cbb56d-7deb-4abd-887a-da543c0bbccd')
INSERT INTO [dbo].[__RefactorLog] (OperationKey) values ('35cbb56d-7deb-4abd-887a-da543c0bbccd')
IF NOT EXISTS (SELECT OperationKey FROM [dbo].[__RefactorLog] WHERE OperationKey = '9e28fbb1-5bde-4095-86c3-3da83fdec94f')
INSERT INTO [dbo].[__RefactorLog] (OperationKey) values ('9e28fbb1-5bde-4095-86c3-3da83fdec94f')

GO

GO
PRINT N'更新完成。';


GO

复制代码

5-4-3、查看结果

复制代码

已跳过具有键 35cbb56d-7deb-4abd-887a-da543c0bbccd, 9e28fbb1-5bde-4095-86c3-3da83fdec94f 的重命名重构操作,不会将元素 [dbo].[Categories].[Id] (SqlSimpleColumn) 重命名为 CategoryId
正在创建 [dbo].[Categories]...
正在创建 [dbo].[Categories].[CategoryId].[MS_Description]...
正在创建 [dbo].[Categories].[CategoryName].[MS_Description]...
正在创建 [dbo].[Categories].[Description].[MS_Description]...
正在创建 [dbo].[Categories].[Picture].[MS_Description]...
更新完成。

复制代码

 5-5、

6.  导入-->脚本(*.sql)返回顶部

6-0、导入脚本文件

Import Sql

6-1、项目右键,导入-->脚本(*.sql)

 

6-1-1、导入 SQL 脚本文件-step1

 6-1-2、step2

6-1-3、step3

6-2、导入后的目录

6-3、

6-4、

6-5、

7. 从数据库向架构更新对象(表等)返回顶部

7-1、SQL Server项目数据库与数据库比较

7-2、SQL Server数据库与项目数据库比较

7-2-1、更新后的项目中,新增Employees.sql 文件

7-3、

8. 在项目中,新建表,然后用SQL脚本创建返回顶部

8-1、step1

8-2、step2

8-3、

9.返回顶部

 

10. 附件资料返回顶部

10-1、Products 表系统创建脚本

Products SQL

10-2、

11.返回顶部

11-1、MSDN

https://msdn.microsoft.com/zh-cn/library/hh272677

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值