kk Blog —— 通用基础


date [-d @int|str] [+%s|"+%F %T"]
netstat -ltunp
sar -n DEV 1

ASP 备份sqlserver

https://www.cnblogs.com/yechuan/articles/84208.html

只有备份

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<HTML>
<HEAD>
	<TITLE>SQL Server 数据库的备份</TITLE>
	<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</HEAD>
<BODY>
<form method="post" name=myform>
选择操作:<INPUT TYPE="radio" NAME="act" id="act_backup" value="backup"><label for=act_backup>备份</label> 
<input type="submit" value="确定">
</form>

<%

dim sqlserver,sqlname,sqlpassword,sqlLoginTimeout,databasename,bak_file,act

sqlserver = "127.0.0.1"       'sql服务器
sqlname = "dbname"        '用户名
sqlpassword = "passwd"        '密码
sqlLoginTimeout = 15      '登陆超时
databasename = "dbname"
bak_file = Server.MapPath(".") & "\np.sql"

act = lcase(request("act"))
if databasename = "" then
	response.write "input database name"
else
	if act = "backup" then
		Set srv=Server.CreateObject("SQLDMO.SQLServer")
		srv.LoginTimeout = sqlLoginTimeout
		srv.Connect sqlserver,sqlname, sqlpassword
		Set bak = Server.CreateObject("SQLDMO.Backup")
		bak.Database=databasename
		bak.Devices=Files
		bak.Files=bak_file
		bak.SQLBackup srv
		if err.number>0 then
			response.write err.number&"<font color=red><br>"
			response.write err.description&"</font>"
		end if
		Response.write "<font color=green>备份成功!</font>"
	else
		Response.write "<font color=red>没有选择操作</font>"
	end if
end if
%>
</BODY>
</HTML>

all

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<HTML>
<HEAD>
	<TITLE>SQL Server 数据库的备份与恢复</TITLE>
	<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</HEAD>
<BODY>

<form method="post" name=myform>
选择操作:<INPUT TYPE="radio" NAME="act" id="act_backup" value="backup"><label for=act_backup>备份</label> 
<INPUT TYPE="radio" NAME="act" id="act_restore" value="restore"><label for=act_restore>恢复</label>
<br>数据库名:<INPUT TYPE="text" NAME="databasename" value="<%=request("databasename")%>">
<br>文件路径:<INPUT TYPE="text" NAME="bak_file" value="c:\$1.bak">(备份或恢复的文件路径)<br>
<input type="submit" value="确定">
</form>

<%

dim sqlserver,sqlname,sqlpassword,sqlLoginTimeout,databasename,bak_file,act

sqlserver = "localhost"     'sql服务器
sqlname = "sa"          '用户名
sqlpassword = "sa"      '密码
sqlLoginTimeout = 15        '登陆超时
databasename = trim(request("databasename"))
bak_file = trim(request("bak_file"))
bak_file = replace(bak_file,"$1",databasename)
act = lcase(request("act"))

if databasename = "" then
	response.write "input database name"
else
	if act = "backup" then
		Set srv=Server.CreateObject("SQLDMO.SQLServer")
		srv.LoginTimeout = sqlLoginTimeout
		srv.Connect sqlserver,sqlname, sqlpassword
		Set bak = Server.CreateObject("SQLDMO.Backup")
		bak.Database=databasename
		bak.Devices=Files
		bak.Files=bak_file
		bak.SQLBackup srv
		if err.number>0 then
			response.write err.number&"<font color=red><br>"
			response.write err.description&"</font>"
		end if
		Response.write "<font color=green>备份成功!</font>"
	elseif act = "restore" then
		'恢复时要在没有使用数据库时进行!
		Set srv=Server.CreateObject("SQLDMO.SQLServer")
		srv.LoginTimeout = sqlLoginTimeout
		srv.Connect sqlserver,sqlname, sqlpassword
		Set rest=Server.CreateObject("SQLDMO.Restore")
		rest.Action=0 ' full db restore
		rest.Database=databasename
		rest.Devices=Files
		rest.Files=bak_file
		rest.ReplaceDatabase=True 'Force restore over existing database
		if err.number>0 then
			response.write err.number&"<font color=red><br>"
			response.write err.description&"</font>"
		end if
		rest.SQLRestore srv

		Response.write "<font color=green>恢复成功!</font>"
	else
		Response.write "<font color=red>没有选择操作</font>"
     end if
end if

%>
</BODY>
</HTML>

mysql union all 比较两个表不同的数据

https://blog.csdn.net/JustDI0209/article/details/122492293

https://blog.csdn.net/u010931123/article/details/82425580

1
select * from (select * from rs.zzdmk union all select * from rs2.zzdmk) t group by pbf, sxh HAVING count(*)=1;

count( * ) = 1 为两张表数据不同的地方(只有一条结果),count( * ) = 2 为两张表数据相同的地方。

union和union all的区别

union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。

Union

对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;

UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。

实际大部分应用中是不会产生重复的记录,最常见的是过程表与历史表UNION

Union All

对两个结果集进行并集操作,包括重复行,不进行排序;

如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了。