本文介绍基于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. Vue 长文本组件(有展开更多按钮)实现 附源码及使用

    原文地址:Vue 长文本组件(有展开更多按钮) | Stars-One的杂货小窝 最近项目需要优化长文本的显示,如果长文本过长,固定显示几行并显示一个展开更多的按钮,点击按钮即可把隐藏的文本显示出来 ...

  2. .NET Aspire Preview 4 发布!

    .NET Aspire是一个有态度的云原生应用开发框架,旨在改善生成.NET云原生应用的体验,并提供一组强大的工具来帮助你生成和运行分布式应用.它允许开发者快速创建属于自己的云原生应用,或改造已有的项 ...

  3. undefined reference to vtable for "xxx::xxx" in QT(已解决)

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

  4. vmware虚拟机共享文件夹显示不出来的解决办法

    今天在虚拟机里部署测试环境时,遇到一个问题,就是在vmware设置里明明共享了文件夹,但是在CentOS里却看不到共享的文件夹 环境 宿主机:MacBook Pro 虚拟机:vmware 15 虚拟机 ...

  5. PXE批量安装操作系统自动化

    PXEz自动化 在PXE服务器操作: *yum -y install dhcp xinetd tftp tftp-server* *yum -y install system-config-kicks ...

  6. [C++]使用auto遍历判断是否是最后一个元素

    一.背景 略 二.代码 for(auto& it:vec){ if(&it==&vec.back()){ cout<<"is the last eleme ...

  7. 02.Android之IPC机制问题

    目录介绍 2.0.0.1 什么是Binder?为什么要使用Binder?Binder中是如何进行线程管理的?总结binder讲的是什么? 2.0.0.2 Android中进程和线程的关系?什么是IPC ...

  8. 前端优化 之 preload

    为了优化我们公司网站的性能,我最近引入了浏览器预加载技术(Preload). 这项技术可以显著减少级联情况,提高资源加载的并行度,从而加速网站的加载速度. Preload的原理 Preload的原理是 ...

  9. 用了两周开源堡垒机OneTerm,我有一些建议

    上一篇文章分享了一款简洁且强大的开源堡垒机OneTerm,功能完善,代码简单,GO语言开发,用来学习很合适,拿来自用也没问题.堡垒机该有的核心功能基本都有了,方便与自有系统集成,我使用了两周,功能上没 ...

  10. DevOps迈向标准化,平台工程让开发运维更轻松

    在近一代人的时间里,DevOps 在软件开发和运维领域占据了主导地位.这是一套开发人员都离不开的技能和方法.Pearl Zhu 在 "The Digital Master" 一书中 ...