sqlserverDBA入门教程文档格式.docx
- 文档编号:5589317
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:17
- 大小:68.58KB
sqlserverDBA入门教程文档格式.docx
《sqlserverDBA入门教程文档格式.docx》由会员分享,可在线阅读,更多相关《sqlserverDBA入门教程文档格式.docx(17页珍藏版)》请在冰点文库上搜索。
蹭网卡的一个系统数据库,该数据库包含SQLServer正常运行所需的重要系统表、元数据和存储过程,它们是只读的。
它只在安装新的补丁程序包时才发生写入操作。
C:
\ProgramFiles\MicrosoftSQLServer\MSSQL.1\MSSQL\Data\mssqlsystemresouce.mdf,每个实例只包含一个Resource数据库。
(2)master数据库
Master
数据库包含有关用户数据库的元数据(数据库配置和文件位置)、登录名以及有关实例的配置信息。
如果这个重要的数据库丢失,SQLServer将不能启动。
查询服务器安装数据库:
select*fromsys.databases
(3)tempdb数据库
Tempdb类似于数据库的交换
红血丝
银杏树文件,它用于为所有登录名保存临时对象。
Tempdb数据库在SQLServer每次重新启动时自动创建,当SQLServer停止运行时,该数据库将自动重新创建为其原始大小。
(4)model数据库
Model数据库是SQLServer创建新数据库时使用它作为模板。
创建每个数据库时,首先将model数据库中的所有对象复制到新数据库的空壳中。
(5)msdb数据库
Msdb数据库包含SQLServer代理、日志传送、SSIS和关系数据库引擎的备份和恢复系统等使用的信息。
4、架构
架构让用户能够将数据库对象根据其用途进行分组,可将架构视为数据库中对象的逻辑分组。
调用架构中的对象时,需要使用至少包含两部分的名称。
用户较熟悉dbo架构,对于给定数据库,它是默认的架构。
以前版本架构与用户名绑定。
5、同义词
同义词在数据库对象和客户端之间
徐州搬家公司
减肥产品排行榜创建一个抽象层,实质上它为数据库对象创建另一个逻辑名称。
这种抽象使得在使用链接服务器时非常方便。
SELECTColumn1,Column2
FROMLinkedServerName.DatabaseName.SchemaName.TableName
同义词不能引用另一个同义词。
6、动态管理视图
DMV和函数返回有关SQLServer实例和操作系统的信息。
DMV来获取当前连接到该实例的会话数量。
DMV来获取数据
达达棋牌
玻璃清洗机库数据文件的I/O统计。
7、SQLServer2005数据类型
(1)字符数据类型
包括varchar、char、nvarchar、nchar、text、ntext。
(2)数值数据类型
包括:
bit、tinyint、smallint、int、bigint、numberic、decimal、money、float、real。
(3)二进制数据类型
包括类型:
varbinary、binary、varbinary(max)、image等二进制数据类型用于存储二进制数据。
Image数据类型蚵在数据页外部存储最多2GB的文件,varbinary(max)它可保存最多8KB的二进制数据,其性能通常比image类型
昆山搬家公司
昆山空调维修www.ks-列好。
(4)XML
初期数据保存到text或varchar列中,最适合的XML数据类型。
(5)DateTime
Datetime和smalldatetime数据类型都用于存储日期和时间数据。
(6)CLR集成
3、SQLServer版本
SQLServer2005支持操作系统:
Win2000sp4+专业版(企业版除外)、服务器版、win2003Serversp1+、winXP家庭版(工作组、标准版、企业版除外)、专业版sp2+
SQL速成版,32位内存支持1GB、最大数据库大小4GB、处理器数量1
二、SQLServer2005安装最佳实践
1、示例数据库
AdventureWorks:
\ProgramFiles\MicrosoftSQLServer\90\Tools\Samples\AdventureWorksOLTP\instawdb.sql
2、测试系统
(1)SQLIO工具
示例:
(2)SQLIOStress工具
3、失败安装排错
\ProgramFiles\MicrosoftSQLServer\90\SetupBootstrap\LOG
三、监视SQLServer
1、监视工具
sp_who、sp_who2、sp_lock
2、性能监视器
三个方面:
(1)处理器使用率;
(2)磁盘活动;
(3)内存使用率;
3、查看锁定信息
SELECTl.resource_type,l.resource_associated_entity_id
OBJECT_NAME(sp.OBJECT_ID)ASObjectName
l.request_status,l.request_mode,request_session_id
l.resource_description
FROMsys.dm_tran_locksl
LEFTJOINsys.partitionssp
ONsp.hobt_id=l.resource_associated_entity_id
WHEREl.resource_database_id=DB_ID()
4、数据库中的索引使用情况
--------------------------------------------------------------------------------
IFOBJECT_ID('
dbo.IndexUsageStats'
)ISNULL
CREATETABLEdbo.IndexUsageStats
(
IndexNamesysnameNULL
ObjectNamesysnameNOTNULL
user_seeksbigintNOTNULL
user_scansbigintNOTNULL
user_lookupsbigintNOTNULL
user_updatesbigintNOTNULL
last_user_seekdatetimeNULL
last_user_scandatetimeNULL
last_user_lookupdatetimeNULL
last_user_updatedatetimeNULL
StatusDatedatetimeNOTNULL
DatabaseNamesysnameNOTNULL
)
GO
----BelowquerywillgiveyouindexUSEDpertableinadatabase.----
INSERTINTOdbo.IndexUsageStats
IndexName
ObjectName
user_seeks
user_scans
user_lookups
user_updates
last_user_seek
last_user_scan
last_user_lookup
last_user_update
StatusDate
DatabaseName
SELECT
si.nameASIndexName
so.nameASObjectName
diu.user_seeks
diu.user_scans
diu.user_lookups
diu.user_updates
diu.last_user_seek
diu.last_user_scan
diu.last_user_lookup
diu.last_user_update
GETDATE()ASStatusDate
sd.nameASDatabaseName
FROMsys.dm_db_index_usage_statsdiu
JOINsys.indexessi
ONdiu.object_id=si.object_id
ANDdiu.index_id=si.index_id
JOINsys.all_objectsso
ONso.object_id=si.object_id
JOINsys.databasessd
ONsd.database_id=diu.database_id
WHEREis_ms_shipped<
>
1
ANDdiu.database_id=DB_ID()
dbo.NotUsedIndexes'
CREATETABLEdbo.NotUsedIndexes
----BelowquerywillgiveyouindexwhichareNOTusedpertableinadatabase.----
INSERTdbo.NotUsedIndexes
DB_NAME()
FROMsys.indexessi
WHEREsi.index_idNOTIN(
SELECTindex_id
FROMsys.dm_db_index_usage_statsdiu
WHEREsi.object_id=diu.object_id
ANDsi.index_id=diu.index_id
)
ANDso.is_ms_shipped<
5、查看阻塞情况
t1.resource_type
t1.resource_database_id
t1.resource_associated_entity_id
t1.request_mode
t1.request_session_id
t2.blocking_session_id
FROMsys.dm_tran_locksast1
JOINsys.dm_os_waiting_tasksast2
ONt1.lock_owner_address=t2.resource_address
ONsp.hobt_id=t1.resource_associated_entity_id
6、已连接用户的信息
SELECTlogin_name,count(session_id)assession_count
FROMsys.dm_exec_sessions
GROUPBYlogin_name
7、内存使用情况
name
type
SUM(single_pages_kb+multi_pages_kb)ASMemoryUsedInKB
FROMsys.dm_os_memory_clerks
GROUPBYname,type
ORDERBYSUM(single_pages_kb+multi_pages_kb)DESC
四、数据库索引维护
监视索引碎片:
DBCCSHOWCONFIG、Sys.dm_db_index_physical_stats
整理索引:
(1)删除并重新创建索引;
(2)ALTERINDEXREORGANIZE,如:
Alterindexallonpeoplereorganize
(3)ALTERINDEXREBUILD,如:
Alterindexallonpeoplerebuild
五、碎片化
安装避免碎片化最佳方式如下:
(1)安装操作系统;
(2)对磁盘进行碎片整理;
(3)安装任何应用程序(SQLServer);
(4)对磁盘执行碎片整理;
(5)对最大尺寸创建数据文件和日志文件;
(6)检查碎片化状态并在必要时执行磁盘碎片整理;
(7)禁用自动增长;
(8)定期对磁盘执行碎片整理,以消除其他应用程序导致的碎片。
六、磁盘和I/O特征及内存项
1、数据分析
RAID0:
I/Osperdisk=(Reads+Writes)/磁盘数
RAID1:
I/Osperdisk=[Reads+(2*Writes)]/2
RAID5:
I/Osperdisk=[Reads+(4*Writes)]/磁盘数
RAID10:
I/Osperdisk=[Reads+(2*Writes)]//磁盘数
2、一些基本的磁盘信息
磁盘转速
旋转延时
磁道延时
寻道时间
数据传输率
8KB传输时间
总延时
5400r/min
5.5ms
6.5ms
12ms
90MB/s
88>
s
12.1ms
7200
4.1
6.5
10.7
120
66
10.8
10000
3
1.5
4.5
166
48
4.6
15000
2
3.5
250
32
3、主要功能所需的I/O类型和数量
操作
随机/顺序
读/写
大小范围
CREATEDATABASE
顺序
写
512KB
备份
64KB的倍数(最多4MB)
还原
DBCCCHECKDB
读
8KB-64KB
DBCCDBREINDEX(读取阶段)
(参见预读)
DBCCDBREINDEX(写入阶段)
8KB的倍数,最多128KB
DBCCSHOWCONFIG
4、各种内存管理选项
选项
内存少于3GB
内存超过3GB
内存16GB
PAE
否
是
/3GB
AWE
在有超过16GB内存时仅使用/PAE开关;
必须启用SQLServer的“”设置,SQLServer才能能够访问超过3GB的内存;
仅当物理内存超过4GB且少于16GB时才使用/3GB开关。
七、数据库导入与导出
实际操作演示
八、SQL2005常见问题
1、SQL无法启动
2、SQLServer2005中如何列所有存储过程
(1)列出所有的储存过程
以下代码列出了SQLServer2005中存在的所有储存过程。
USE[your_database_name_here];
GO
SELECT*FROMsys.all_objects
WHERE([type]='
P'
OR[type]='
X'
PC'
)
ORDERBY[name];
(2)用户自定义存储过程
通过一个T-SQL代码演示如何获取只有用户定义的存储过程。
USE[your_database_name_here];
AND[is_ms_shipped]=0
GO
(3)获取SQLServer数据库里表的占用容量大小
CREATEPROCEDUREget_tableinfoAS
ifnotexists(select*fromdbo.sysobjects
whereid=object_id(N'
[dbo].[tablespaceinfo]'
andOBJECTPROPERTY(id,N'
IsUserTable'
)=1)
createtabletablespaceinfo--创建结果存储表
(nameinfovarchar(50),
rowsinfoint,reservedvarchar(20),
datainfovarchar(20),
index_sizevarchar(20),
unusedvarchar(20))
deletefromtablespaceinfo--清空数据表
declare@tablenamevarchar(255)--表名称
declare@cmdsqlvarchar(500)
DECLAREInfo_cursorCURSORFOR
selecto.name
fromdbo.sysobjectsowhereOBJECTPROPERTY(o.id,N'
IsTable'
)=1
ando.namenotlikeN'
#%%'
orderbyo.name
OPENInfo_cursor
FETCHNEXTFROMInfo_cursor
INTO@tablename
WHILE@@FETCH_STATUS=0
BEGIN
ifexists(select*fromdbo.sysobjects
whereid=object_id(@tablename)andOBJECTPROPERTY(id,N
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- sqlserverDBA 入门教程