SQL相关路径查询脚本

--1.查询机器名
SELECT @@servername AS 机器名称
--查询已安装的SQL实例名
SELECT *
FROM   Sys.Servers

--2.查询SQL安装路径
DECLARE @installPath VARCHAR(200)
EXEC MASTER.dbo.xp_regread
     'HKEY_LOCAL_MACHINE',
     'SOFTWARE\Microsoft\MSSQLSERVER\setup',
     'SQLPath',
     @installPath OUTPUT

SET @installPath = @installPath + '\data\'
PRINT @installPath

--3.得到SQL中的各种目录
DECLARE @path VARCHAR(8000)

--3.1得到当前数据库的数据文件路径
SELECT @path = RTRIM(REVERSE(FILENAME))
FROM   sysfiles
SELECT @path = REVERSE(SUBSTRING(@path, CHARINDEX('\', @path), 8000))
SELECT 数据文件目录 = @path

--3.2得到SQL安装时设置的数据文件路径
SELECT @path = RTRIM(REVERSE(FILENAME))
FROM   MASTER..sysfiles
WHERE  NAME = 'master'

SELECT @path = REVERSE(SUBSTRING(@path, CHARINDEX('\', @path), 8000))
SELECT SQL数据文件目录 = @path

--3.3根据安装路径得到默认的备份目录:
SELECT @path = RTRIM(REVERSE(FILENAME))
FROM   MASTER..sysfiles
WHERE  NAME = 'master'

SELECT @path = SUBSTRING(@path, CHARINDEX('\', @path) + 1, 8000),
       @path = REVERSE(SUBSTRING(@path, CHARINDEX('\', @path), 8000)) +
       'BACKUP\'
SELECT SQL数据默认备份目录 = @path

				
时间: 2024-07-31 11:24:32

SQL相关路径查询脚本的相关文章

《PowerShell V3——SQL Server 2012数据库自动化运维权威指南》——1.7 发现SQL相关的cmdlets和模块

1.7 发现SQL相关的cmdlets和模块 为了有效地使用SQL Server和PowerShell工作,需要了解如何浏览和发现cmdlets.插件和模块. 1.7.1 准备 登录到SQL Server实例,进入PowerShell ISE.如果你更喜欢控制台,你也可以进入控制台. 1.7.2 如何做- 在这个方案中,我们将会列出SQL Server相关的命令和cmdlets. 1.为了发现SQL相关的cmdlets,在PowerShell编辑器中输入如下命令并运行. #how many co

SQL Server阻塞查询语句

SQL Server阻塞查询语句  SQL Server的阻塞查询主要来自sys.sysprocesses.通常在处理时需要加入其它相关的视图或表,例如如sys.dm_exec_connections,sys.dm_exec_sql_text.通过如下几个语句的查询,可以找到阻塞的语句. 点击(此处)折叠或打开 SELECT BL.SPID BLOCKING_SESSION,        BL.BLOCKED BLOCKED_SESSION,        ST.TEXT BLOCKEDTEX

剖析SQL Server 2005查询通知之基础篇

在本系列文章中,我们将深入探讨如何把.NET 2.0和SQL Server 2005的查询通知特征联合起来,以便通知应用程序何时关键数据发生变化进而达到消除反复查询数据库的目的. 一.引言 数据库应用程序的典型问题之一是更新陈旧的数据. 设想有一个典型的显示产品及其分类的电子商务网站.一个供应商的产品列表很可能并不经常发生变化,而其分类列表甚至更不会频繁更改.然而,在用户每次浏览该网站时,必须从数据库中反复查询这些列表.这显然是一种典型的低效资源利用,开发者和架构师都在绞尽脑汁想办法以减少这种浪

SQL 2005 中查询或执行另外的数据库操作的方法

原文:SQL 2005 中查询或执行另外的数据库操作的方法  摘要: 如果,你想在一台数据库服务器上,查询另一个台数据服务器的数据该如何做呢?如果,你想在同一台数据服务器上,在不同的数据库之间查询数据,又该怎么办呢? 1.Synonym 2.openquery 3.Linked Servers      Server Object-->Linked Servers--> serverType 选择 SQL Server, 在 Security 中 选择"Be made using t

MS SQL批量生成作业脚本方法介绍总结

在迁移或升级SQL Server数据库服务器时,很多场景下我们不能还原msdb,所以我们必须手工迁移SQL Server相关作业.如果手工生成每一个作业的脚本话,费时又费力,其实SQL Server中有好几种方法可以批量生成作业脚本的方法, 下面介绍一下.   1:SSMS客户端工具批量生成创建作业脚本   1:在SSMS->SQL Server Agent下,单击Jobs.   2: 按快捷键F7,在Object Explorer Details里面,你会看到所有的作业   3: 全选所有作业

sql-求助!!:SQL Server语句查询!!

问题描述 求助!!:SQL Server语句查询!! 我有一个SQL Server表,表明为:EvaluateTeacherGrade运行效果如下图:问题:用SQL语句我如何得到如下表图示: 即:courseID相同的行其Grade字段各行分别进行累加合并.例如:courseID ShowID Grade teacherID studentID100000 0 10 20070101 0711001 100000 0 10 20070101 0853203 合并后为:courseID ShowI

SQL Server定时自动抓取耗时SQL并归档数据脚本分享

原文:SQL Server定时自动抓取耗时SQL并归档数据脚本分享 SQL Server定时自动抓取耗时SQL并归档数据脚本分享 第一步建库 USE [master] GO CREATE DATABASE [MonitorElapsedHighSQL] GO 第二步创建sp_who3存储过程 -- http://sqlserverplanet.com/dba/a-better-sp_who2-using-dmvs-sp_who3 USE [MonitorElapsedHighSQL] GO CR

SQL重复记录查询 查询多个字段、多表查询、删除重复记录的方法_Mysql

SQL重复记录查询 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断  select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) 例二:  select * from testtable where numeber in (select number from people group by numb

MyBatis实践之动态SQL及关联查询_MsSql

序言 MyBatis,大家都知道,半自动的ORM框架,原来叫ibatis,后来好像是10年apache软件基金组织把它托管给了goole code,就重新命名了MyBatis,功能相对以前更强大了.它相对全自动的持久层框架Hibernate,更加灵活,更轻量级,这点我还是深有体会的. MyBatis的一个强大特性之一就是动态SQL能力了,能省去我们很多串联判断拼接SQL的痛苦,根据项目而定,在一定的场合下使用,能大大减少程序的代码量和复杂程度,不过还是不是过度太过复杂的使用,以免不利于后期的维护