首页 > 数据库 >SQL Server实战一:创建、分离、附加、删除、备份数据库

SQL Server实战一:创建、分离、附加、删除、备份数据库

时间:2024-04-24 13:34:48浏览次数:41  
标签:备份 sql Server SQL testbase1 testbase2 数据库 资源管理

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

目录

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

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

1 交互式创建数据库

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

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

image

(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,SQL,testbase1,testbase2,数据库,资源管理
From: https://www.cnblogs.com/fkxxgis/p/18154698

相关文章

  • java操作ftp server
    参考:https://www.jianshu.com/p/2efc2669b736POM依赖<dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId><version>3.6</version></dep......
  • C#访问MySql原始版
    谢谢sqlpub提供的免费mysql环境!!本文演示了C#使用ADO.NET访问MySql的原始写法。旨在初学者顺利入门。MySql.Data.MySqlClient由nuget获得,vs2022,.net8调试通过。我的博客的数据库操作类,也是基于这些基本操作封装而来。代码如下:1usingMySql.Data.MySqlClient;2usingSyst......
  • postgresql中两张表的聚合函数合并到一列或一行,做除法,并保留两位小数
    --两张表的无关数据合并到一张表SELECTA.name,B.nameFROM(selecto.name,row_number()over(orderbyname)fromtb_orgaso)A FULLJOIN (selectr.name,row_number()over(orderbyr.name)fromtb_regionasr)BONA.row_number=B.row_number;这里是利用......
  • mysql 货币类型 选择
    结论:我们的选择是int和bigint,以分为单位来存;一个外国人的视频讲解了,我直接按重点截图了,连接地址:【在MySQL中存储货币的正确方式:不要使用float或double,要用decimal或integer/bigint!】https://www.bilibili.com/video/BV15N4y147YE?vd_source=025a1c967fa95b3dcfb9b276......
  • Mysql:canal-deployer:如何阻断canal-client对deployer上的filter过滤条件订阅修改:https
     也算是安全管理上的一个控制点:本来,允许客户端去根据自己的实际需求去服务端订阅自己关心的数据流,是很好的。but,但是,服务端的黑白名单过滤,尤其是白名单的filter条件会被客户端的最新订阅的过滤条件给覆盖!!!这算是bug吗?上游服务端怎么显得那么没地位呢!!!??? #===================......
  • GaussDB SQL查询语句执行过程解析
    本文分享自华为云社区《【GaussTech第2期】GaussDBSQL查询语句执行过程解析》,作者:GaussDB数据库。SQL于关系型数据库而言,重要性不言而喻。就像一个乐团的指挥,指导着作品的正确演绎和节奏的和谐统一。华为云GaussDB作为新一代关系型分布式数据库,具备卓越的技术性能和行业竞争......
  • MySql 规范
    强制要求类型MySQLJavaDelphi备注日期(Date)、日期时间(DateTime)BigIntLongInt64通常单位为秒即可,特殊情况下才可以使用毫秒;Boolean值Tinyint(1),要求非空BooleanBooleanmybatis-generator也会自动生成Boolean,声明一个is_activeboolean类型示例:CREATETA......
  • centos7删除mysql的步骤
    centos7删除mysql的步骤方法一、1.查看安装了mysql哪些服务rpm-qa|grep-imysql2、然后逐个去卸载卸载前关闭mysql服务rpm-ev--nodepsmysql-community-release-el7-5.noarchrpm-ev--nodepsmysql-community-common-5.6.38-2.el7.x86_64rpm-ev--nodepsmysql-co......
  • GreatSQL统计信息相关知识点
    相关知识点:INNODB_STATS_PERSIST=ON或用STATS_PERSIST=1定义单个表时,优化器统计信息将持久化到磁盘。默认情况下,innodb_stats_persistent是启用的。持久统计信息存储在mysql.innodb_table_stats和mysql.innodb_index_stats表中。默认情况下启用的innodb_stats_auto_recalc变量......
  • 菜单权限表sqlite和mysql
    sqliteCREATETABLEsys_user(idTEXTPRIMARYKEY,nameTEXTNOTNULL,phoneTEXT,passwordTEXTNOTNULL,create_timeDA......