More Related Content
Similar to Sql Server 2005 Basic02 (7)
Sql Server 2005 Basic02
- 2. 命名规则
数据库命名规则 :
命名规则取决于数据库的兼容级别 , 不同的级别对应不同的规则
级别可以为 : 60; 65; 70; 80(sqlserver2000); 90(sqlserver2005)
90 的命名规则 :
1. 长度不能超过 128 个字符
2. 本地临时表名称不能超过 116 个字符
3. 名称的第一个字符必须是英文、中文 ( 其它语言字母 ) 、下划
线、 @ 、 # 符号。
4. 除了第一个字符之外的字符,还可以包括数字、 $
5. 名称中间不能有空格或者其他字符
6. 名称不能是保留字
- 8. 数据库的状态
• ONLINE 在线
• OFFLINE 离线
• RESTORING 还原
• RECOVERING 恢复
• RECOVER PENDING 恢复待定
• SUSPECT 可疑
• EMERGENCY
- 10. USE [master]
GO
CREATE DATABASE [DB_test]
ON PRIMARY
( NAME = N'test_Data1', FILENAME = N'D:datafilefile1.mdf' , SIZE = 2048KB ,
MAXSIZE = UNLIMITED, FILEGROWTH = 5120KB /*5%*/ ),
FILEGROUP [FileGroup1]
( NAME = N'test_Data2', FILENAME = N'E:datefile2file2.ndf' , MAXSIZE = UNLIMITED,
FILEGROWTH = 5120KB ),
( NAME = N'test_Data3', FILENAME = N'E:datefile2file3.ndf' , MAXSIZE = UNLIMITED,
FILEGROWTH = 5120KB )
LOG ON
( NAME = N'test_Log', FILENAME = N'D:datafiletest_log.LDF' ,FILEGROWTH =
20480KB )
COLLATE Chinese_PRC_BIN
--[ WITH ... ]
GO
- 11. 排序规则 COLLATE
如果 SQL Server 实例的所有用户都使用同一种语言,则应选择
支持该语言的排序规则。例如,若所有用户都讲法语,则选择法
语排序规则。
如果 SQL Server 实例的用户使用多种语言,则应选择能对多语
种需求提供最佳支持的排序规则。例如,如果用户一般都讲西欧
语言,则选择 Latin1_General 排序规则。
当支持使用多种语言的用户时,对所有字符数据都使用
Unicode 数据类型 nchar 、 nvarchar 和 ntext 最为重
要。 Unicode 旨在消除非 Unicode char 、 varchar 和 text
数据类型的代码页转换困难。
检索 Windows 排序规则和 SQL 排序规则的所有有效排序规则
名称的列表:
SELECT * FROM ::fn_helpcollations()
- 12. SQL 排序规则示例
字典顺序、区分大小写、区分重音、用于 1252 字符集。
该排序规则对美国英语字符集(代码页 1252 - Windows Latin 1
ANSI ,排序次序 ID 54 )使用字典排序规则。排序时不考虑大
、小写字符和重音符号。
在 Transact-SQL 中,字符串 SQL_Latin1_General_CP1_CI_AI
用于指定该设置。
CI 指定不区分大小写, CS 指定区分大小写。
AI 指定不区分重音, AS 指定区分重音。
Omitted 指定不区分大小写, KS 指定区分假名类型。
Omitted 指定不区分大小写, WS 指定区分大小写。
BIN 指定使用二进制排序次序。
- 13. 下面是 Windows 排序规则名称的一些示例:
• Latin1_General_CI_AS
• 排序规则使用 Latin1 General 字典排序规则,代码页为
1252 。不区分大小写但区分重音。
• Estonian_CS_AS
• 排序规则使用爱沙尼亚字典排序规则,代码页为 1257 。区
分大小写并区分重音。
• Latin1_General_BIN
• 排序规则使用代码页 1252 和二进制排序规则。忽略 Latin1
General 字典排序规则。
- 15. 附加数据库 :
• 使用工具操作
• 使用 T-SQL
exec sp_attach_db [dbname], 'd:*.mdf','d:*.ldf'
以上方式最多只能列出 16 个文件,如超出只能使用以下方式
create database [dbname]
on (filename = '.......mdf'),
(filename = '.......ldf')
可以删除日志文件后仅附加数据文件,系统会自动创建新的
日志文件
分离和附加数据库
- 18. 数据库
自动收缩
ALTER DATABASE [dbname]
SET AUTO_SHRINK ON
手动收缩
DBCC SHRINKDATABASE
( [ 'dbname' | dbid | 0 ] [, target_percent]
[, {notruncate | truncateonly } ]
)
-- dbcc shrinkdatabase (dbname1,10)
- 23. 索引与数据完整性
聚集索引
数据表本身就是 索引的一部分,意即 数据表本省就是聚集索引
的叶子层,整个数据表的摆放都是按照你选定的键值排序的。数
据表内的数据实际摆放方式只可能有一种顺序,所以一个数据表
只能有一个聚集索引。
在指定聚集索引时,数据字段本身并不需要唯一,若指定非唯
一的聚集索引, sqlserver 内部会自行为重复的键值建立 4bytes
的唯一标识
非聚集索引
完全独立于数据表之外的结构,其叶子层放的数据有两种可能
书签 (bookmark) 或聚集索引的键值