微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQLServer实践总结

1.如何收缩数据库

下面的语句将vrveis数据库未使用的空间释放给操作系统

Dump transaction vrveis with no_log;

DBCC shrinkfile (vrveis_log,Truncateonly)

2.如何定时执行sql语句?

Waitfor time ‘hh:mm’ sql

3.如何连接远程服务器

第一步:链接服务器

Exec sp_addlinkedserver @server=myserver,@srvproduct=’’,@provider=’sqlOLEDB’,@datasrc=’dbtest’

第二步:登录

Exec sp_addlinkedsrvlogin ‘myserver’,’false’,null,’sa’,’sa’

4.sql技巧:

Ø 查看对象占用的空间:Sp_spaceused 对象名,true【false】,其中,true和false表示是否更正sysindexes表的不正确内容

Ø Object_id(’对象名’)--此函数得到对象的ID,例:select * from sysindexes where id=object_id(‘tablename’)

Ø Set nocount on[off](认为Off):使返回的结果中不包含有关受sql语句影响的行数的信息。当为ON时,不返回计数信息;当为off时,返回计数信息。

5.sqlserver重要的系统表

表名

主要功能

存在的数据库

Sysobjects

主系统表,记录每个数据库对象的信息

每个数据库

Syscolumns

记录数据库的字段信息

Master,用户定义数据库

Sysindexes

记录数据库的索引信息

Master,用户定义数据库

Sysusers

记录数据库用户和角色信息

Master,用户定义数据库

Sysdepends

记录表、视图、存储过程的依赖关系信息

Master,用户定义数据库

Sysdatabases

系统数据库用户定义数据库的信息

Master

Sysconstraints

记录数据库完整性约束信息

Master,用户定义数据库

6.游标的使用

--定义游标

Declare student_cursor CURSOR FOR

Select * from 学生表

--打开游标

OPEN student_cursor

--使用游标

FETCH NEXT FROM student_cursor

或FETCH student_cursor INTO @stu_id,@stu_name…

--使用系统函数FETCH_STATUS来判断游标数据是否读取完毕

While(@@FETCH_STATUS=0)

Begin

//sql操作语句

FETCH student_cursor INTO @stu_id,@stu_name…

END

--关闭游标

CLOSE student_cursor

--释放游标

DEALLOCATE student_cursor

7.用sql执行备份操作(文件名包含年月日)

Declare @bakdate char(8),

@dest varchar(100)

Set @bakdate=(selectdatename(year,getdate())+datename(month,getdate())+datename (day,getdate())

Set @dest=’F:\...’+@bakdate+’.dat’

Backup database file_dept to disk=@dest;

Go

8.用sql生成自增列

Select num=(select sum(1) from daryxxb where dah<=a.dah),* from daryxxb a

9.修改数据库的逻辑文件

Alter database dagl_web

Modify file(

Name=dagl_oracle_log,

Newname=dagl_Web_log)

Alter database dagl_web

Modify file(

Name=dagl_oracle_data,

Newname=dagl_Web_data)

10.数据库无法进行事务日志备份

sqlServer中,想对某数据库进行事务日志的备份,但却只能选择“数据库完全备份”和“数据库差异备份”其它的两种都不能选;可用如下语句解决

exec sp_dboption 'dbname','trunc','false' go

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐