数据库基础(一):数据库创建、分离、附加、删除、备份

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: 数据库基础(一):数据库创建、分离、附加、删除、备份



  空间数据库同样是GIS行业中至关重要的一部分。因此,本系列博客就将基于Microsoft SQL Server软件,对数据库基础知识与实际操作、代码含义等加以细致梳理与介绍。

  系列文章中示例数据来源于《 SQL Server实验指导(2005版)》一书。尊重版权,因此遗憾不能将相关示例数据一并提供给大家;但是依据本系列文章的思想与对操作步骤、代码的详细解释,大家用自己手头的数据,可以将相关操作与分析过程加以完整重现。

1 交互式创建数据库

(1) 启动Microsoft SQL Server 2008 R2软件;

(2) 在 “对象资源管理器”中,右键“数据库”按钮,选择“新建数据库”选项,即可弹出“新建数据库”窗口,如下图;

(3) 在所弹出的“新建数据库”窗口中“数据库名”一栏内输入“jxsk”;在“数据库文件”列表中,选择数据库数据文件的存储“路径”右侧的省略号按钮,并将路径设置为“G:\sql\chutianjia sql”;选择数据库日志文件的存储“路径”右侧的省略号按钮,将路径设置为“G:\sql\chutianjia sql”,同时可在此处查看其他相关数据的设置;点击“确定”按钮,数据库创建完成。在“对象资源管理器”一栏处刷新后可以看到所建立的数据库已存在;

(4) 在“对象资源管理器”中,右键选择jxsk,选择“属性”项目,打开“数据库属性”窗口,在左侧 “选择页”中,选择“文件”一栏,即可查看数据库文件属性,如下图;

(5) 单击选择数据文件行中“自动增长”单元格右侧的省略号按钮,即可弹出更改自动增长设置对话框;在“文件增长”项目中,选择“按MB(M)”勾选框,并在其右侧文本框中输入4;在“最大文件大小”一栏中,选择“限制文件增长(MB)”勾选框,并在其右侧文本框中输入100;单击“确定”,即可实现对数据库属性的更改。

2 Transact-SQL指定参数创建数据库

(1) 创建数据库“testbase”

i. 单击屏幕上方工具栏中的“新建查询”按钮,打开“查询编辑器”窗口,并在查询编辑器窗口中输入以下T-SQL语句,如下图:

CREATE DATABASE testbase1
ON
(NAME=testbase1_data,
FILENAME='G:\sql\chutianjia sql\testbase_data.mdf')
LOG ON
(NAME=taetbase1_log,
FILENAME='G:\sql\chutianjia sql\testbase_data.ldf')
GO

ii. 单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图;若语句存在问题,将会在下方的提示窗口中显示问题所在;

iii. 在“对象资源管理器”窗格中,在“数据库”处右键,在弹出的菜单中选择“刷新”选项,可见其所示内容中已存在通过上述方法新建立的testbase1数据库;

iv. 在“对象资源管理器”中,右击数据库testbase1,选择快捷菜单中的“属性”选项,打开数据库testbase1属性对话框窗口,即可分别查看“常规”“文件”“文件组”等属性页内容,结果分别如以下三图所示;

(2) 指定多个参数创建数据库“testbase2”

i. 单击屏幕上方 “工具栏”菜单中的“新建查询”按钮,打开“查询编辑器”窗口,并在“查询编辑器”窗口中输入以下T-SQL语句:

CREATE DATABASE testbase2
ON
PRIMARY
(NAME=testbase2_prim_sub_dat1,
FILENAME='G:\sql\chutianjia sql\testbase2_prim_sub_dat.mdf',
SIZE=5MB,
MAXSIZE=50MB,
FILEGROWTH=20%),
(NAME=testbase2_prim_sub_dat2,
FILENAME='G:\sql\chutianjia sql\testbase2_prim_sub_dat.ndf',
SIZE=5MB,
MAXSIZE=50MB,
FILEGROWTH=20%),
FILEGROUP testbase2_group1
(NAME=testbase2_group1_sub1,
FILENAME='G:\sql\chutianjia sql\testbase2_group1_sub1.dat.ndf',
SIZE=5MB,
MAXSIZE=50MB,
FILEGROWTH=5MB),
(NAME=testbase2_group1_sub2,
FILENAME='G:\sql\chutianjia sql\testbase2_group1_sub2.dat.ndf',
SIZE=5MB,
MAXSIZE=50MB,
FILEGROWTH=5MB),
FILEGROUP testbase2_group2
(NAME=testbase2_group2_sub1,
FILENAME='G:\sql\chutianjia sql\testbase2_group2_sub1.dat.ndf',
SIZE=5MB,
MAXSIZE=50MB,
FILEGROWTH=15%),
(NAME=testbase2_group2_sub2,
FILENAME='G:\sql\chutianjia sql\testbase2_group2_sub2.dat.ndf',
SIZE=5MB,
MAXSIZE=50MB,
FILEGROWTH=15%)
LOG ON
(NAME=testbase2_testbase2_log,
FILENAME='G:\sql\chutianjia sql\testbase2_log_file.idf',
SIZE=20MB,
MAXSIZE=500MB,
FILEGROWTH=10MB)
GO

ii. 单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图;若语句存在问题,将会在下方的提示窗口中显示问题所在;

iii. 在“对象资源管理器”窗格中,在“数据库”处右键,在弹出的菜单中选择“刷新”选项,可见其所示内容中已存在通过上述方法新建立的testbase2数据库,如下图;

iv. 在“对象资源管理器”窗格中,右击数据库testbase2,选择快捷菜单中的“属性”选项,打开数据库testbase1属性对话框窗口,即可分别查看“常规”“文件”“文件组”等属性页内容,结果分别如以下三图所示;

3 交互式分离数据库testbase1

(1) 在“对象资源管理器”中,右击数据库testbase1,选择快捷菜单中的“属性”选项,打开数据库testbase1属性对话框窗口,在“选择页”一栏中,选择“文件”按钮,即可查询对应数据库文件名和物理文件路径名;

(2) 在“对象资源管理器”中,右击数据库testbase1,在弹出的窗口中选择“任务”→分离”;

(3) 在弹出的窗口中,若“状态”选项为“就绪”字样,则表明该数据库testbasel目前正处于非活动连接状态;此时选择“确定”按钮即可完成数据库的分离操作;而如果上述“状态”一栏为“非就绪”字样,表明该数据库目前正处于活动连接状态,即正在被使用中,则需选中“删除连接”字样处的复选框,再单击“确定”按钮即可完成分离,如下图;

(4) 在“对象资源管理器”窗格中,在“数据库”处右键,在弹出的菜单中选择“刷新”选项,可见其所示内容中已不存在通过上述方法新建立的testbase1数据库,如下图。

4 使用系统存储过程分离数据库testbase2

(1) 单击屏幕上方 “工具栏”菜单中的“新建查询”按钮,打开“查询编辑器”窗口,并在“查询编辑器”窗口中输入以下T-SQL语句:

EXEC sp_detach_db testbase2,true

(2) 单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图;

(3) 在“对象资源管理器”窗格中,在“数据库”处右键,在弹出的菜单中选择“刷新”选项,可见其所示内容中已不存在通过上述方法新建立的testbase2数据库,如下图。

5 数据库文件备份:分离数据库再复制其物理文件

(1) 在“对象资源管理器”中,右击数据库testbase1,选择快捷菜单中的“属性”选项,打开数据库testbase1属性对话框窗口,在“选择页”一栏中,选择“文件”按钮,即可查询对应数据库文件名和物理文件路径名;

(2) 在“对象资源管理器”中,右击数据库testbase1,在弹出的窗口中选择“任务”→分离”;

(3) 在资源管理器中,打开文件夹“G:\sql\chutianjia sql”,将数据库文件testbase_data.mdf、testbase_data.ldf复制到可移动磁盘“G:\sql”文件目录下,如下图;

6 数据库文件备份:停止SQL Server 2008服务再复制数据库物理文件

(1) 选择“开始”→“Microsoft SQL Server 2008 R2”→“SQL Server 配置管理器”→“SQL Server服务”,右击选择“SQL Server(MSSQLSERVER)”,选择“停止”,如以下两图;

(2) 打开“对象资源管理器”窗格,发现(local)左侧的数据库标记增加了一个红色的点状符号,说明服务已停止;

(3) 在资源管理器中,打开文件夹“G:\sql\chutianjia sql”,将数据库文件testbase_data.mdf、testbase_data.ldf复制到可移动磁盘“G:\sql”文件目录下,如下图。

7 交互式附加数据库

(1) 在“对象资源管理器”窗格中,在“数据库”处右键,在弹出的菜单中选择“附加”选项;

(2) 选择需要加以附加的数据库物理文件,选择定位文件夹“G:\sql\chutianjia sql”并选择对应数据库的物理文件并选择“确定”按钮,再次选择“确定”即可;

(3) 在“对象资源管理器”窗格中,在“数据库”处右键,在弹出的菜单中选择“刷新”选项,可见其所示内容中已存在通过上述方法新建立的testbase2数据库,如下图。

8 使用系统存储过程附加数据库

(1) 单击屏幕上方 “工具栏”菜单中的“新建查询”按钮,打开“查询编辑器”窗口,并在“查询编辑器”窗口中输入以下T-SQL语句:

EXEC sp_attach_single_file_db @dbname='testbase1',
@physname='G:\sql\chutianjia sql\testbase_data.mdf'

(2) 单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图;

(3) 在“对象资源管理器”窗格中,在“数据库”处右键,在弹出的菜单中选择“刷新”选项,可见其所示内容中已存在通过上述方法新建立的数据库。

9 交互式删除数据库

(1) 在“对象资源管理器”中,右击数据库testbase1,选择快捷菜单中的“删除”选项,如下图;

(2) 在“对象资源管理器”窗格中,在“数据库”处右键,在弹出的菜单中选择“刷新”选项,可见其所示内容中已不存在testbase1数据库。

10 Transact-SQL删除数据库

(1) 单击屏幕上方 “工具栏”菜单中的“新建查询”按钮,打开“查询编辑器”窗口,并在“查询编辑器”窗口中输入以下T-SQL语句:

drop database testbase2

(2) 单击 “工具栏”中的“执行(x)”按钮,即可执行上述T-SQL语句,如下图;

(3) 在“对象资源管理器”窗格中,在“数据库”处右键,在弹出的菜单中选择“刷新”选项,可见其所示内容中已不存在testbase2数据库,如下图;

欢迎关注公众号:疯狂学习GIS


相关文章
|
2月前
|
存储 关系型数据库 MySQL
mysql数据库备份与恢复
MySQL数据库的备份与恢复是确保数据安全性和业务连续性的关键操作。
77 4
|
3月前
|
SQL 关系型数据库 MySQL
如何快速在表级别做同构或者异构数据库之间的数据迁移/备份
【8月更文挑战第17天】本文介绍在同构与异构数据库间快速迁移/备份表级数据的方法。同构迁移可利用数据库自带工具(如MySQL的`mysqldump`)或管理软件(如phpMyAdmin);异构迁移则推荐使用ETL工具(如Pentaho Data Integration)或数据库复制工具(如SymmetricDS),亦可通过编程方式实现。实施前需测试以确保数据完整准确,并注意处理兼容性问题。
132 4
|
11天前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
29 3
|
11天前
|
监控 关系型数据库 MySQL
Linux环境下MySQL数据库自动定时备份策略
在Linux环境下,MySQL数据库的自动定时备份是确保数据安全和可靠性的重要措施。通过设置定时任务,我们可以每天自动执行数据库备份,从而减少人为错误和提高数据恢复的效率。本文将详细介绍如何在Linux下实现MySQL数据库的自动定时备份。
25 3
|
25天前
|
存储 定位技术 数据库
介绍一下数据库的备份和恢复策略
【10月更文挑战第21】介绍一下数据库的备份和恢复策略
|
11天前
|
数据库
【赵渝强老师】数据库的备份方式
备份数据库是指将数据库中的数据及相关信息保存起来,以便在系统故障时恢复。备份对象不仅限于数据本身,还包括数据库对象、用户权限等。根据备份策略、类型和模式的不同,可分为整体/部分备份、完全/增量备份、一致/非一致备份。文中还附有相关视频讲解。
|
2月前
|
关系型数据库 MySQL 数据库
Navicat备份数据库
涵盖`Navicat`数据库备份、数据安全及备份策略等主题。文库采用精美主题,提升阅读体验。
41 1
Navicat备份数据库
|
2月前
|
SQL 数据库 数据安全/隐私保护
如何手动备份数据库?
如何手动备份数据库?
112 1
|
3月前
|
SQL 数据库
Microsoft SQL Server 2014如何来备份数据库
Microsoft SQL Server 2014如何来备份数据库
377 3
|
3月前
|
SQL 关系型数据库 MySQL
在Linux中,如何备份和恢复MySQL数据库?
在Linux中,如何备份和恢复MySQL数据库?