标签归档:sql运维

在windows操作系统中,编写批处理对数据库进行备份和删除备份操作


摘要:
下文讲述windows操作系统中,编写批处理bat文件备份数据库的方法分享,如下所示:

使用批处理备份数据库的具体步骤如下:

1.在master数据库下建立备份数据库的存储过程

    use [master]
     go

    create proc pr_backDataBase
       @dataBaseName sysname,
       @bakPath as NVARCHAR(300)
     as 
       begin
        
		 BACKUP DATABASE @dataBaseName TO DISK = @bakPath WITH FORMAT; --设置要备份的数据库
       end
     go
  


2.建立批处理文件,并调用Master数据库中的备份存储过程

   ---2.1 创建一个txt文件,将调用存储过程的批处理脚本放入txt文件中
     sqlcmd -S . -E -Q "EXEC master.dbo.pr_backDataBase" %执行存储过程实现备份% 

   ---2.2将此txt另存为***.bat文件
  


3.在windows的计划任务中,设置一个作业调用此批处理文件

mssql sqlserver 锁相关知识简介


摘要:
下文讲述sqlserver中锁知识的相关说明,如下所示:

Server

锁类型

锁说明
HOLDLOCK

使用共享锁后,待事务结束后,在释放相应的锁信息
NOLOCK

不进行任何锁定,其它锁定也不影响数据的获取,通过和select关键字一起使用
PAGLOCK

数据表页级锁
READCOMMITTED

用与运行在提交读隔离级别的事务相同的锁语义执行扫描
READPAST

跳过锁定行,返回查询结果,此关键字同select 一起使用时,不会读取被锁定的数据,不会出现阻塞现象,但是数据会少
READUNCOMMITTED

功能类似nolock
REPEATABLEREAD

用与运行在可重复读隔离级别的事务相同的锁语义执行扫描。
ROWLOCK

行级锁 比page锁还要小的锁粒度
SERIALIZABLE

用与运行在可串行读隔离级别的事务相同的锁语义执行扫描。等同于 HOLDLOCK。
TABLOCK

表锁, 是一个粒度比较大的锁定
TABLOCKX

表排它锁。该锁可以防止其它事务读取或更新表,并在语句或事务结束前一直持有。
UPDLOCK

读取表时使用更新锁,而不使用共享锁,并将锁一直保留到语句或事务的结束
XLOCK

使用排它锁并一直保持到由语句处理的所有数据上的事务结束时。
可以使用PAGLOCK或TABLOCK指定该锁,这种情况下排它锁适用于适当级别的粒度

mssql sqlserer 使用sql脚本将bak备份文件还原数据库,并指定数据文件的存放位置的方法分享


摘要:
下文讲述sqlserver中使用sql脚本还原数据库的方法分享

例:
将E盘的maomao365.bak文件还原到数据库 “maomao”,
并指定起数据文件放入D盘的data文件夹中,数据库文件名为maomao365.MDF
数据库日志文件名为maomao365Log.LDF

 
        RESTORE DATABASE [maomao] 
FROM  DISK = N'E:\maomao365.BAK' WITH  FILE = 1, 
 MOVE N'DataBase_Data' TO N'D:\Data\maomao365.MDF', 
 MOVE N'DataBase_Log' TO N'D:\Data\maomao365Log.LDF', 
 NOUNLOAD,  STATS = 10