笺注:这是在 Windows2008R2安装MSSQL2008R2 的基础上进行的。
新建查询:
新建库data1:
create database data1;
在库data1中创建表t_1:
Use data1;
create table t_1 (id int primary key not null identity (1,1),name nvarchar(20),age smallint)
注释:
字段id为主键、标识符列,会自动增长;
库data1中的表t_1的表结构:
注释:具体表名为 data1.dbo.t_1
######
往库data1中的表t_1里一次性插入多条记录:(字段id为主键、标识符列,会自动增长,不用写)
Use data1;
INSERT INTO t_1 (name,age) VALUES ('zhuohua',25);
INSERT INTO t_1 (name,age) VALUES ('Python',35);
INSERT INTO t_1 (name,age) VALUES ('李小芳',45);
INSERT INTO t_1 (name,age) VALUES ('张三',-55);
######
查询表data1.dbo.t_1中的所有记录:
Use data1;
Select * from t_1;
注释:可以看到标识符列id会自动增长。
######
######
创建自定义的数据库用户:
转到常规
输入登录名(用户名)、用户密码,选择默认数据库(data1):
注释:可以不勾选“强制实施密码策略”
数据库用户zhuohua新建成功:
编辑数据库用户zhuohua的属性:
转到用户映射
选择数据库(data1)、用户(zhuohua)、默认架构(dbo):
在库data1上进行授权:
转到权限
新数据库用户默认只有连接的权限:
可以根据情况,给予数据库用户更多的权限:
笺注:实验中给予了全部权限。
######
在服务器本地使用数据库用户zhuohua备份库data1:(是完整备份;文件夹d:\backup_dir要先创建好)
C:\Users\Administrator>sqlcmd -S localhost -U zhuohua -P 123 -Q "backup database data1 to disk='d:\backup_dir\data1_2019-9-2.bak';"
已为数据库 'data1',文件 'data1' (位于文件 1 上)处理了 184 页。
已为数据库 'data1',文件 'data1_log' (位于文件 1 上)处理了 2 页。
BACKUP DATABASE 成功处理了 186 页,花费 0.121 秒(11.997 MB/秒)。
C:\Users\Administrator>
备份出来的文件:
######
在CMD命令行程序中清空表data1.dbo.t_1中的所有记录:(字段“id”会从1重新开始)
C:\Users\Administrator>sqlcmd -S localhost -U zhuohua -P 123 -Q "Use data1;truncate table t_1;"
已将数据库上下文更改为 'data1'。
C:\Users\Administrator>
######
在CMD命令行程序中查询表data1.dbo.t_1中的所有记录:
C:\Users\Administrator>sqlcmd -S localhost -U zhuohua -P 123 -Q "Use data1;select * from t_1;"
已将数据库上下文更改为 'data1'。
id name age
----------- -------------------- ------
(0 行受影响)
C:\Users\Administrator>
######
在CMD命令行程序中使用数据库管理员sa还原库data1:
先让库data1离线,以便获得对库data1的独占访问权:
C:\Users\Administrator>sqlcmd -S localhost -U sa -P Jacky888 -Q "ALTER DATABASE data1 SET OFFLINE WITH ROLLBACK IMMEDIATE;"
C:\Users\Administrator>
还原库data1:(不需要先创建库data1;假如库data1存在时,就是完整的覆盖还原)
C:\Users\Administrator>sqlcmd -S localhost -U sa -P Jacky888 -Q "RESTORE DATABASE data1 FROM DISK='d:\backup_dir\data1_2019-9-2.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10;"
已处理百分之 12。
已处理百分之 21。
已处理百分之 30。
已处理百分之 43。
已处理百分之 51。
已处理百分之 60。
已处理百分之 73。
已处理百分之 81。
已处理百分之 90。
已处理百分之 100。
已为数据库 'data1',文件 'data1' (位于文件 1 上)处理了 184 页。
已为数据库 'data1',文件 'data1_log' (位于文件 1 上)处理了 2 页。
RESTORE DATABASE 成功处理了 186 页,花费 0.038 秒(38.201 MB/秒)。
C:\Users\Administrator>
######
再次在CMD命令行程序中查询表data1.dbo.t_1中的所有记录:
C:\Users\Administrator>sqlcmd -S localhost -U zhuohua -P 123 -Q "Use data1;select * from t_1;"
已将数据库上下文更改为 'data1'。
id name age
----------- -------------------- ------
1 zhuohua 25
2 Python 35
3 李小芳 45
4 张三 -55
(4 行受影响)
C:\Users\Administrator>
注释:库data1还原成功,会覆盖所有的表。
######
在服务器上使用Bat脚本备份库data1:
脚本Backup_data1.bat的内容:
@echo off
set bak_name=data1_%date:~0,4%%date:~5,2%%date:~8,2%
sqlcmd -S localhost -U zhuohua -P 123 -Q "backup database data1 to disk='d:\backup_dir\%bak_name%.bak';"
笺注:
双击脚本Backup_data1.bat即可进行备份;
是完整备份;
服务器的文件夹d:\backup_dir要先创建好;
备份出来的文件:
笺注:数据库备份文件只留在服务器上。
相关文章:
Windows2008R2_UPUPW_网站的备份和还原
使用Navicat远程管理MSSQL2014
MSSQL2014的备份与还原
CentOS8使用Python3脚本管理MSSQL2008R2 |