Microsoft SQL Server数据库语言及功能使用(十三)

Microsoft SQL Server数据库语言及功能使用(十三)
注:下面使用 Microsoft SQL Server 2019
一、使用SQL语句备份
1、SQL Server语句备份
(1)、使用SQL语句备份数据库,语法:Backup Database 数据库名 To disk=‘存储位置.bak’
在语句Database后面添加数据库名称,后面为存储位置路径。
Microsoft SQL Server数据库语言及功能使用(十三)_第1张图片
(2)、利用脚本文件还原数据库,首先把数据库生成脚本文件,选择某一个数据库,鼠标右键:任务–>生成脚本,勾选“另存为脚本文件”,文件保存路径选择合适的位置,点击高级,选择倒数第二个“要编写脚本数据的类型”选择“架构和数据”如果仅选择架构导出来的脚本数据库没有数据的,导出脚本文件后打开脚本文件得到的就是数据库的语句信息,执行之后就可以还原数据库了。
Microsoft SQL Server数据库语言及功能使用(十三)_第2张图片
Microsoft SQL Server数据库语言及功能使用(十三)_第3张图片
(3)、使用SQL语句还原数据库,在还原数据库的时候需要选择其他数据库,如使用当前还原数据库的时候,报错:RESTORE 无法处理数据库 ‘CZSPGL’,因为它正由此会话使用。建议在执行此操作时使用 master 数据库。
Microsoft SQL Server数据库语言及功能使用(十三)_第4张图片
二、数据库附加
(1)、选择数据库鼠标右键附加数据库,选择添加数据库,这时候有一个数据库的默认路径,添加选定的数据库进行添加(有可能会无法附加,原因是数据库权限问题,这时候可以复制该路径在“我的电脑”中粘贴查找路径,有可能也有自定义数据库路径,只要找到该数据库的存放路径即可。
Microsoft SQL Server数据库语言及功能使用(十三)_第5张图片
Microsoft SQL Server数据库语言及功能使用(十三)_第6张图片

(2)、把SQL附加数据库的复制路径在文件中查找(数据库存放在自定义路径的找到对应路径),可以找到SQL默认存放的数据库路径,这时候发现要查找的数据库有两个文件,一个是数据库的主要文件,一个是数据库的脚本日志文件。选择需要附加的数据库文件鼠标右键打开“属性”–>选择“安全”–>点击“编辑”–>点击“添加”–>找到“Everyone”或者指定对象,点击确认勾选该对象对数据库的使用权限如“完全控制”、“修改”、“读取和执行”、“读写”、“写入”,另外对应日志脚本文件也同样操作,这样步骤是确定该数据库在SQL Server数据库附加的时候因为权限问题无法附加的问题。
Microsoft SQL Server数据库语言及功能使用(十三)_第7张图片

三、权限
1、为了限定不同应用的开发人员只能访问自己的数据库,且不能看到(或者能看不能操作)其他应用的数 据库,现需要给各个应用的开发人 员限定权限,让他们登录SQL Server只能看到授权的数据库而无法看到其他数据库。
(1)、给某一个数据库添加特定用户进行使用。
①、选择“安全性”–>“登录名”鼠标右键“新建登录名”,重命名登录名称“选择SQL Server身份验证”设置密码,把“用户在下次登录时必须更改密码”勾选去掉,选择默认数据库(即指定该用户使用的数据库)。
Microsoft SQL Server数据库语言及功能使用(十三)_第8张图片
②、“在服务器角色”中默认勾选“public”,在“用户映射”中勾选指定操作的数据库,这时候出现操作该数据库的用户名,在用户名后面选择数据库对应结构,然后勾选下面的“db_owner”。
Microsoft SQL Server数据库语言及功能使用(十三)_第9张图片
③、指定用户操作特定数据库后可以看到,在该数据库“安全性”中的“用户”多了一个“Dema_user”用户,然后在SQL Server“安全性”中也存在一个“Dema_user”,虽然名称相同但是两个用户等级不同,即在每一个数据库中存在的用户只能操作该数据库,而在SQL Server中的用户可以单独登录操作该数据库。
Microsoft SQL Server数据库语言及功能使用(十三)_第10张图片
(2)、指定用户操作指定的数据库
①、现在使用创建的用户进行登录,登录成功后可以看到所有的数据库,但是当操作不是指定的数据库是会显示“无法访问该数据库”因为在创建该用户的时候没有指定它有权限使用操作的数据库所以是无法访问的,所以该用户只能操作指定的数据库如:设定的数据库“Text_Demo”。
Microsoft SQL Server数据库语言及功能使用(十三)_第11张图片
(3)、使用SQL Server 语句登录帐号添加与删除对象。
①、在最高权限的账户中使用SQL 语句在新增查询中创建一个账户,使用use master go
exec sp_addlogin +账户名称,+密码,语句进行账号创建,执行命令成功后断掉最高权限账号使用刚刚创建的账户登录。
Microsoft SQL Server数据库语言及功能使用(十三)_第12张图片

②、给创建的账号指定使用的数据库,使用新建的账户登录后再登录一个原来的最高权限账户,在最高权限用户的数据库中找到想要指定的数据库,如Demo然后新建查询,使用use Demo
Go exec sp_grantdbaccess ‘关联新建的账户名’,‘指定数据库用户’。
Microsoft SQL Server数据库语言及功能使用(十三)_第13张图片
③、使用新建账户操作指定数据库,命令执行后转到创建用户登录,即Text_Demo2 接着就可以查看Demo数据库了,但是这里只能查看数据库,而想要操作数据库则还需要一步。
Microsoft SQL Server数据库语言及功能使用(十三)_第14张图片
④、回到最高权限账户,在Demo数据库中新建查询,使用sp_addrolemember关键字对 Text_Demo2 账户赋予操作Demo权限,因为前面在Demo数据库中我为该数据库单独设置了一个操作该数据库的账户“Demo_user”所以只要把该账户与新建账户“Text_Demo2 ”关联之后,“Text_Demo2 ”就可以对Demo数据库进行操作。
Microsoft SQL Server数据库语言及功能使用(十三)_第15张图片
(3)、如果在数据库自动备份时,在新增维护计划的过程中发现“SQL Server 代理(已禁用代理XP)”无法开启代理,第一打开SQL Server对应的配置管理器中找到“SQL Server服务”把“SQL Server 代理”服务手动启动,然后回到SQL Server中把“SQL Server 代理(已禁用代理XP)”启动再进行数据库自动备份操作。
Microsoft SQL Server数据库语言及功能使用(十三)_第16张图片
(4)、如果第一步无法开启代理,可以使用SQL Server语句进行维护计划创建操作,在想要自动备份的数据库中新建查询,输入以下语句然后执行,命令执行成功后刷新一下然后在“维护计划”中就可以新建维护计划了。
Microsoft SQL Server数据库语言及功能使用(十三)_第17张图片

你可能感兴趣的:(数据库,SQL,Server,数据库,sql,sqlserver)