目录

1.数据库的创建:

2.数据库的修改

3.数据库的分离

4.数据库的附加

5.数据库备份

6.数据库还原


1.数据库的创建:

--SCT为要创建的数据库名称
create database SCT
on primary
(name='student1',--主数据文件的逻辑名filename='C:\SCT\DATA\student1.mdf',//数据文件的存储路径size=10MB,--初始大小filegrowth=10%,--每次增容时增加的容量大小maxsize=100MB--主文件的最大增长值,unlimited是无限制
),(name='student2',--辅助数据文件filename='C:\SCT\DATA\student2.mdf',size=20MB,filegrowth=10MB,maxsize=200MB
)
log on(name='studentlog1',filename='C:\SCT\LOG\studentlog1.ldf',size=30MB,filegrowth=2MB,maxsize=500MB
),(name='studentlog2',filename='C:\SCT\LOG\studentlog2.ldf',size=30MB,filegrowth=2MB,maxsize=500MB
)

on primary 的意思是是指定主文件组中包含的文件。

LOG ON 就是指定数据库日志文件,用来对数据库的操作日志。

在主(辅)数据文件或者日志文件中的属性参考上述代码的注释。

2.数据库的修改

例子:

修改SCT数据库,增加一个“fg”文件组,并向文件组(fg)中添加数据文件。

详细解释请看注释

--修改SCT数据库,添加文件组fg
alter database SCT add filegroup fg
--向fg文件组中添加数据文件
alter database SCT add file
(name='student3',filename='D:\SCT\student3.ndf',size=5MB,maxsize=20MB,filegrowth=15%
)
to filegroup fg--指向fg文件组,fg是一个文件组名

修改SCT数据库,增 加一个辅助数据文件student3,保存在“D:\SCT”文件夹中,且存放到“fg” 文件组中,初始大小5MB,最大容量是20MB,每次增长15%。

alter database SCT add log file(name =log1,--名称filename='D:\SCT\',--路径size=3MB,maxsize=10MB,filegrowth=15%
) 

修改SCT数据库,删除辅助数据文件student3.

alter database SCT remove file student3--删除数据文件以下是对数据库的其他操作
--remove FILEGROUP 文件组名称 --删除文件组
--MODIFY FILE <filespec> --更改文件属性
--MODIFY NAME=新数据库名称 /*更改数据库名称
--MODIFY FILEGROUP 文件组名称 {文件组属性|NAME=新文件组名称}--更改文件组属性,包括更改文件组名称

alter database SCT remove file <删除文件名字>(参考上述例子)

3.数据库的分离

--例句数据库SCT分离
execute sys.sp_detach_db @dbname='SCT'

[@dbname=] ‘database_name’

database_name是要分离的数据库的名称

database_name是sysname值,默认值为NULL。

4.数据库的附加

附加数据库SCT

execute sp_attach_db SCT ,'C:\SCT\DATA\student1.mdf','C:\SCT\LOG\studentlog1.ldf'
/*
附加操作的语法:
execute sp_sttsch_db [@dbname=] ‘dbname’,[@filename1=]’filename_n’,[……16] [@dbname=]‘dbnam_‘要附加到服务器的数据库的名称,该名称必须是唯一的。
Dbname的值为sysname,默认值为NULL。
[@filename1=]’filename_n’是数据库物理名称,包括路径。最多可以指定16个文件名。
*/

另外一种语法:

--附加数据库语句
--database_name为数据库的名字CREATE DATABASE database_name
ON <filespec> [ ,...n ]
FOR {ATTACH | ATTACH_REBUILD_LOG}--attach(附加)--for attach_rebuild_log
--指定通过附加一组现有的操作系统文件来创建数据库。该选项只限于读/写数据库。
--必须有一个指定主文件的 <filespec> 项。如果缺少一个或多个事务日志文件,将重新生成日志文件。例子:
create database database_name
on (filename='数据库分离的数据文件完整路径'),(filename='数据库分离的日志文件完整路径')
for attach

详细查看下述代码:

--语法一
--声明数据库引用
use other_database_name;
go--附加数据库
create database database_name
on (filename='mdf_path'),
(filename='ldf_path')
for attach
go--语法二
--声明数据库引用
use other_database_name;
go--附加数据库
create database database_name
on (
name='logical_file_name'
,filename='filestream_path'
,size= size_number [ KB | MB | GB | TB ]
,maxsize= { max_size_number [ KB | MB | GB | TB ] | unlimited  }
,filegrowth= growth_increment [ KB | MB | GB | TB | % ]
),
(
name='logical_log_file_name'
filename='log_filestream_path'
,size= size_number [ KB | MB | GB | TB ]
,maxsize= { max_size_number [ KB | MB | GB | TB ] | unlimited }
,filegrowth= growth_increment [ KB | MB | GB | TB | % ]
)
for { attach with
[ enable_broker | new_broker | error_broker_conversations ]
[,restricted_user]
[,filestream ( directory_name={ 'directory_name' | NULL })]| attach_rebuild_log }
go
语法解析
--语法解析
--other_database_name
--其它数据库,不能使用要附加的数据库进行附加。--database_name
--新数据库的名称。数据库名称在SQL Server的实例中必须唯一,并且必须符合标识符规则。--mdf_path
--数据库分离的数据文件完整路径。--ldf_path
--数据库分离的日志文件完整路径。--name
--指定文件的逻辑名称。 指定filename时,
--需要使用name,除非指定for attach子句之一。 无法将filestream文件组命名为primary。--logical_file_name
--在SQL Server中引用文件时所用的逻辑名称。 Logical_file_name在数据库中必须唯一,并且必须符合标识符规则。
--名称可以是字符或Unicode常量,也可以是常规标识符或分隔标识符。--filename
--指定操作系统(物理)文件名称。--filestream_path
--数据库数据文件完整路径--logical_log_file_name
--数据库日志名称。--log_filestream_path
--数据库日志文件完整路径--size
--指定文件的大小。
--将 os_file_name 指定为UNC路径时,不能指定SIZE。 SIZE不适用于FILESTREAM文件组。--size_number
--文件的初始大小。--maxsize
--指定文件可增大到的最大大小。将os_file_name指定为UNC路径时,不能指定maxsize。--max_size_number
--最大的文件大小。可以使用 KB、MB、GB 和 TB 后缀。默认值为 MB。指定一个整数,不包含小数位。
--如果未指定 max_size,文件将一直增长到磁盘变满为止。Max_size 是一个整数值。对于大于2147483647的值,使用更大的单位。--unlimited
--指定文件将增长到磁盘充满。在SQL Server中,指定为不限制增长的日志文件的最大大小为2TB,而数据文件的最大大小为16TB。--filegrowth
--指定文件的自动增量。文件的filegrowth设置不能超过max_size_number设置。将os_file_name指定为UNC路径时,不能指定filegrowth。
--filegrowth不适用于filestream文件组。--growth_increment
--每次需要新空间时为文件添加的空间量。
--该值可以MB、KB、GB、TB 或百分比 (%)为单位指定。
--如果未在数量后面指定MB、KB 或%,则默认值为MB。
--如果指定%,则增量大小为发生增长时文件大小的指定百分比。 定的大小舍入为最接近的64KB的倍数,最小值为64KB。
--值为0时表明自动增长被设置为关闭,不允许增加空间。--enable_broker
--指定对指定的数据库启用Service Broker。 也就是说,启动了消息传递,
--并且在sys.databases 目录视图中将is_broker_enabled设置为true。数据库保留现有的Service Broker标识符。--new_broker
--在sys.databases和还原数据库中都创建一个新的service_broker_guid值,并通过清除结束所有会话端点。
--Broker已启用,但未向远程会话端点发送消息。必须使用新标识符重新创建任何引用旧Service Broker标识符的路由。--error_broker_conversations
--结束所有会话,并产生一个错误指出数据库已附加或还原。
--Broker一直处于禁用状态直到此操作完成,然后再将其启用。数据库保留现有的Service Broker标识符。--restricted_user
--对于attach,可以指定restricted_user选项。
--restricted_user只允许db_owner固定数据库角色成员以及dbcreator和sysadmin固定服务器角色成员连接到数据库,
--不过对连接数没有限制。无资格用户的尝试将被拒绝。--filestream
--将包含filestream选项“目录名称”的数据库附加到SQL Server实例中将提示SQL Server验证Database_Directory名称是否唯一。--directory_name={ 'directory_name' | NULL }
--适用于: SQL Server 2012 (11.x) 到 SQL Server 2017
--与Windows兼容的目录名称。此名称应在SQL Server实例的所有Database_Directory名称中唯一。
--无论SQL Server排序规则设置如何,唯一性比较都不区分大小写。在此数据库中创建FileTable之前,应设置此选项。
--仅在将containment设置为partial之后,才允许使用以下选项。如果将containment设置为none,将发生错误。--for attach_rebuild_log
--指定通过附加一组现有的操作系统文件来创建数据库。该选项只限于读/写数据库。
--必须有一个指定主文件的 <filespec> 项。如果缺少一个或多个事务日志文件,将重新生成日志文件。
--attach_rebuild_log自动创建一个新的1MB的日志文件。此文件放置于默认的日志文件位置。
--for attach_rebuild_log具有以下要求:完全关闭数据库。所有数据文件(MDF 和 NDF)都必须可用。
--通常,FOR ATTACH_REBUILD_LOG 用于将具有大型日志的可读/写数据库复制到另一台服务器,
--在这台服务器上,数据库副本频繁使用,或仅用于读操作,因而所需的日志空间少于原始数据库。
--不能对数据库快照指定for attach_rebuild_log。

5.数据库备份

参考:

sp_addumpdevice (Transact-SQL) - SQL Server | Microsoft Docs

参考:

Sql Server数据库备份大全(Sql语句)_宇天_YT的博客-CSDN博客_sql数据备份语句

6.数据库还原

restore database SCT from disk='E:\SQLserver备份\DATA\11.bak'--SCT为数据库名称
--disk='数据库备份路径'

SQL语句数据库的创建、修改,分离,附加,备份,还原相关推荐

  1. SQL Server数据库创建、分离、备份、删除与操作详细

    空间数据库创建.分离.备份.删除与附加 实验名称:数据库创建.分离.备份.删除与附加 实验目的: 掌握数据库创建方法(交互式.T-SQL法) 指定参数创建数据库 查看数据库属性 掌握交互式与系统储存法 ...

  2. Database之SQLSever:SQLSever数据库管理(GUI法/SQL语句命令法两种方法实现备份(完整备份、差异备份、日志备份)、还原、删除、修改数据库等案例)之详细攻略

    Database之SQLSever:SQLSever数据库管理(GUI法/SQL语句命令法两种方法实现备份(完整备份.差异备份.日志备份).还原.删除.修改数据库等案例)之详细攻略 目录 数据库管理 ...

  3. SQL Server 数据库 视图创建

    SQL Server 数据库 视图创建 视图简介: 视图可以看作定义在SQL Server上的虚拟表.视图正如其名字的含义一样,是另一种查看数据的入口. 常规视图本身并不存储实际的数据,而仅仅是由SE ...

  4. SQL Server 大数据搬迁之文件组备份还原实战

    SQL Server 大数据搬迁之文件组备份还原实战 原文:SQL Server 大数据搬迁之文件组备份还原实战 一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景( ...

  5. 视图的重命名mysql语句_sql语句重命名字段-视图重命名sql语句-数据库重命名sql语句...

    sql语句如何重命名表名和列名? 一.更改数据库名 sp_renamedb 更改数据库的名称. 语法: sp_renamedb [ @dbname = ] ' old_name ' , [ @newn ...

  6. SQL Server数据库(创建及管理)

    做好学习记录,方便随时查看.^ v ^ 一.数据库文件:系统数据库+用户数据库 1.系统数据库: 随程序一起安装,用户提供系统所需要的数据的数据库,是SQL Server运行的基础. 1)master ...

  7. SQL语句中,创建标识列、默认值及各种约束的语法介绍

    虽然创建表中字段的主外键.标识列.唯一约束.check约束等可以使用视图法创建,但最基本的还是应该会使用sql语句来创建这些吧,咱废话少说,直接上干货!!! 标识列: 在创建表的字段时加上identi ...

  8. mysql中的级联删除的语句_级联删除sql语句-数据库级联删除语句-sql删除语句

    SQl语句的级联删除问题 删除应该有顺序 1,删除link表 delete from ref,link where ref.link_code=link.link_code and link_id=? ...

  9. 日历的实现及数据库的创建修改等操作

    主要内容: 一.介绍万年历程序的写法思路, 通过键盘输入获取获取所需查询的年份和月份: /**  * 万年历开始  */ public void start(){ Scanner scanner = ...

最新文章

  1. vue 子页面调用父页面的参数_js父页面调用子页面数据时,子页面通过父页面传过来的参数回调父页面具体方法_html/css_WEB-ITnose...
  2. 基于vue-cli、elementUI的Vue超简单入门小例子
  3. [MYSQL] 如何彻底卸载MYSQL5.x
  4. SpringBoot v2.2.6版本遇到的坑 --- HiddenHttpMethodFilter组件的锅
  5. python 几何_OpenCV-Python系列之对极几何理论
  6. Activity生命周期 onCreate onResume onStop onPause
  7. Storm的通信机制
  8. CAN笔记(14) STM32-M4 寄存器
  9. (27)FPGA面试题动态时序模拟
  10. mysql可视化工具有哪些_有哪些用过一次就爱上的可视化工具?
  11. hadoop的同类技术_Hadoop和Spark的区别是什么?现在都流行用哪种技术?
  12. jquery动态添加Div
  13. 期刊的中科院分区和JCR分区以及影响因子查询方法
  14. 如何设置excel回车换行
  15. 银河战舰的最后一门重炮──C罗
  16. Collada 快速入门
  17. MySQL教程-01
  18. c语言图形化界面开发 (一)
  19. 21.网络互联与网络互联设备
  20. Model-Agnostic Meta-Learning (MAML)模型介绍及算法详解

热门文章

  1. 如何绘制甘特图?这些软件来帮你
  2. 下连队锻炼(5)----抗洪
  3. 【指数编制系列二】数据标准化方法
  4. php对接第三方接口
  5. 淘宝商品销量接口/淘宝商品销量监控接口/商品累计销量接口
  6. Mac电脑怎么安装第三方非App Store来源的应用
  7. iCal及iCalendar说明
  8. C/S软件架构设计模式
  9. 七周成为数据分析师01-数据分析思维
  10. html日历表样式写法,css+html实现简单的日历