本文介绍基于Microsoft SQL Server软件,实现数据库创建、分离、附加、删除备份的方法。

  空间数据库同样是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数据库,如下图;

至此,大功告成。

SQL Server实战一:创建、分离、附加、删除、备份数据库的更多相关文章

  1. SQL Server Database 维护计划创建一个完整的备份策略

     SQL Server维护计划Maintenance Plan这是一个非常有用的维护工具,能够完成大部分的数据库维护任务,通过这些功能包.您可以省略大量的编码时间. 介绍的不是非常多,特此补上一篇 ...

  2. SQL server 数据库(视图、事物、分离附加、备份还原))

    ql Server系列:视图.事物.备份还原.分离附加  视图是数据库中的一种虚拟表,与真实的表一样,视图包含一系列带有名称的行和列数据.行和列数据用来自定义视图的查询所引用的表,并且在引用视图时动态 ...

  3. 【SQL Server DBA】维护语句:删除并创建外键约束、获取建表语句

    原文:[SQL Server DBA]维护语句:删除并创建外键约束.获取建表语句 1.删除外键约束,建立外键约束 先建立3个表: /* drop table tb drop table tb_b dr ...

  4. 如何实现SQL Server临时表的创建?

    以下的文章主要是对SQL Server临时表的创建的实际操作步骤,以及在实际操作中我们要用到的实际应用代码的介绍,我在一个信誉度很好的网站找到一个关于其相关内容今天拿出来供大家分享. 创建临时表 方法 ...

  5. SQL Server COM 组件创建实例失败

    SQL Server COM 组件创建实例失败   SQL2008数据库总会出现从 IClassFactory 为 CLSID 为 {17BCA6E8-A95D-497E-B2F9-AF6AA4759 ...

  6. 使用SQL Server Management Studio 创建作业备份数据库

    在项目中,经常需要备份数据库,如果能做到只需点个按钮(“开始备份数据库”按钮),然后什么都不管,数据库就自动备份好了,或者服务器上的数据库隔一段时间自动备份一次,那该多好啊. Sql server 的 ...

  7. 利用Microsoft Sql Server Management studio 创建数据库的示例

    利用Microsoft Sql Server Management studio 创建数据库的示例方法如下:   一.打开安装好的Microsoft Sql Server Management stu ...

  8. 【MSSQL】SQL Server 设置用户只能查看并访问特定数据库

    #背景 SQL Server实例上有多个服务商的数据库,每个数据库要由各自的服务商进行维护, 为了限定不同服务商商的维护人员只能访问自己的数据库,且不能看到其他服务商的数据库,现需要给各个服务商商限定 ...

  9. SQL SERVER 2000 数据恢复(分离数据库+附加数据库)

    一.分离数据库     SQL Server 2000允许分离数据库的数据和事务日志文件,然后将其重新附加到同一台或另一台服务器上.分离数据库将从SQL Server 删除数据库,所以当点击“分离数据 ...

  10. 数据库SQL server规则的创建、查看、修改和规则的绑定与松绑、删除

    用CREATE RULE语句创建规则 创建雇佣日期规则 hire_date_rule CREATE RULE hire_date_rule AS @hire_date>='1980-01-01' ...

随机推荐

  1. .NET数据库ORM框架SqlSugar使用笔记

    官方介绍 以下介绍来自SqlSugar官网: 高性能 ,不夸张的说,去掉Sql在数据库执行的时间,SqlSugar是EF数倍性能,另外在批量操作和一对多查询上也有不错的SQL优化 高扩展性 ,支持自定 ...

  2. 修复华硕笔记本fn+f2在ubuntu下wifi不能够正常使用和WiFi Disabled (Hard-blocked) (译文)

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文发布于 2014-12-22 11:49:16 ...

  3. [STM32]STM32双机蓝牙串口通信

    [STM32]STM32双机蓝牙串口通信 期末考完力,虽然GPA--,但也终于有空搓一搓32了 蓝牙模块配置 我们先配置蓝牙模块,需要主从兼容,配置过程可以参考这个博客:https://blog.cs ...

  4. flutter版本的玩Android客户端

    flutter学习案例 目录介绍 00.项目下载与查看 01.项目介绍 02.项目优势 03.部分功能介绍 04.部分截图展示 05.版本更新 06.flutter系列博客 07.感谢 08.如何辨别 ...

  5. 记录--怎么写一个可以鼠标控制旋转的div?

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 说在前面 鼠标控制元素旋转在现在也是一个很常见的功能,让我们从实现div元素的旋转控制开始来了解元素旋转的具体原理和实现方法吧. 效果展示 ...

  6. 神经网络——基于sklearn的参数介绍及应用

    一.MLPClassifier&MLPRegressor参数和方法 参数说明(分类和回归参数一致): hidden_layer_sizes :例如hidden_layer_sizes=(50, ...

  7. Hong Kong Azure / .NET club first meetup - WPF business value in the financial industry

    The first meeting of the Hong Kong Azure / .NET Club was held on December 29, 2019 at Starbucks, She ...

  8. 【K8S】如何进入kubernetes的一个pod

    如何进入kubernetes的一个pod呢,其实和进入docker的一个容器相似: 进入docker容器 : docker exec -ti <your-container-name> / ...

  9. 深入浅出Java 23种设计模式,最全PDF版本终于开放下载了!!(文末有福利)

    写在前面 在「 冰河技术 」微信公众号中[设计模式专题]更新完毕已有一段时间了.不少小伙伴在我微信上留言说:冰河,你能不能把[设计模式专题]的文章汇总成PDF文档呢?一直没有时间整理,最近在公众号后台 ...

  10. 关于tomcat容器抛出的异常解决方案之一

    1,描述 问题类型:调试信息泄露 如: 现要求:前端页面不显示调试信息. 解决方案: 替换默认的tomcat <dependency> <groupId>org.springf ...