海运的博客

SQL2008数据库恢复错误用户组当前数据库中已存在

发布时间:November 16, 2012 // 分类:数据库 // No Comments

SQL2008备份后恢复设定用户权限的时候提示用户、组或角色在当前数据库中已存在:
SQL2008用户组角色已存在.png
原因SQL数据库中包含一组用户和权限,使用存储过程sp_change_users_login更新用户数据库权限:

Use [dbname]
go
sp_change_users_login 'update_one', 'user', 'user'

SQL2008定时备份数据库并上传到FTP

发布时间:April 27, 2012 // 分类:备份存储,Windows // No Comments

首先新建数据库维护计划,定时执行数据库备份,打开数据库管理器——>管理——>维护计划——右键新建维护计划向导——>计划更改——>选择执行时间。
SQL维护计划执行时间.png
选择维护任务:备份数据库
SQL2008备份数据库完整.png
选择要备份的数据库,可选数据库备份目录,备份报告。
SQL2008选择要备份的数据库.png
维护计划添加完成。
SQL2008新建维护计划完成.png
FTP上传脚本,由于windows下ftp命令不支持被动模式,此脚本使用curl命令上传到FTP

set sqlpath=d:\back #备份目录
set dbname=onovps #备份数据库名称,例onovps.bak
set ftphost=www.haiyun.me #FTP服务器地址
set ftpuser=ftp #FTP用户
set ftppasswd=passwd #FTP密码
path=%path%;C:\Program Files\WinRAR\;C:\Program Files\curl\ #设置环境变量
cd %sqlpath%
Rar.exe a  "%dbname%"-"%date:~0,10%".rar -df "%dbname%".bak
curl -u  %ftpuser%:%ftppasswd% -T %dbname%-"%date:~0,10%".rar ftp://%ftphost%

然后将此脚本添加到计划任务,定时每天执行。

更新:
经过调试发现问题有点多哦,首先维护计划未成功执行,错误日记:SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 'WIN-KC19Q4LEIOD\Administrator' 的信息,错误代码 0x534。
解决:原来之前有更改过计算机名称,更改SQL管理器——>安全性——>登录名——>当前管理员账户前计算机名称。
其次维护计划执行后备份的数据库名称是随机的,不便于处理,使用sqlcmd命令备份数据库解决。

sqlcmd -U -P -Q "backup database onovps to disk="c:\back\onovps.bak"
-U:  #数据库用户 (可选)
-P   #数据库密码 (可选)
#如未指定-U -P以本地账户验证登录
#如果数据库以www.haiyun.me形式,须以[www.haiyun.me]方式备份,不然会提示语法错误

SQL2000/2008安全设置及更改服务运行账户非System

发布时间:April 24, 2012 // 分类:数据库 // No Comments

SQL如果在安装时未指定用户默认以system权限运行,这给服务器带来很大的安全隐患,可以更改运行账户为普通用户。
在CMD下新建运行SQL的用户,或在用户管理新建。

net user newuser password /add

SQL2000下,打开SQL企业管理器,选择local——右键——属性——安全性——启动服务用户
SQL2000更改服务运行用户.png
更改后确定重启SQL服务,要保证SQL安装目录、数据库目录新用户有读写权限,一般经过上述步骤后系统会自动更改相应权限。
SQL2008下,打开SQL server配置管理器,SQL server服务——SQL server——右键——属性。
SQL2008更改服务运行用户.png
SQL2000删除危险的扩展,包括xp_cmdshell。

use master
EXEC sp_dropextendedproc 'xp_cmdshell'
EXEC sp_dropextendedproc 'Sp_OACreate'
EXEC sp_dropextendedproc 'Sp_OADestroy'
EXEC sp_dropextendedproc 'Sp_OAGetErrorInfo'
EXEC sp_dropextendedproc 'Sp_OAGetProperty'
EXEC sp_dropextendedproc 'Sp_OAMethod'
EXEC sp_dropextendedproc 'Sp_OASetProperty'
EXEC sp_dropextendedproc 'Sp_OAStop'
EXEC sp_dropextendedproc 'Xp_regaddmultistring'
EXEC sp_dropextendedproc 'Xp_regdeletekey'
EXEC sp_dropextendedproc 'Xp_regdeletevalue'
EXEC sp_dropextendedproc 'Xp_regenumvalues'
EXEC sp_dropextendedproc 'Xp_regread'
EXEC sp_dropextendedproc 'Xp_regremovemultistring'
EXEC sp_dropextendedproc 'Xp_regwrite'
drop procedure sp_makewebtask 

网站数据库用户不要使用SA账号,新建特定账号拥有数据库public和db_owner权限。
sql数据库安全用户权限.png
更改TCP端口:
sql2000更改tcp端口.png

分类
最新文章
最近回复
  • 1: 方法一ngtcp2要改下:./configure PKG_CONFIG_PATH=/usr/l...
  • 海运: 关闭服务器
  • 海风: override.battery.charge.low以及override.battery.r...
  • koldjf: 不能过滤
  • 杰迪武士: 此文甚好甚强巨,依照此文在树莓派2 + Rasbian上部署成功 感谢博主美文共赏
  • 海运: ups不知有没选项可设置此参数,不过你可以在另外一台电脑上安装nut客户端自动关机。
  • kgami: 想请教一下,设置了的电脑自动关机之后,几秒后UPS怎么也跟着关机了,导致另外一台电脑没关机就断...
  • 海运: 写的很详细了啊,/etc/nut/hosts.conf用以nut-cgi连接nut服务器参数,...
  • ryan: 请问下nginx配置好了,怎么和这个nut链接呢?最后可视化管理这块能给个详细一点的教程么?谢谢。
  • 1: /etc/config/fstab配置文件 https://openwrt.org/zh/do...