SqlServer命名规范
命名过程中如有现存的缩写,则使用该缩写,如无,一律不得缩写,例:ISBN
数据库:用一个或三个以下英文单词组成,单词首字母大写,如:DepartmentManage;
表名:使用名词性质的单词全拼表示,各单词首字母大写, 使用复数形式,如:Books
如果该表用于表明另外两表中字段间的关系,用单数(即表明实体间的关系的表用单数命名),单词中间无“and of in”之类的介词
如:BookAuthor
1. 表中的字段一般使用名词性质的单词全拼表示,采用一个或三个以下英文单词组成,单词首字母大写,如:UserName;
2. 表主键名称为:表名+ID,如Document表的主键名为:DocumentID
3. 外键名称位:主表名+对应列名,如:DepartmentsID,说明如下:
在表Departments中,其字段有:ID, DepartmentName
在表UserInfo中,其字段有:UserId,UserName,DepartmentsID DepartmentsID为外键
4. 表中自动增长的列一律命名为:ID;
5. 如果字段为bool型,则使用"IsShow","IsValid","HasPassed","HasExamined","IgnoreCase"这种形式表示
6. 如果字段位DateTime型,切且默认值是取系统时间,一律命名位:CheckDate
7. Status为表中状态的列名,默认值为0,在表中删除操作将会改变Status的值而不真实删除该记录;
8. 存储过程命名:sp_表名_方法,如:sp_News_Add,sp_News_Update;
9. 视图命名:vi_表名,如:vi_News;
10. 表、存储过程、视图等对象的所有都为dbo,不要使用数据库用户名,这样会影响数据库用户的更改
相关文档:
查看是否区分大小写-执行存储过程sys.sp_server_info
exec sys.sp_server_info
查看第18行COLLATION_SEQ-collation属性
charset=cp936 collation=Chinese_PRC_CS_AS
cs为区分大小写,CI为不区分大小写
将区分大小写改为不区分大小写
alter database yourDB COLLATE Chinese_PRC_CI_AS
将不区分大小写改为区分大小写
......
查看是否区分大小写-执行存储过程sys.sp_server_info
exec sys.sp_server_info
查看第18行COLLATION_SEQ-collation属性
charset=cp936 collation=Chinese_PRC_CS_AS
cs为区分大小写,CI为不区分大小写
将区分大小写改为不区分大小写
alter database yourDB COLLATE Chinese_PRC_CI_AS
将不区分大小写改为区分大小写
......
--spid:死锁的进程,tableName :死锁的表
select request_session_id spid,OBJECT_NAME(resource_associated_entity_id)tableName from sys.dm_tran_locks
where resource_type='OBJECT'
--spid:要结束的进程id
kill spid ......
在主数据库文件进行大量的删除(新增,修改都会有日志),日志文件有1.5G。昨天还原数据库时初始值也才1MB。必须清除掉,不然太占空间了。上网找了个清除日志的方法。顺利将日志文件log.ldf从1.5G变为了1M。 我执行如下:
1.清空日志
DUMP TRANSACTION 库名 WITH NO_LOG
2.截断事务日志:
BACKUP LOG ......