页面

2012年12月22日星期六

MS SQL Server 使用sqlcmd 进行数据恢复

--数据恢复
RESTORE DATABASE [database_name]
FROM DISK = N'backup_file_path'
WITH FILE = 1,
MOVE N'database_logic_name' TO N'restore_database_file_path',
MOVE N'database_logic_name' TO ,' TO N'restore_database_file_path',
MOVE N'database_logic_name' TO N', restore_database_file_path',
NOUNLOAD, STATS = 10
GO

eg:
RESTORE DATABASE [yktparking]
FROM DISK = N'C:\c3_parking_data\c3\20120918'
WITH FILE = 1,
MOVE N'C30904_Data' TO N'C:\c3testbase\datafiles\yktc3.mdf',
MOVE N'c3backup' TO N'C:\c3testbase\datafiles\yktc3.ndf',
MOVE N'C30904_log' TO N'C:\c3testbase\datafiles\yktc3.ldf',
NOUNLOAD, STATS = 10
GO

2012年12月19日星期三

sqlSQL2008如何创建定时作业

来源:csdn博客 SQL2008如何创建定时作业?
此方法也适应于Sql Server2005数据库,有兴趣的可以来看下!
 1.打开【SQL Server Management Studio】,在【对象资源管理器】列表中选择【SQL Server 代理】;

2.鼠标右击【SQL Server 代理】,选择【启动(S)】,如已启动,可以省略此步骤;


3.展开【SQL Server 代理】列表,右击【作业】-->【新建作业】;

 3.1 在【常规】选项卡中: -- 输入作业名称,如"My Job";
 3.2 在【步骤】选项卡中:
   3.2.1 点击【新建】,输入【步骤名称】,如“步骤1”,类型默认T-SQL脚本,也可以选择SSIS包等;
   3.2.2 在【数据库】一栏选择要作业处理的数据库,在【命令】的右边空白编辑栏输入要执行的SQL代码, EXEC p_Name --如:执行一个P_Name的存储过程 -- 也可以点击命令下面的【打开】,打开.sql脚本;
   3.2.3 输入运行脚本后,建议点击【分析】,确保脚本语法正确,然后点击下面的【确定】按钮;

 3.3 在【计划】选项卡中:
   3.3.1 点击【新建】,输入【计划名称】,如“计划1”,计划类型默认是”重复执行”,也可以选择执行一次等;
   3.3.2 在【频率】-->【执行】处选择“每天”、“每周”或“每月”,以“每天”为例,间隔时间输入间隔几天执行一次, -- 下面还可以选择每天一次性执行或间隔一定的时间重复执行
   3.3.3 在【持续时间】中选择计划开始执行的【起始日期】和【截止日期】,然后点击【确定】按钮; --注意要将服务设置为自动启动,否则在重启服务器后作业就不运行了。 --启动代理服务的方法: --开始-->运行-->输入services.msc-->找到【SQL Server 代理】的服务并双击-->【启动类型】选择“自动”-->【确定】

--至此,定时作业已创建完毕。

2012年6月29日星期五

检查setuid文件 脚本

  setuid相关: setuid文件允许用户以root身份执行命令,setgid文件运行用户以root用户组执行文件,存在危险性,要定期检查setuid和setgid文件!
检查setuid文件:
 /usr/bin/find / -perm -4000 -o -perm -2000 >/tmp/setuid.check   #找出系统中所有 setuid 和 setgid的文件 把输出重定向到文件 setuid.check
for file in `/bin/cat /tmp/setuid.check`
do
        /bin/grep $file /script/setuid.list > /dev/null         #用脚本生成的文件和备案的setuid列表文件进行对比,查处不同的文件
               if [ "$?" != "0" ]
               then
                      echo "$file isn't in list! it's danger!!"
               fi
done

/bin/rm /tmp/setuid.check                     #检查完毕删除setuid.check文件
假设命令kill被设置了SetUID ,则会检测提示:
/bin/kill isn't in list! it's danger!!

2012年5月31日星期四

sansung i9250 GALAXY Nexus PC驱动安装不上

摘自我的百度博客:http://hi.baidu.com/haven_blue/item/70f7486a7c056037ad3e838e
 过年前朋友买了i9250一台,由于PC出了点故障,而且pc运行比较慢,于是就让我给他重装系统。由于系统是ghost版的xp,安装完系统后,用usb线把手机连上电脑,提示安装驱动,可是安装驱动时出错,具体出错信息现在也忘了,导致不能当u盘使用。使用豌豆荚,91手机助手都不能解决问题。后来看帖子有人说用驱动人生或者驱动精灵可以解决此类问题。下载了最新的驱动人生,连上手机,检查最新驱动,果然提示安装手机驱动,于是更新驱动重启手机,果然成功了!
       至于具体原因就不清楚了,因为在更新驱动时我是更新了PC所有可以更新的驱动的,也更新了.net  framework的。就是不清楚是其他驱动导致这样的问题还是系统一些系统库文件没有更新所导致了! 要是有人知道原因,希望能在评论中解说!

Linux sed & sort

在开始说sed命令前先说说正则表达式

. 匹配任一个字符

^ 匹配行首

$  匹配行结束

[a-z]  ##匹配任意一个小写字母
[A-Z] ##匹配任意一个大写字母
[0-9] ##匹配任意一个数字

2012年5月13日星期日

win7 64位 php无法加载mysql

 今天在机子上搭建php+mysql+apache环境,安装软件一切顺利,apache中加载php模块也很顺利!但是php加载mysql的时候,怎么搞都加载不了,网上的方法都试过了,什么拷贝libmysql.dll文件到system32下面,重新制定php.ini里的 ext_dir都试过了,都没用!后来意识到我这台机的系统是win7 64位的,会不会与系统有关,特别是64位!因为之前在win7 32位上搭建过环境,一切都正常的!

        于是在网上加上系统环境搜索了下,终于找到解决方法,很简单,只有把php的安装路径写到path里就可以了!于是把php的安装路径写到path里,果真如此,mysql,mysqli都加载上了!

2012年5月5日星期六

Oracle OEM重建&sys用户不能远程登录 问题解决

     今天,在虚拟机里的Oracle 10g 做了ASM数据库的创建实验。库创建成功后,oem却起不来了,决定重建oem。期间遇到了不少问题,再次记下来,与大家分享!
     因为使用 emca -deconfig dbcontrol db -repos drop 删除 oem时,是不能完全删除的!
需要在sqlplus下 ,先删除一些相关的同义词,角色和用户
如下:

2012年5月3日星期四

oracle 10g 手工建库 rman备份


上星期培训时老师给我们示范了在Linux下 oralce 10g 手工建库,自己按照老师给的文本,按步骤操作了一次,其中有些地方是遇到一些问题的主要是目录创建问题,有些目录老师在详细步骤中没有写到,但是在建库的时和备份是是要用到那些目录的,下面把详细的步骤写下来:
预备工作:
查看oralce用户的环境变量:ORACLE_BASE,ORACLE_HOME,ORACLE_SID。
在练习的时候,如果你安装数据库软件的时候同时把库给安装上了,请先把数据库删除。
数据库删除可以使用dbca工具,在oracle用户下敲命令dbca(前提是UI界面)   会弹出dbca的界面,选择删除数据库按照步骤一步步来就可以了。
也可以用命令删除,命令需要进入sqlplus 
SQL> drop database;
删除数据库会花一点时间。

office 2003 excel如何在打印时使得单元格数字自动增加(账单号码自动增加)


 今天,一朋友需要打印很多账单,账单号格式已定。她不想在每次打印账单的时候都要改一次账单号,再打印!她希望每次打印账单的时候账单号自动加一! 于是,找我帮她个忙,其实我也知道怎么搞,但是知道需要写一些vb代码!于是上网找了下果然找到了这样的代码!
     代码如下:
     Private Sub Workbook_BeforePrint(Cancel As Boolean)
    confirm = MsgBox("自动更新单据编号?", vbYesNoCancel)    If confirm = 2 Then Cancel = True: Exit Sub    If confirm= 6 Then    With ActiveSheet.Range("G5")         .Value = "No.  "&Format(Date, "yyyy") & Format(Val(Right(.Value, 4)) + 1, "0000")    End With    End IfEnd Sub
这段代码在百度知道里找到的,个人做了些修改!

 With ActiveSheet.Range("G5") 
这句代码是选择当前活动的Sheet的G5单元格。朋友的excel文档有多个sheet,而且每个sheet的G5单元格都是账单号。
-------------------------------
ps:操作,打开excel文档,按Alt+F11 进入vba模式,选择左侧栏的ThisWorkbook 然后在右侧代码编辑区贴上以上代码就可以了!
-----
from my Baidu bloger!