SQL Server两个管理方面的问题

[复制链接]
查看11 | 回复4 | 2008-1-2 17:35:53 | 显示全部楼层 |阅读模式
(1)由于本公司每天访问SQL的访问量很大导致SQL Server占用了很大资源使得有些客户端无法访问SQL Server数据库,,本人只能重启SQL服务;如果本人每天对SQL Server2000的服务管理器每天进行一次停止又开始操作,时间一长会导致服务无法启动使得无法使用SQL Server2000
(2)如果SQL Server日志已满,我如何可以缩小日志文件,缩小日志文件后对我以前对SQL所做的所有备份不产生影响(日志文件缩小后不影响我还原我以前所做的备份)
请各位帮忙!!!!!!
回复

使用道具 举报

千问 | 2008-1-2 17:35:53 | 显示全部楼层
你真接做个数据库备份日志文件就会小的了!
还有你重启SQLSERVER也可以做个计划来实现!
回复

使用道具 举报

千问 | 2008-1-2 17:35:53 | 显示全部楼层
如果可能,先优化查询,然后优化服务器
回复

使用道具 举报

千问 | 2008-1-2 17:35:53 | 显示全部楼层
同意楼上.
SQL Server占用了很大资源,很多情况是因为客户端软件设计方面的的问题,客户不能及时的释放对SQL占用的资源,导致SQL服务器负荷多大.(那软件真的好'黑',让我们为难)
这种情况,我们一般只好从SQL 服务器优化入手.
这是引用网络说法:
数据库的优化通常可以通过对网络、硬件、操作系统、数据库参数和应用程序的优化来进行。最常见的优化手段就是对硬件的升级。根据统计,对网络、硬件、操作系统、数据库参数进行优化所获得的性能提升,全部加起来只占数据库系统性能提升的40%左右,其余的60%系统性能提升来自对应用程序的优化。许多优化专家认为,对应用程序的优化可以得到80%的系统性能的提升
SQL Server 性能优化工具 说明:
http://windows.**********.com/sql/9873.html
回复

使用道具 举报

千问 | 2008-1-2 17:35:53 | 显示全部楼层
不能引用网页,只好列出了,希望有人能看得上:
//=====================================================================
数据和工作负荷示例
  使用下例说明 SQL Server 性能工具的使用。首先创建下表。
  
  create table testtable (nkey1 int identity, col2 char(300) default 'abc', ckey1 char(1))
  接下来,在这个表中填充 10,000 行测试数据。可以为列 nkey1 中所填充的数据创建非聚集索引。可以为列 ckey1 中的数据创建聚集索引,col2 中的数据仅仅是填充内容,将每一行增加 300 字节。
  
  declare @counter int
  
  set @counter = 1
  
  while (@counter0) rollback transaction
  CREATE CLUSTERED INDEX [testtable2] ON [dbo].[testtable] ([ckey1])
  if (@@error0) rollback transaction
  COMMIT TRANSACTION
  Index Tuning Wizard 为示例表和数据所建议的索引就是我们预期的索引。ckey1 只有 5 个唯一值,且每一个值都有 2,000 行。假定其中的一个示例查询 (select ckey1, col2 from testtable where ckey1 = 'a') 要求根据 ckey1 中的某个值对表进行检索,那么在 ckey1 列中创建聚集索引是有意义的。第二个查询 (select nkey1, col2 from testtable where nkey1 = 5000) 根据列 nkey1 的值提取一行。Nkey1 唯一,且有 10,000 行,因此在该列创建非聚集的索引是有意义的。
  
  Profiler/Index Tuning Wizard 组合在涉及许多表和许多查询的实际数据库服务器环境中功能非常强大。当数据库正在进行典型查询时,请使用 Profiler 记录 .trc 文件。然后将 .trc 文件装载到 Index Tuning Wizard,以确定是否创建了正确的索引。根据 Index Tuning Wizard 中的提示自动生成并调度索引创建作业以便在非尖峰时刻运行。定期运行 Profiler/Index Tuning Wizard(比如每周)以查看数据库服务器中所执行的查询是否有较大改动,如果是,则可能需要不同的索引。定期使用 Profiler/Index Tuning Wizard 有助于数据库管理员在查询工作负荷改变以及数据库大小随着时间而增加的同时,保持 SQL Server 以最佳状态运行。
  
  有关详细信息,请在 SQL Server Books Online 中搜索“Index Tuning Wizard”和“Index Tuning Recommendations”。
  
  将 Profiler 信息加载到 SQL Server 表以进行分析
  
  Profiler 提供的另一个选项是将信息记录在 SQL Server 表中。完成后,就可以查询整个表以确定是否有某些查询消耗了过多资源。
  
  将 Profiler 信息记录在 SQL Server 表中
  
  从 SQL Server Enterprise Manager 菜单中选择 Tools/SQL Server Profiler 启动 Profiler。
  按 CTRL+N 组合键新建 Profiler 跟踪。
  键入跟踪的名称。
  单击 Capture to Table:复选框,然后选择要将 Profiler 信息输出到其中的 SQL Server 表。
  单击 OK。
  结束后,单击红色的正方形停止 Profiler 跟踪。
  用 Query Analyzer 分析 Profiler 中记录的信息
  在将这些信息记录到 SQL Server 表中后,可以用 Query Analyzer 计算出系统中的哪些查询消耗资源最多。这样,数据库管理员就可以集中时间改进最需要帮助的查询。例如,通常用以下查询分析从 Profiler 记录到 SQL Server 表中的数据。此查询检索数据库服务器中消耗 CPU 资源最多的头 3 项。返回读和写 I/O 信息以及查询的持续时间(用毫秒计)。如果用 Profiler 记录了大量的信息,那么在这个表中创建索引以加快分析查询是有意义的。例如,如果 CPU 即将成为分析这个表的一个重要标准,那么在 CPU 列创建非聚集索引应该是一个不错的主意。
  
  select top 3 TextData,CPU,Reads,Writes,Duration from profiler_out_table order by cpu desc
  有关详细信息,请在 SQL Server Books Online 中搜索字符串“Viewing and Analyzing Traces”、“Troubleshooting SQL Server Profiler”、“Tips for Using SQL Server”、“Common SQL Server Profiler Scenarios”、“Starting SQL Server Profiler”和“Monitoring with SQL Server Profiler”。
  
  Query Analyzer
  I/O 统计信息
  Query Analyzer 的 Connections Options 对话框 General 选项卡中提供了一个 Show stats I/O 选项。选择此复选框可以获取有关 Query Analyzer 中正在执行的查询所消耗 I/O 量的信息。
  
  例如,当选择 Show stats I/O 选项时,查询“select ckey1, col2 from testtable where ckey1 = 'a'”除返回结果集以外,还返回以下 I/O 信息:
  
  Table 'testtable'.Scan count 1, logical reads 400, physical reads 382, read-ahead reads 400.
  同样,当选择 Show stats I/O 选项时,查询“select nkey1, col2 from testtable where nkey1 = 5000”除了返回结果集以外,还返回以下 I/O 信息:
  
  Table 'testtable'.Scan count 1, logical reads 400, physical reads 282, read-ahead reads 400.
  使用 I/O 统计信息是一种监视查询调整效果的有效方法。例如,在此示例表中创建 Index Tuning Wizard 在上面所推荐的两个索引,然后再次运行查询。
  
  在“select ckey1,col2 from testtable where ckey1 = 'a'”的查询中,聚集索引改进性能的情况如下所示。假定查询需要提取该表的 20%,则性能改进应该是比较合理的:
  
  Table 'testtable'.Scan count 1, logical reads 91, physical reads 5, read-ahead reads 32.
  在“select nkey1,col2 f
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行