Sql server 如何判断SQL Server MDF文件是否已满/是否需要增长?
我知道事务日志/ldf文件已满并不断增长,通过运行以下命令,我可以看到它已满:Sql server 如何判断SQL Server MDF文件是否已满/是否需要增长?,sql-server,sql-server-2008,Sql Server,Sql Server 2008,我知道事务日志/ldf文件已满并不断增长,通过运行以下命令,我可以看到它已满: DBCC SQLPERF(logspace) 是否有相应的命令来检查数据/mdf文件的状态 我感兴趣的原因: 我正在对一个使用SqlBulkCopy导入数据的简单.NET应用程序进行故障排除。正常情况下,这可以正常工作,但偶尔由于超时/SqlException(包括以下内容),应用程序会失败。我增加了BulkCopyTimeout属性,但这并没有解决问题 通过查看SQL Server日志,我看到如下条目: 在中自
DBCC SQLPERF(logspace)
是否有相应的命令来检查数据/mdf文件的状态
我感兴趣的原因: 我正在对一个使用SqlBulkCopy导入数据的简单.NET应用程序进行故障排除。正常情况下,这可以正常工作,但偶尔由于超时/SqlException(包括以下内容),应用程序会失败。我增加了BulkCopyTimeout属性,但这并没有解决问题 通过查看SQL Server日志,我看到如下条目: 在中自动增长文件“MyDatabase” 数据库“MyDatabase”已被取消 用户或在29812之后超时 毫秒。使用ALTER数据库 为设置较小的FILEGROWTH值 此文件或要显式设置新的 文件大小 这让我相信我的数据文件需要增长(10%的增长==几GB),而我的大容量复制在等待MDF文件增长时失败 .NET例外情况: 未处理的异常: System.Data.SqlClient.SqlException: 超时已过期。t imeout在操作完成之前经过的时间或 服务器不可用 回应。 声明已终止。 位于System.Data.SqlClient.SqlConnection.OnError(SqlException 例外,布利亚 断开连接) 位于System.Data.SqlClient.TdsParser.throweexception和warning(TdsParserStateObj ect stateObj) 位于System.Data.SqlClient.TdsParser.Run(RunBehavior 运行行为,SqlCommand-cm dHandler、SqlDataReader数据流、BulkCopySimpleResultSet bulkCopyHandler,Tds ParserStateObjectStateObj) 位于System.Data.SqlClient.SqlBulkCopy.WriteToServerInternal()处 位于System.Data.SqlClient.SqlBulkCopy.WriteRowSourceToServer(Int32 列数 ) 位于System.Data.SqlClient.SqlBulkCopy.WriteToServer(DataTable 表,DataRowSt (州) 你可以用
EXEC sp_spaceused
但请记住,它返回的数据库大小包括数据和日志
更多信息请访问
跟踪数据库中每个分配的页面。如果您想更具体一些,那么必须将每个数据空间的分配单元分开(),以确定哪个文件组的空间不足 这将给出文件、大小和使用的存储量。以及可用的数量
SELECT
[name] AS [File Name],
physical_name AS [Physical Name],
[Total Size_Mb] = ceiling([size]/128),
[Space used_Mb] = CAST(FILEPROPERTY([name], 'SpaceUsed') as int) /128,
[Available Space_Mb] = (([size]/128) - CAST(FILEPROPERTY([name], 'SpaceUsed') as int) /128) ,file_id
FROM sys.database_files
ORDER BY [file_id]
SELECT
[name] AS [File Name],
physical_name AS [Physical Name],
[Total Size_Mb] = ceiling([size]/128),
[Space used_Mb] = CAST(FILEPROPERTY([name], 'SpaceUsed') as int) /128,
[Available Space_Mb] = (([size]/128) - CAST(FILEPROPERTY([name], 'SpaceUsed') as int) /128) ,file_id
FROM sys.database_files
ORDER BY [file_id]