T-SQL 存储过程确定SQL Server中的可用磁盘空间

合集下载

sqlserver存储过程表参数

sqlserver存储过程表参数

sqlserver存储过程表参数SQL Server存储过程表参数是指在SQL Server数据库中使用存储过程时,可以在存储过程中定义表参数作为输入或输出。

表参数可以理解为一个临时表,可以在存储过程中使用和操作。

在SQL Server中,可以通过定义表参数来传递一组数据。

表参数可以在存储过程中作为输入参数,用于接收外部传入的数据;也可以作为输出参数,将存储过程中处理的结果返回给调用者。

通过使用表参数,可以简化存储过程的编写和调用,提高数据处理的效率。

表参数的定义和使用需要遵循一定的规范和步骤。

首先,在创建存储过程时,需要在参数列表中定义一个表类型的参数。

表类型是一种特殊的数据类型,它定义了表参数的结构和字段类型。

可以通过创建用户自定义表类型来定义表参数的结构。

创建表类型时,需要指定表的列名和数据类型。

可以定义多个列,并指定每个列的名称和数据类型。

表类型可以定义为只读或可读写,即是否允许在存储过程中修改表参数的数据。

在存储过程中使用表参数时,可以将表参数当作普通表来使用。

可以通过查询、插入、更新、删除等操作来处理表参数中的数据。

可以使用表参数中的数据进行计算、过滤、排序等操作,并将结果保存到其他表中或返回给调用者。

在使用表参数时,需要注意以下几点:1. 表参数的名称和类型必须与存储过程定义中的参数一致。

参数名称应该具有描述性,能够清晰表达参数的含义。

2. 在存储过程中,可以使用INSERT INTO、SELECT INTO等语句来操作表参数。

可以通过INSERT INTO语句将数据插入到表参数中,通过SELECT INTO语句将查询结果保存到表参数中。

3. 在存储过程中,可以通过表参数的名称和列名来引用表参数中的数据。

可以使用表参数的名称作为表名,使用列名作为字段名来引用表参数中的数据。

4. 在存储过程中,可以通过表参数的名称和列名来进行条件过滤。

可以使用WHERE子句来指定条件,对表参数中的数据进行筛选。

sqlserver查看存储过程内容的命令

sqlserver查看存储过程内容的命令

一、概述SQL Server 是一种由 Microsoft 公司开发的关系型数据库管理系统,它具有强大的存储过程功能,能够在数据库中存储一组 SQL 语句并且能按需调用执行。

查看存储过程内容对于数据库管理员或者开发人员非常重要,可以帮助他们了解存储过程的具体实现细节。

本文将介绍在 SQL Server 中查看存储过程内容的命令及步骤。

二、使用sp_helptext命令查看存储过程内容1. 使用 sp_helptext 命令可以查看存储过程的具体内容,该命令的语法如下所示:```sqlsp_helptext [ objname = ] 'name'```其中 objname 参数表示存储过程的名称,'name' 表示需要查看的存储过程名称,例如:```sqlsp_helptext '存储过程名'```2. 在执行该命令之前需要先连接到相关的数据库,可以通过 USE 命令切换到指定的数据库,例如:```sqlUSE 数据库名```3. 执行 sp_helptext 命令,可以获取指定存储过程的真实代码内容,用户可以根据需要进行查看和分析。

三、使用系统表查看存储过程内容除了使用 sp_helptext 命令外,还可以通过查询系统表的方式来查看存储过程的内容。

1. sys.sql_modules 表```sqlSELECT definitionFROM sys.sql_modulesWHERE object_id = OBJECT_ID('存储过程名')```通过查询 sys.sql_modules 表,可以获取存储过程的具体定义内容。

2. INFORMATION_SCHEMA.ROUTINES 表```sqlSELECT ROUTINE_DEFINITIONFROM INFORMATION_SCHEMA.ROUTINESWHERE ROUTINE_NAME = '存储过程名'```INFORMATION_SCHEMA.ROUTINES 表也可以用于查看存储过程的定义内容。

sqlserver存储过程调试方法

sqlserver存储过程调试方法

sqlserver存储过程调试方法SQL Server是一种常用的关系型数据库管理系统,它提供了存储过程的功能,可以在数据库中存储一段预编译的SQL代码,并在需要时进行调用。

存储过程通常用于执行复杂的数据库操作,提高数据库的性能和安全性。

在开发和调试存储过程时,我们需要一些方法来验证和调试代码的正确性。

本文将介绍一些常用的SQL Server 存储过程调试方法。

1. 使用PRINT语句输出调试信息在存储过程中,可以使用PRINT语句输出一些调试信息,例如变量的值、执行的步骤等。

通过在关键位置添加PRINT语句,可以观察存储过程执行过程中的中间结果,从而验证代码的正确性。

例如:```PRINT '开始执行存储过程'PRINT '变量@x的值为:' + CONVERT(VARCHAR(10), @x)```2. 使用SELECT语句输出结果集在存储过程中,可以使用SELECT语句返回结果集。

通过在存储过程中添加SELECT语句,可以观察查询结果并验证代码的正确性。

例如:```SELECT * FROM 表名 WHERE 条件```3. 使用TRY...CATCH块捕获异常在存储过程中,可以使用TRY...CATCH块来捕获异常并处理错误。

通过在TRY块中执行代码,在CATCH块中处理异常信息,可以更好地调试存储过程并处理潜在的错误。

例如:```BEGIN TRY-- 执行代码END TRYBEGIN CATCH-- 处理异常END CATCH```4. 使用SET NOEXEC语句暂停执行在存储过程中,可以使用SET NOEXEC语句来暂停执行。

通过在存储过程中添加SET NOEXEC语句,并将其设置为ON或OFF,可以控制存储过程的执行。

例如:```SET NOEXEC ON -- 暂停执行SET NOEXEC OFF -- 恢复执行```5. 使用SET SHOWPLAN_ALL语句显示执行计划在存储过程中,可以使用SET SHOWPLAN_ALL语句来显示执行计划。

sql server 存储过程的参数

sql server 存储过程的参数

sql server 存储过程的参数
SQL Server 存储过程(Stored Procedure)是一种预编译的SQL 代码块,可以在数据库中存储并重复调用。

存储过程可以接受参数,这些参数允许我们在执行存储过程时传递不同的值,从而实现灵活性和重用性。

在SQL Server 中,存储过程的参数可以是输入参数(IN)、输出参数(OUT)或输入/输出参数(INOUT)。

输入参数用于向存储过程传递数据,而输出参数则用于从存储过程返回数据。

输入参数:这是最常见的参数类型。

当调用存储过程时,需要为这些参数提供值。

例如,你可能有一个存储过程用于检索特定客户的订单,其中客户ID就是一个输入参数。

输出参数:输出参数用于从存储过程返回数据。

与输入参数不同,你不需要在调用存储过程时为输出参数提供值。

相反,存储过程会在执行过程中为这些参数赋值,然后你可以检索这些值。

输入/输出参数:这种参数类型结合了输入参数和输出参数的特点。

在调用存储过程时,你需要为这些参数提供初始值,而存储过程也可以在执行过程中修改这些值。

使用参数的好处之一是提高了代码的可读性和可维护性。

通过为存储过程提供明确的参数名称和数据类型,其他开发人员更容易理解存储过程的目的和用法。

此外,参数
还允许你以更灵活的方式使用存储过程,因为你可以通过传递不同的参数值来执行不同的操作。

总之,SQL Server 存储过程的参数提供了一种灵活且强大的机制,用于向存储过程传递数据和从存储过程检索数据。

通过合理使用参数,你可以提高代码的可读性、可维护性和重用性。

sqlserver储存过程简单写法

sqlserver储存过程简单写法

sqlserver储存过程简单写法全文共四篇示例,供读者参考第一篇示例:SQL Server是一种流行的关系型数据库管理系统,储存过程是一个可以包含一系列SQL语句的代码块,可以被多次调用来完成特定的任务。

储存过程可以提高数据库性能、安全性和可维护性,因为它们可以减少应用程序与数据库之间的数据传输量,并且可以把逻辑代码集中在数据库中。

在SQL Server中,储存过程通常是使用T-SQL编写的。

下面我们将介绍SQL Server中储存过程的简单写法,让您能够轻松地创建和使用储存过程。

1. 创建储存过程要创建一个储存过程,您需要使用CREATE PROCEDURE语句,后面跟着储存过程的名称和参数(如果有的话),然后是储存过程的主体代码。

以下是一个简单的示例,创建一个接受一个参数并返回查询结果的储存过程:```sqlCREATE PROCEDURE GetEmployeeByID@EmployeeID INTASBEGINSELECT * FROM Employees WHERE EmployeeID =@EmployeeIDEND```在这个例子中,我们创建了一个名为GetEmployeeByID的储存过程,它接受一个参数@EmployeeID,然后查询Employees表中的数据并返回给用户。

以下是执行上面创建的GetEmployeeByID储存过程的示例:```sqlEXEC GetEmployeeByID @EmployeeID = 1```总结:通过本文的介绍,您应该已经了解了SQL Server中储存过程的简单写法。

创建、执行、修改和删除储存过程是数据库管理的基本技能之一,希望这些简单示例能够帮助您更好地理解和使用储存过程。

如果您想深入学习更多关于SQL Server储存过程的知识,可以查阅相关资料或者参加专业的培训课程。

祝您在数据库管理领域取得更大的成就!第二篇示例:SQL Server是一款强大的关系型数据库管理系统,它支持存储过程(Stored Procedure)这一重要的数据库功能。

数据库技术与应用 第二版 课后答案

数据库技术与应用 第二版 课后答案

第1章习题参考答案1.思考题(1)什么是数据库、数据库管理系统、数据库系统它们之间有什么联系答:数据库是存贮在计算机内的有结构的数据集合;数据库管理系统是一个软件,用以维护数据库、接受并完成用户对数据库的一切操作;数据库系统指由硬件设备、软件系统、专业领域的数据体和管理人员构成的一个运行系统。

(2)当前,主要有哪几种新型数据库系统它们各有什么特点用于什么领域,试举例说明答:主要有:分布式数据库、面向对象数据库、多媒体数据库、数据仓库技术、空间数据库。

(3)什么是数据模型目前数据库主要有哪几种数据模型它们各有什么特点答:数据模型是一组描述数据库的概念。

这些概念精确地描述数据、数据之间的关系、数据的语义和完整性约束。

很多数据模型还包括一个操作集合。

这些操作用来说明对数据库的存取和更新。

数据模型应满足3方面要求:一是能真实地模拟现实世界;二是容易为人们理解;三是便于在计算机上实现。

目前在数据库领域,常用的数据模型有:层次模型、网络模型、关系模型以及最近兴起的面向对象的模型。

(4)关系数据库中选择、投影、连接运算的含义是什么答:1)选择运算:从关系中筛选出满足给定条件的元组(记录)。

选择是从行的角度进行运算,选择出的记录是原关系的子集。

2)投影运算:从关系中指定若干个属性(字段)组成新的关系。

投影是从列的角度进行运算,得到的新关系中的字段个数往往比原关系少。

3)连接运算:将两个关系按照给定的条件横向拼接成新的关系。

连接过程是通过两个关系中公有的字段名进行的。

(5)关键字段的含义是什么它的作用是什么答:一个关系中可以确定一个字段为关键字段,该字段的值在各条记录中不能有相同的值。

(如:门牌号码);关键字段的作用主要是为建立多个表的关联和进行快速查询。

(6)什么是E-R图E-R图是由哪几种基本要素组成这些要素如何表示答:E-R图也称实体-联系图(EntityRelationshipDiagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。

SQLServer查看库、表占用空间大小

SQLServer查看库、表占用空间大小

SQLServer查看库、表占⽤空间⼤⼩转⾃:https:///yenange/article/details/50493580查询数据⽂件与⽇志⽂件占⽤情况,查看数据⼤⼩,查看库⼤⼩1. 查看数据⽂件占⽤(权限要求较⼤)DBCC showfilestats2. 查看⽇志⽂件占⽤dbcc sqlperf(logspace)USE mastergo--简易版SELECTName,physical_name,Size/128.0AS[Size(MB)],FILEPROPERTY(Name,'SpaceUsed')/128.0AS[SpaceUsed(MB)],STR(FILEPROPERTY(Name,'SpaceUsed')*1.0/Size*100,6,3) AS[SpaceUsed(%)]FROM master.sys.database_files--详细版SELECT [⽂件名称] ,cast(a.[size]*1.0/128as decimal(12,1)) AS[⽂件设置⼤⼩(MB)] ,CAST( fileproperty(,'SpaceUsed')/(8*16.0) AS DECIMAL(12,1)) AS[⽂件所占空间(MB)] ,CAST( (fileproperty(,'SpaceUsed')/(8*16.0))/(s.size/(8*16.0))*100.0AS DECIMAL(12,1)) AS[所占空间率%] ,CASE WHEN A.growth =0THEN'⽂件⼤⼩固定,不会增长'ELSE'⽂件将⾃动增长'end[增长模式] ,CASE WHEN A.growth >0AND is_percent_growth =0THEN'增量为固定⼤⼩'WHEN A.growth >0AND is_percent_growth =1THEN'增量将⽤整数百分⽐表⽰'ELSE'⽂件⼤⼩固定,不会增长'END AS[增量模式] ,CASE WHEN A.growth >0AND is_percent_growth =0THEN cast(cast(a.growth*1.0/128as decimal(12,0)) AS VARCHAR)+'MB'WHEN A.growth >0AND is_percent_growth =1THEN cast(cast(a.growth AS decimal(12,0)) AS VARCHAR)+'%'ELSE'⽂件⼤⼩固定,不会增长'end AS[增长值(%或MB)] , a.physical_name AS[⽂件所在⽬录] ,a.type_desc AS[⽂件类型]FROM sys.database_files aINNER JOIN sys.sysfiles AS s ON a.[file_id]=s.fileidLEFT JOIN sys.dm_db_file_space_usage b ON a.[file_id]=b.[file_id]ORDER BY a.[type]转⾃:https:///nikyxxx/archive/2012/10/08/2715423.htmlsql server查看所有表⼤⼩、所占空间基于T-SQLSELECT db_name() as DbName, AS TableName, AS SchemaName,p.rows AS RowCounts,SUM(a.total_pages) *8AS TotalSpaceKB,CAST(ROUND(((SUM(a.total_pages) *8) /1024.00), 2) AS NUMERIC(36, 2)) AS总共占⽤空间MB,SUM(ed_pages) *8AS UsedSpaceKB,CAST(ROUND(((SUM(ed_pages) *8) /1024.00), 2) AS NUMERIC(36, 2)) AS UsedSpaceMB,(SUM(a.total_pages) -SUM(ed_pages)) *8AS UnusedSpaceKB,CAST(ROUND(((SUM(a.total_pages) -SUM(ed_pages)) *8) /1024.00, 2) AS NUMERIC(36, 2)) AS UnusedSpaceMBFROMsys.tables tINNER JOINsys.indexes i ON t.OBJECT_ID= i.object_idINNER JOINsys.partitions p ON i.object_id= p.OBJECT_ID AND i.index_id = p.index_idINNER JOINsys.allocation_units a ON p.partition_id = a.container_idLEFT OUTER JOINsys.schemas s ON t.schema_id = s.schema_idWHERE NOT LIKE'dt%'AND t.is_ms_shipped =0AND i.OBJECT_ID>0GROUP BY, , p.RowsORDER BY总共占⽤空间MB desc基于存储过程(exec sp_spaceused)--主要原理:exec sp_spaceused '表名' --取得表占⽤空間exec sp_spaceused ''--數據庫所有空間create table #Data(name varchar(100),row varchar(100),reserved varchar(100),data varchar(100),index_size varchar(100),unused varchar(100)) declare @name varchar(100)declare cur cursor forselect name from sysobjects where xtype='u' order by nameopen curfetch next from cur into @namewhile @@fetch_status=0begininsert into #dataexec sp_spaceused @nameprint @namefetch next from cur into @nameendclose curdeallocate curcreate table #DataNew(name varchar(100),row int,reserved int,data int,index_size int,unused int)insert into #dataNewselect name,convert(int,row) as row,convert(int,replace(reserved,'KB','')) as reserved,convert(int,replace(data,'KB','')) as data,convert(int,replace(index_size,'KB','')) as index_size,convert(int,replace(unused,'KB','')) as unused from #dataselect * from #dataNew order by data desc查看索引⼤⼩--查看索引⼤⼩如果您想要表的每个索引的⼤⼩,请使⽤以下两个查询中的⼀个:SELECT AS IndexName,SUM(ed_page_count) *8AS IndexSizeKBFROM sys.dm_db_partition_stats AS sJOIN sys.indexes AS iON s.[object_id]= i.[object_id]AND s.index_id = i.index_idWHERE s.[object_id]=object_id('dbo.TableName')GROUP BY ORDER BY ---第2种⽅法SELECT AS IndexName,SUM(page_count *8) AS IndexSizeKBFROM sys.dm_db_index_physical_stats(db_id(), object_id('dbo.TableName'), NULL, NULL, 'DETAILED') AS sJOIN sys.indexes AS iON s.[object_id]= i.[object_id]AND s.index_id = i.index_idGROUP BY ORDER BY 结果通常略有不同,但在1%之内。

sqlserver查询存储过程语句

sqlserver查询存储过程语句

sqlserver查询存储过程语句SQLServer是一个关系型数据库管理系统,为了方便管理数据库,我们可以使用存储过程来执行一些常用的操作或者复杂的操作。

本文将介绍如何查询SQL Server中的存储过程语句。

1. 打开SQL Server Management Studio(SSMS)首先,我们需要打开SQL Server Management Studio(SSMS),连接到我们想要查询的数据库。

在SSMS中,我们可以在“对象资源管理器”中找到我们想要查询的数据库。

在“数据库”文件夹下,我们可以找到“存储过程”文件夹。

2. 查询存储过程在“存储过程”文件夹中,我们可以看到所有的存储过程。

如果我们想要查询某个存储过程的语句,我们可以右键单击该存储过程,选择“脚本存储过程”->“创建到”->“新查询编辑器窗口”。

这样,我们就可以在新的查询编辑器窗口中看到该存储过程的语句。

如果我们需要修改该存储过程的语句,我们可以在该窗口中进行修改,并且保存修改后的语句。

3. 查询所有存储过程如果我们需要查询所有存储过程的语句,我们可以使用以下SQL 语句:SELECT definitionFROM sys.sql_modulesWHERE objectproperty(object_id, 'IsProcedure') = 1这个SQL语句将返回所有存储过程的语句,我们可以将其复制到查询编辑器窗口中进行查询。

4. 查询特定的存储过程如果我们只需要查询特定的存储过程的语句,我们可以使用以下SQL语句:SELECT definitionFROM sys.sql_modulesWHERE objectproperty(object_id, 'IsProcedure') = 1AND object_name(object_id) = '存储过程名称'这个SQL语句将返回特定存储过程的语句,我们只需要将“存储过程名称”替换为我们需要查询的存储过程的名称即可。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

T-SQL 存储过程确定 SQL Server 中的可用磁盘空间 存储过程确定
问题:在我们的组织中,我们需要在继续进行 SQL Server 2000,2005 和 2008 的 SQL Server 实例上的一些程序之前检查最低限度的可用磁盘空间。

您知道哪种方式能够找到可用磁盘空 间并且如果该空间不能满足最低要求时程序会失败吗?您能提供一些示例代码吗?
如果磁盘空间很紧张或者大比例的磁盘需要用来进行该进程 进程,那么在继续进行一个进程之前检查磁盘 进程 空间是一个明智之举。

如果在一个进程运行数小时之后由于磁盘不足而导致进程在快结束时失败,那么这 是令人不安的。

虽然 SQL Server 中有几个不同的选项可用来检查磁盘(CLR,,WMI, PowerShell 等 等),但是 让我们来看看怎样使用 SQL Server 2000 到 2008 都提供的 xp_fixeddrives 扩展存储过程 解决这个问题。

用来评估一个 SQL Server 磁盘驱动器上可用磁盘空间的示例存储过程 在下面的示例存储过程中,它接受了一个特定磁盘驱动器上最低量的可用 MB 的参数,然后执行 master.sys.xp_fixeddrives 扩展存储过程到一个临时表中。

一旦该数据在临时表中,当前的可用磁盘空 间就会与最小的可用磁盘空间进行比较,从而确定该进程应该继续还是产生一个错误。

要记住的一点是在 SQL Server 2000 和 SQL Server 2005/2008 之间,xp_fixeddrives 扩展存 储过程的属主发生了变化。

在 SQL Server 2000 中,xp_fixeddrives 的属主是 dbo,而在 SQL Server 2005/2008 中,属主变成了 sys。

由于属主的变化,两个存储过程分别提供如下。

一个针对 SQL Server 2005/2008,另一个针对 SQL Server 2000。


*** NOTE *** - SQL Server 2008 and 2005 Version CREATE PROCEDURE dbo.spExec_SufficientDiskSpace @MinMBFree int, @Drive char(1) AS /* ----------------------------------------------------------------------------- Object Name: dbo.spExec_SufficientDiskSpace -- Project: Admin Scripts -- Business Process: Monthly Sales Reports -- Purpose: Validate sufficient disk space -- Detailed Description: Validate sufficient disk space based on based on the -- @MBfree and @Drive parameters -- Database: Admin -- Dependent Objects: master.sys.xp_fixeddrives -- Called By: Admin Scripts -- Upstream Systems: Unknown -- Downstream Systems: Unknown -*/ SET NOCOUNT ON -- 1 - Declare variables DECLARE @MBfree int DECLARE @CMD1 varchar(1000) -- 2 - Initialize variables


SET @MBfree = 0 SET @CMD1 = '' -- 3 - Create temp tables CREATE TABLE #tbl_xp_fixeddrives (Drive varchar(2) NOT NULL, [MB free] int NOT NULL) -- 4 - Populate #tbl_xp_fixeddrives INSERT INTO #tbl_xp_fixeddrives(Drive, [MB free]) EXEC master.sys.xp_fixeddrives -- 5 - Initialize the @MBfree value SELECT @MBfree = [MB free] FROM #tbl_xp_fixeddrives WHERE Drive = @Drive -- 6 - Determine if sufficient fre space is available IF @MBfree > @MinMBFree BEGIN RETURN END ELSE BEGIN RAISERROR ('*** ERROR *** - Insufficient disk space.', 16, 1) END -- 7 - DROP TABLE #tbl_xp_fixeddrives DROP TABLE #tbl_xp_fixeddrives SET NOCOUNT OFF GO *** NOTE *** - SQL Server 2000 Version CREATE PROCEDURE dbo.spExec_SufficientDiskSpace @MinMBFree int, @Drive char(1) AS /* ----------------------------------------------------------------------------- Object Name: dbo.spExec_SufficientDiskSpace -- Project: Admin Scripts -- Business Process: Monthly Sales Reports -- Purpose: Validate sufficient disk space -- Detailed Description: Validate sufficient disk space based on based on the -- @MBfree and @Drive parameters -- Database: Admin -- Dependent Objects: master.sys.xp_fixeddrives -- Called By: Admin Scripts -- Upstream Systems: Unknown -- Downstream Systems: Unknown */ SET NOCOUNT ON


-- 1 - Declare variables DECLARE @MBfree int DECLARE @CMD1 varchar(1000) -- 2 - Initialize variables SET @MBfree = 0 SET @CMD1 = '' -- 3 - Create temp tables CREATE TABLE #tbl_xp_fixeddrives (Drive varchar(2) NOT NULL, [MB free] int NOT NULL) -- 4 - Populate #tbl_xp_fixeddrives INSERT INTO #tbl_xp_fixeddrives(Drive, [MB free]) EXEC master.dbo.xp_fixeddrives -- 5 - Initialize the @MBfree value SELECT @MBfree = [MB free] FROM #tbl_xp_fixeddrives WHERE Drive = @Drive -- 6 - Determine if sufficient fre space is available IF @MBfree > @MinMBFree BEGIN RETURN END ELSE BEGIN RAISERROR ('*** ERROR *** - Insufficient disk space.', 16, 1) END -- 7 - DROP TABLE #tbl_xp_fixeddrives DROP TABLE #tbl_xp_fixeddrives SET NOCOUNT OFF GO 下一步 如果你的组织拥有的程序要求一个很大量的磁盘空间或者大比例的特定磁盘,那么确保在程序开始或 者关键点时确认磁盘驱动器具有足够的存储。

一次快速检查就可以节约大量的时间, 减少烦恼和重新工作。

使用上面列出的存储过程中的 master.sys.xp_fixeddrives 扩展存储过程是检查可用磁盘空间的其 中一种方法。

CLR,PowerShell,WMI 等等也可以检查磁盘空间,所以选择适合你代码和环境的方法。

















相关文档
最新文档