通过日志还原数据库(1)
从日志回复数据库 :自己一步一步按照说明试着看 --创建测试数据库 CREATE DATABASE Db GO --对数据库进行备份 BACKUP DATABASE Db TO DISK='c:\db.bak' WITH FORMAT GO --创建测试表 CREATE TABLE Db.dbo.TB_test(ID int) --延时1秒钟,再进行后面的操作(这是由于SQL Server的时间精度最大为百分之三秒,不延时的话,可能会导致还原到时间点的操作失败) WAITFOR DELAY '00:00:01' GO --假设我们现在误操作删除了 Db....
SQL游标示例
游标一般格式: DECLARE 游标名称 CURSOR FOR SELECT 字段1,字段2,字段3,... FROM 表名 WHERE ... OPEN 游标名称 FETCH NEXT FROM 游标名称 INTO 变量名1,变量名2,变量名3,... WHILE @@FETCH_STATUS=0 BEGIN SQL语句执行过程... ... FETCH NEXT FROM 游标名称 INTO 变量名1,变量名2,变量名3,... END CLOSE 游标名称 DEALLOCATE 游标名称 例子: /* 功能:数据库表格tbl_users数据 deptid userid username 1 100 a 1 101 b 2 ...
NULL对IN查询的影响
--1. NULL 对 IN(NOT IN) 查询的影响 --测试数据 DECLARE @1 TABLE(col1 int) INSERT @1 SELECT 1 UNION ALL SELECT NULL UNION ALL SELECT 2 DECLARE @2 TABLE(col1 int) INSERT @2 SELECT 1 --查询 SELECT [@1总记录数]=COUNT(*) FROM @1 --结果: 3 SELECT [@1在@2表中存在的记录数]=COUNT(*) FROM @1 a WHERE col1 IN(SELECT col1 FROM @2) --结果: 1 SELECT [@1在@2表中存在的记录数]=COUNT(*) FROM @1 a WHERE col1 NOT IN(SELECT col1 FROM @2) --结果: 1 --在@2中插入一条NULL值 INSERT @2 SE...
定时调用存储过程的作业
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_JobSet]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[p_JobSet] GO /*--指定时间调用存储过程 创建一个在指定时间,调用指定存储过程的作业 作业执行完成后会自动删除 /*--调用示例 declare @dt datetime set @dt=dateadd(minute,1,getdate()) --当前时间1分钟后执行 exec p_JobSet 'master.dbo.xp_cmdshell ''dir c:\*.*''',@dt --*/ create proc p_JobSet @prorcname ...
根据时间不同来触发
/******************* 功能:根据时间更改人物 K1 的倍数 时间:2010-11-12 作者:龙歌网络 ************************/ USE PS_GameData GO --判断是否存在触发器 if exists(select name from sysobjects where name='trig_Chars_Up_K1') drop trigger trig_Chars_Up_K1 go --创建触发器 create trigger trig_Chars_Up_K1 on Chars for Update as --声明要用到的变量,userid用户名,times倍数 declare @UserID varchar(50),@times int select @UserID=[UserID] from inserted begin if (Datepart(weekday,...
重置SQL Server 自动增长
方法1: 复制代码代码如下: truncate table TableName 删除表中的所有的数据的同时,将自动增长清零。 如果有外键参考这个表,这个方法会报错(即便主键表和外键表都已经没有数据),请参考方法2。 PS: 用delete删除数据,自动增长不会清零的哦。 方法2: 复制代码代码如下: DBCC CHECKIDENT('TableName', RESEED, 0) 不删除表的数据,直接重置自动增长的值。
SQL Server中的数据存储形式
sql server 是一个关系数据库管理系统,它最初是由microsoft 、sybase 和ashton-tate三家公司共同开发的,于1988 年推出了第一个os/2 版本。在windows nt 推出后microsoft与sybase 在sql server 的开发上就分道扬镳了,microsoft 将sql server 移植到windows nt系统上专注于开发推广sql server 的windows nt 版本,sybase 则较专注于sql server在unix 操作系统上的应用。 sql server 2000 是microsoft 公司2000年推出的sql server 数据库管理版本。该版本继承了sql server 7.0 版本的优点同时又比它增加了许多更...
sqlserver 中NOLOCK、HOLDLOCK、UPDLOCK、TABLOCK、TABLOCKX
NOLOCK(不加锁) 此选项被选中时,SQL Server 在读取或修改数据时不加任何锁。 在这种情况下,用户有可能读取到未完成事务(Uncommited Transaction)或回滚(Roll Back)中的数据, 即所谓的“脏数据”。 HOLDLOCK(保持锁) 此选项被选中时,SQL Server 会将此共享锁保持至整个事务结束,而不会在途中释放。 UPDLOCK(修改锁) 此选项被选中时,SQL Server 在读取数据时使用修改锁来代替共享锁,并将此锁保持至整个事务或命令结束。使用此选项能够保证多个进程能同时读取数据但只有该进程能修改数据。 TABLOCK(表...
Access、MySQL 以及 SQL Server数据类型区别
Microsoft Access、MySQL 以及 SQL Server 所使用的数据类型和范围。 Microsoft Access 数据类型 数据类型 描述 存储 Text 用于文本或文本与数字的组合。最多 255 个字符。 Memo Memo 用于更大数量的文本。最多存储 65,536 个字符。 注释:无法对 memo 字段进行排序。不过它们是可搜索的。 Byte 允许 0 到 255 的数字。 1 字节 Integer 允许介于 -32,768 到 32,767 之间的数字。 2 字节 Long 允许介于 -2,147,483,648 与 2,147,483,647 之间的全部数字 4 字节 Single 单精度浮点。处理大多数...
SQLServer2005实用教程 pdf下载
http://ishare.iask.sina.com.cn/f/11511270.html