
导读:sqlServer2005 的新功能为动态管理对象,它们是在指定时间返回某个数据库实例的特殊状态信息的数据库视图或函数。这些对象允许数据库管理员或开发者对数据库 服务器 进行高效监控。动态管理对象取代了SQLServer以前版本中的许多系统表格,但也为数据库管理员提供更多观测手段。下文就为大家详细介绍SQL Server 2005的动态管理对象。
服务器上需要监控的内容,几乎都有对应的动态管理对象。既然有这么多动态管理对象,在这篇文章中逐一进行讨论是不实际的。例如,共有12类动态管理对象,但这里我主要讨论我认为相当重要的五个对象,它们分别来自与SQLServer操作系统、目录和执行有关的类中。
这些对象被分为两类:数据库级别和服务器级别。SQLServer2005的安全构架有些不同,所以你必须采取一些措施保证你能够使用本文讨论的视图和函数。你必须保证使用这些例子的用户能够查看对象的SERVERSTATE和DATABASESTATE。可以应用GRANT语句来完成这一点。
在我开始介绍动态管理对象之前,你应该建立一个可用在所有例子里面的表格。列表A是建立这个表格的代码。
SQL Server操作系统相关动态管理对象
sys.dm_os_performance_counters:这个视图返回的信息列举与SQLServer直接相关的性能统计。返回的信息代表通过Windows性能监控器显示的外部性能计数器。在SQLServer2000中,这些数据以一个叫做sysperfinfo的系统表格来表示,SQLServer2005中也有这个表格,但仅用于向后兼容。将来的版本可能会删除这个表格。

要了解如何应用这个视图,而不是运行Windows性能监控器来获取系统信息,请运行列表B中的查询代码。这个查询将返回服务器当前时刻的缓存命中率(BufferCacheHitRatio)。缓存命中率指在内存中所发现的SQLServer请求页面的百分比。如果服务器运转正常,这个值一般在90%以上。如果这个值低于90%,则意味着服务器将会去硬盘那里恢复数据页面,这可能是服务器需要更多内存的信号。
如果你为了同样的目的,准备运行上面的查询,并将得到的结果与运行Windows性能监控器显示的结果进行比较(SQLServer:缓冲器管理器缓存命中率),你会发现这些数据几乎是一样的。稍稍研究一下,就可以根据这个表格开发出你自己的脚本库,而不必总是运行Windows性能监控器。
Caveat:这个视图仅限于SQLServer相关的计数器使用。如果你希望获得SQLServer之外的数据,你还是要使用Windows性能监控器。
目录相关动态管理视图和函数
sys.dm_db_index_physical_stats:这个动态管理函数为数据表格和视图返回相关数据及目录信息。查看列表C。这个函数接受5个参数:数据库的ID、所讨论的表格或视图的ID、表格或视图上的一个特定目录的ID(被我忽略)、分区号(也被我忽略)和一个模式,我将它指定为“DETaiLED”。将这些参数提交给这个函数会允许你查看DMVTest表格中的所有目录细节。
在前面定义的表格中运行列表C中的查询,你会发现表格中既没有页面也没有记录。在DMVTest中增加一条记录,再运行查询,就会发现表格中增加了一个页面。
INSERT INTO DMVTest(C2, C3)
VALUES(1,1)
这个函数返回的另一个特别有趣的域为avg_page_space_used_in_percent域,它说明数据页面有多大。从查询中发现数据页面约为0.25%。你可以应用这个数据来开发程序,查看数据库表格,并根据程序中设定的标准,重新为它们编写目录。
SQL Server 2005的动态管理对象在SQL Server 2005中也是一个非常关键的操作技术,掌握好了这些将会给您加分,给您提供更多的机会。
【编辑推荐】
sql server 2005卸载后重装显示sql server database services和工作站组件、联机丛书和开发工具安装失败

请先确定是否把sql相关的东西删了,建议进行如下操作。 1.先下个Windows Install Clean Up,清理sql相关东西,要全部清理。 2.到控制面板--添加删除程序中看是否还有未删的。 3.删除安装sql server 2005所在文件夹。 4.到C盘windows下搜索sql.删除所有搜出文件(在隐藏文件inf下搜索sql,删除所有搜出文件)。 5.下个,删除所有sql相关服务。 6.到控制面板--管理工具--计算机管理--本地用户和组--组,删除所有与sql相关信息。 7. 开始——运行,输入regedit进入注册表, [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer] [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server] [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search] [-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLSERVER] [-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLServerADHelper] [-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SQLSERVERAGENT] [-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSFtpsvc] [-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSCNTRS] [-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSEARCH] [-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSGatherer] [-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSGTHRSVC] [-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mssindex] 删除以上文件。 8.用优化工具优化一下注册表,如优化大师。 9.重启后重装sql.
本版本的SQL Server 不支持用户实例登录标志。该连接将关闭。
连接字符串使用应用程序 App_Data 目录中的数据库位置指定了一个本地 SQL Server Express 实例。 由于提供程序确定应用程序服务数据库不存在,因此试图自动创建该数据库。 要成功检查应用程序服务数据库是否存在并自动创建应用程序服务数据库,必须满足下列配置要求:如果应用程序 App_Data 目录不存在,则 Web 服务器帐户必须具有对应用程序目录的读写访问权限。 这是因为如果不存在 App_Data 目录,Web 服务器帐户将会自动创建它。 如果应用程序 App_Data 目录已存在,则 Web 服务器帐户只要求对应用程序 App_Data 目录的读写访问权限。 这是必要的,因为 Web 服务器帐户将尝试确认 SQL Server Express 数据库已在应用程序 App_Data 目录中。 如果从 Web 服务器帐户撤消对 App_Data 目录的读访问权限,提供程序便无法正确地确定 SQL Server Express 数据库是否已存在。 如果提供程序试图创建已存在的数据库的副本,就会出错。 写访问权限是必需的,因为创建新数据库时需要使用 Web 服务器帐户凭据。 计算机上必须安装 SQL Server Express。 Web 服务器帐户的进程标识必须具有本地用户配置文件。 有关如何为计算机帐户和域帐户创建本地用户配置文件的详细信息,请参见自述文档。
解决方法如下:
1.打开VS2005,工具-选项-数据库工具-数据连接,将“SQL Server实例名”清空,确认。
2,打开VS2005,展开服务器资源管理器,右键“数据连接”,添加新连接,更改数据源,选择SQL Server数据库文件,数据库名选中你要添加到网站的文件。 再单击“高级”,将User Instance改为false,Data Source改成. (就点就行了),确认,此时再确认可以通过。
sql server数据库的哪个版本功能最全?
SQL Server 2005相对于SQL Server 2000来说,无论是性能还是功能都有一个相当大的提高,甚至可以用“革命”来形容这一次升级。 SQL Server 2005使 SQL Server 跻身于企业级数据库行列。 在数据高可用性方面,SQL Server 2005为用户提供了数据镜像、复制、故障转移群集、日志传送功能。 本文向读者简单介结SQL Server 2005镜像功能。 一、镜像简介数据库镜像是一个高可用性软件解决方案,为客户端提供小于10秒故障转移。 每个数据库镜像配置均包含一个主体服务器(包含主体数据库)、一个镜像服务器(包含镜像数据库)和一个见证服务器,其中见证服务器是可选的。 主体服务器和镜像服务器要求是独立的服务器实例。 主体服务器和镜像服务器的角色是相对的,可以自动或者手动地将主体服务器设置为镜像服务器,镜像服务器设置为主体服务器。 与主体服务器和镜像服务器不同的是,见证服务器并不能用于数据库。 见证服务器监视主体服务器和镜像服务器,确保在给定的时间内这两个故障转移服务器中有且只有一个作为主体服务器,从而支持自动故障转移。 如果存在见证服务器,同步会话将以“高可用性模式”运行,如果主体服务器出现故障,可以实现故障自动转移。 如果见证服务器不存在,同步会话将以“高级别保护模式”运行,出现故障需要手动故障转移,并且有可能丢失数据。 图1:两台服务器镜像图2:两台服务器镜像,一台见证服务器数据库准备结束,端点创建完成,用户便可以启用数据库镜像。 镜像启动后,每个伙伴都将开始维护所在数据库中有关其数据库,以及另一个伙伴和见证服务器的状态信息。 这些状态信息允许服务器实例维护称为“数据库镜像会话”的当前关系。 在数据库镜像会话过程中,服务器实例将通过彼此定期交换 PING 消息来互相监视。
发表评论