- 浏览: 109091 次
- 性别:
- 来自: 昆明
文章分类
- 全部博客 (151)
- 120D02 (5)
- 直升机 (1)
- 我的技术资料收集 (82)
- 的技术资料收集 (4)
- .NET Solution (2)
- ASP.NET (1)
- Linq to sql (1)
- 数据库技术(MS SQL) (2)
- 架构/设计 (1)
- 敏捷/持续集成 (1)
- C#.NET开发 (1)
- Matlab开发 (1)
- WinForm开发 (1)
- 开源技术 (1)
- jQuery (1)
- 我的博文 (4)
- js (2)
- android (2)
- 9. 读书笔记 (1)
- CSS3 (1)
- HTML5 (1)
- JavaScript (5)
- 移动开发 (2)
- 编程心得 (1)
- Linux操作系统 (1)
- (BI)商业智能 (1)
- IOS (1)
- Windows Phone (2)
- C# API (1)
- JQuery系列 (1)
- TFS (1)
- C# (2)
- ExtJs (1)
- .NET (1)
- Nginx (1)
- WCF学习笔记 (1)
- Computer Graphic (1)
- IT产品 (1)
- 工具分享 (1)
- MySelf (1)
- C#专栏 (1)
- 管理 (1)
- 基于Oracle Logminer数据同步 (1)
- 日常 (1)
- 实用工具 (1)
- 网页设计 (1)
- avalon (1)
- flash (1)
- DDD (1)
- 01 技术Android (1)
- WCF (1)
- selenium (1)
最新评论
-
464410531:
三国杀。。。。。。。。。。。。。。。。。。。。。。。。。。。。 ...
实用的职场宝典:不提拔你,就因为你只想把工作做好
SQL SERVER 数据库日常维护,管理,巡检过程中你可能经常需要用到一些SQL语句(亦或方法)来查看数据库服务器环境(操作系统版本, 磁盘空间,CPU,RAM信息),数据库信息(数据库版本,实例名称...),数据库对象等。
查看数据库信息
查看数据库服务器名称
方法1:SQL脚本查询,可以通过下面脚本来查询。
默认实例
- SELECT @@SERVERNAME AS SERVERNAME;
- SELECT SERVERPROPERTY('servername') AS ServerName;
- SELECT srvname AS ServerName FROM sys.sysservers;
- SELECT SERVERPROPERTY('MachineName') AS ServerName
命名实例
- SELECT SUBSTRING(@@SERVERNAME, 0, CHARINDEX('\', @@SERVERNAME))AS SERVERNAME;
- SELECT SUBSTRING(CONVERT(VARCHAR(100),SERVERPROPERTY('servername')), 0, CHARINDEX('\',CONVERT(VARCHAR(100),SERVERPROPERTY('servername')))) AS ServerName;
- SELECT SUBSTRING(srvname, 0, CHARINDEX('\', srvname)) AS ServerName FROM sys.sysservers;
- SELECT SERVERPROPERTY('MachineName') AS ServerName
方法2:在数据库实例单击右键,选择“属性”——》“常规”选项里面,你可以看到服务器名称(划红线部分)
方法3:都不好意思说了,你懂的。
查看数据库实例名称
方法1:去服务(services.msc)里面查找SQL Server(××××)这样的服务,有多少个就就有多少数据库实例,一般默认实例是SQL Server (MSSQLSERVER)
方法2:去SQL配置管理器的SQL Server服务配置里面找上面描述的服务。
方法3:脚本查询,只是截取数据库服务名称的实例名(其实这个还真没必要,通过上面的脚本就可查看实例,注意默认实例)
- SELECT @@SERVICENAME AS InstantName;
- SELECT ISNULL(SERVERPROPERTY('InstanceName'),'MSSQLSERVER') AS InstanceName;
下面脚本仅对命名实例有效,默认实例查询处理的是计算机名称
- SELECT SUBSTRING(@@SERVERNAME,CHARINDEX('\', @@SERVERNAME)+1,100) AS InstantName;
- SELECT SUBSTRING(srvname, CHARINDEX('\', srvname) +1, 100) AS InstantName FROM sys.sysservers;
查看数据库版本号
方法1:SQL 1:
- SELECT SERVERPROPERTY('productversion') AS ProductVersion ,
- SERVERPROPERTY('productlevel') AS ProductLevel ,
- SERVERPROPERTY('edition') AS Edition
方法2:SQL 2: 看起来比较麻烦
- SELECT @@VERSION AS PRODUCT_VERSION;
Microsoft SQL Server 2005 - 9.00.4035.00 (Intel X86) Nov 24 2008 13:01:59
Copyright (c) 1988-2005 Microsoft Corporation
Standard Edition on Windows NT 5.2 (Build 3790: Service Pack 2)
如何从 9.00.4035.00 (Intel X86) 读取一些信息呢?
第一个数字:8 代表2000版本, 9 代表2005版本, 10 代表2008 版本
第二个数字:50 代表R2版本, 00 代表非R2版本
第三个数字:如上所示4035中第一个数字4代表打了补丁SP3,其规则如下所示
1: 代表没有打补丁
2: 代表打了SP1补丁
3: 代表打了SP2补丁,以此类推
035 : 代表相关的hotfix版本,我们在进行升级,备份,恢复一定要看清楚这个版本,只有在同一版本下的相关数据才能进行恢复(同版本备份文件),这点要注意。
方法3:在数据库实例上单击右键,选择“属性”——》“常规”选项里面,你可以看到服务器名称,平台,操作系统,数据库版本信息。
查看数据库已经打的补丁
方法1:如上所示,可以通过9.00.4035.00 (Intel X86) 来确定已经数据库已经打的最新补丁SP3。
方法2:在数据库实例上单击右键,选择“属性”——》“常规”选项里面,可以通过看到的版本信息查看补丁
方法3:在SQL配置管理器,找到相应的实例的SQL Server服务,单击右键属性.
查看实例数据库的相关信息
查看实例有哪些数据库,创建时间、排序规则.......
方法1:SQL 查询. 其实在视图sys.databases里面你可以查看很多关于数据库的信息,例如,数据库用户访问设置,数据库的状态......
SELECT * FROM sys.databases
方法2: 在Mircrosoft SQL Server Management Studio管理器里面查看。
查看排序规则信息
1:查看实例排序规则
SELECT SERVERPROPERTY(N'Collation')
2:查看数据库排序规则
SELECT name, collation_name FROM sys.databases
查询当前数据库的磁盘使用情况
如需要查询其他数据库,则需在前面指定数据库名称
EXEC sp_spaceused;
查看数据库启动相关参数
EXEC sp_configure;
查看数据库启动时间
方法1:
- SELECT CONVERT(VARCHAR(30), LOGIN_TIME,120) AS StartDateTime
- FROM master..sysprocesses WHERE spid=1
查看所有数据库名称及大小
方法1:
EXEC sp_helpdb;
方法2:
- SELECTdatabase_id AS DataBaseId ,
- DB_NAME(database_id) AS DataBaseName ,
- CAST(SUM(SIZE) * 8.0 / 1024 AS DECIMAL(8, 4)) AS [Size(MB)]
- FROMsys.master_files
- GROUP BY database_id
查看所有数据库用户登录信息
EXEC sp_helplogins;
查看所有数据库用户所属的角色信息
EXEC sp_helpsrvrolemember
更改某个数据对象的用户属主
sp_changeobjectowner [@objectname =] 'object', [@newowner =] 'owner'
注意:更改对象名的任一部分都可能破坏脚本和存储过程。把一台服务器上的数据库用户登录信息备份出来可以用add_login_to_aserver脚本。查看某数据库下,对象级用户权限sp_helprotect
查看链接服务器
EXEC sp_helplinkedsrvlogin
查看远端数据库用户登录信息
sp_helpremotelogin
查看数据库下某个数据对象的大小
sp_spaceused @objname
查看某数据库下某个数据对象的索引信息
sp_helpindex @objname
查看某数据库下某个数据对象的的约束信息
sp_helpconstraint @objname
查看表的相关信息
方法1:
sp_help 'TABLE_NAME'
方法2:
sp_desc 参考我的博客MS SQL 模仿ORACLE的DESC
修复迁移服务器时孤立用户时
方法1:
USE {目标数据库}
EXEC sp_change_users_login 'Update_One', '{目标数据库已存在的用户名}', '{创建的登录用户名}'
方法2
- declare @cmd nvarchar(4000)
- set @cmd = N'exec [?].sys.sp_change_users_login @Action = ''Auto_Fix''
- , @UserNamePattern = ''qa''
- , @LoginName = null
- , @Password = ''abc'' '
- exec sp_msforeachdb@cmd
查看数据库数据文件情况
查看数据库实例各个数据库的数据文件信息
方法1: 选择某个数据库,然后单击右键属性...(后面我就不说了,不知道的自己百度)
方法2:SQL
- SELECT database_id AS DataBaseId ,
- DB_NAME(database_id) AS DataBaseName ,
- Name AS LogicalName ,
- type_desc AS FileTypeDesc ,
- Physical_Name AS PhysicalName ,
- State_Desc AS StateDesc ,
- CASE WHEN max_size = 0 THEN N'不允许增长'
- WHEN max_size = -1 THEN N'自动增长'
- ELSE LTRIM(STR(max_size * 8.0 / 1024 / 1024, 14, 2)) + 'G'
- END AS MaxSize ,
- CASE WHEN is_percent_growth = 1
- THEN RTRIM(CAST(Growth AS CHAR(10))) + '%'
- ELSE RTRIM(CAST(Growth AS CHAR(10))) + 'M'
- END AS Growth ,
- Is_Read_Only AS IsReadOnly ,
- Is_Percent_Growth AS IsPercentGrowth ,
- CAST(size * 8.0 / 1024 / 1024 AS DECIMAL(8, 4)) AS [Size(GB)]
- FROM sys.master_files
查看单个数据库的数据文件信息:
SQL 1:上面SQL加上查询条件
SQL 2:
- SELECT Name AS DataBaseName ,
- Physical_Name AS PhysicalName ,
- type_desc AS FileTypeDesc ,
- State_Desc AS StateDesc ,
- (( size * 8.0 ) / 1024 / 1024 ) AS [Size(GB)] ,
- CASE WHEN max_size = 0 THEN N'不允许增长'
- WHEN max_size = -1 THEN N'自动增长'
- ELSE LTRIM(STR(max_size * 8.0 / 1024 / 1024, 14, 2)) + 'G'
- END AS MaxSize ,
- CASE WHEN is_percent_growth = 1
- THEN RTRIM(CAST(Growth AS CHAR(10))) + '%'
- ELSE RTRIM(CAST(Growth AS CHAR(10))) + 'M'
- END AS Growth ,
- Is_Read_Only AS IsReadOnly ,
- Is_Percent_Growth AS IsPercentGrowth ,
- CAST(size * 8.0 / 1024 / 1024 AS DECIMAL(8, 4)) AS [Size(GB)]
- FROM sys.database_files ;
SQL 3:
- SELECT fileid AS FileId ,
- groupid AS GroupId ,
- size AS DataBaseSize ,
- growth AS Growth ,
- perf AS Perf ,
- name AS NAME ,
- filename AS FILENAME
- FROM MESDB.dbo.sysfiles ;
查看数据库服务器各数据库日志文件的大小及利用率/状态
DBCC SQLPERF(LOGSPACE)
查看当前数据库的文件状态
EXEC ('DBCC showfilestats')
查看数据库存储过程
查看有哪些存储过程
方法1:
EXEC sp_stored_procedures;
方法2:
SELECT * FROM sys.procedures;
方法3:
SELECT * FROM sys.sysobjects WHERE xtype='P';
查看存储过程基本信息
EXEC sp_help 'dbo.sp_who_lock'
查看存储过程源代码:
方法1:
EXEC sp_helptext 'procedureName'
方法2:
SELECT *
FROM SYS.SQL_MODULES
WHERE object_id = OBJECT_ID(N'procedureName')
方法3:
- SELECT s.text AS ProcedureText ,
- s.encrypted AS Encrypted ,
- s.number AS number ,
- CONVERT(NCHAR(2), o.xtype) AS xtype ,
- DATALENGTH(s.text) AS ProcedureLen
- FROMdbo.syscomments s ,
- dbo.sysobjects o
- WHEREo.id = s.id
- AND s.id = OBJECT_ID(N'procedureName')
- ORDER BY s.number ,
- s.colid
- OPTION ( ROBUST PLAN )
服务器环境信息
查看数据库所在机器操作系统参数
方法1:
EXEC master..xp_msver
详解:xp_msver返回有关 Microsoft SQL Server 的版本信息。xp_msver 还返回有关服务器的实际内部版本号的信息以及服务器环境的有关信息,例如处理器类型(不能获取具体型号), RAM 的容量等等。用脚本基本上很难获取详细的硬件信息。
方法2:登录服务器,直接查看服务器信息。
查看数据库服务器磁盘分区剩余空间。
方法1:
EXEC master.dbo.xp_fixeddrives;
方法2:登录服务器直接查看或用工具
方法3:请看MS SQL 监控磁盘空间告警里面介绍的方法
查看数据库服务器磁盘容量信息
方法1:请看MS SQL 监控磁盘空间告警里面介绍的方法
方法2:登录服务器直接查看或用工具
查看数据库服务器CPU/内存的大概信息
- SELECT cpu_count AS [Logical CPU Count] ,
- hyperthread_ratio AS [Hyperthread Ratio] ,
- cpu_count / hyperthread_ratio AS [Physical CPU Count],
- physical_memory_in_bytes / 1048576 AS [Physical Memory (MB)] ,
- sqlserver_start_time
- FROMsys.dm_os_sys_info
- OPTION ( RECOMPILE ) ;
小结:用SQL查看服务器硬件信息,似乎不是个好主意,很难得到精确地信息,例如CPU型号、内存条的频率
相关推荐
5239 网吧维护\资料\FW\ASP实现对SQL SERVER 数据库的操作.TXT 2945 网吧维护\资料\FW\MYSQL.TXT 11239 网吧维护\资料\FW\WIN2000SERVER安全设置的一些小技巧.TXT 0 网吧维护\资料\FW\WWW.TXT 6103 网吧维护\资料\FW...
Oracle SQL Developer是一款由Oracle公司提供的免费图形化数据库开发工具,主要针对Oracle数据库系统。这款工具旨在提高数据库开发...无论是日常的数据库维护还是复杂的开发项目,SQL Developer都能提供有力的支持。
通过其简洁的界面,用户能够高效地完成日常维护工作。 - **MySQL Query Browser**:这是一款专门用于数据查询的图形化客户端,使得用户无需记住复杂的SQL语句即可执行各种查询操作。它支持保存查询结果、查询历史等...
本项目旨在利用ASP技术和Access数据库开发一套适用于中小学校的学生成绩查询系统,以满足日常成绩管理的需求。 #### 二、技术选型 ##### 1. ASP(Active Server Pages) ASP是一种开放的、易于使用的服务器端脚本...
- **用途**: 提供一个基本的数学计算工具,适用于日常简单的计算需求。 #### 57. charmap - **功能**: 启动字符映射表。 - **用途**: 用于查找和插入特殊字符,适用于需要输入不常见字符的情况。 #### 58. ...
- **Mpr Technology Co.**:从2006年9月至2009年1月,在该公司担任软件测试角色,负责日常任务执行、测试用例与脚本执行、结果验证、缺陷管理和测试计划与案例创建。这期间的工作经历充分体现了其在实际项目中的测试...
在计算机操作系统的日常管理和维护工作中,掌握一系列基本且实用的命令行工具是至关重要的。本文将详细介绍标题中提到的CMD(Windows命令提示符)、DOS(磁盘操作系统)以及Linux下的常用指令,并通过对比分析,帮助...
- **应用场景**:用于管理WMI命名空间、类和实例等,适合高级用户或管理员进行系统监控与维护。 #### wupdmgr - **功能**:Windows Update Manager,用于检查和安装Windows更新。 - **应用场景**:手动检查并安装...
CCAMS系统是一种用于局域网下的CS模式的软件管理和监测系统源码 它包括客户端和服务端,客户端软件主要作用是监测本主机的活动,并将监测到的信息定时发送给服务器。服务器可以将收集到的信息以柱状图和文件列表以及...
CCAMS系统是一种用于局域网下的CS模式的软件管理和监测系统源码 它包括客户端和服务端,客户端软件主要作用是监测本主机的活动,并将监测到的信息定时发送给服务器。服务器可以将收集到的信息以柱状图和文件列表以及...
CCAMS系统是一种用于局域网下的CS模式的软件管理和监测系统源码 它包括客户端和服务端,客户端软件主要作用是监测本主机的活动,并将监测到的信息定时发送给服务器。服务器可以将收集到的信息以柱状图和文件列表以及...
CCAMS系统是一种用于局域网下的CS模式的软件管理和监测系统源码 它包括客户端和服务端,客户端软件主要作用是监测本主机的活动,并将监测到的信息定时发送给服务器。服务器可以将收集到的信息以柱状图和文件列表以及...
CCAMS系统是一种用于局域网下的CS模式的软件管理和监测系统源码 它包括客户端和服务端,客户端软件主要作用是监测本主机的活动,并将监测到的信息定时发送给服务器。服务器可以将收集到的信息以柱状图和文件列表以及...
CCAMS系统是一种用于局域网下的CS模式的软件管理和监测系统源码 它包括客户端和服务端,客户端软件主要作用是监测本主机的活动,并将监测到的信息定时发送给服务器。服务器可以将收集到的信息以柱状图和文件列表以及...