Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何判断SQL Server MDF文件是否已满/是否需要增长?_Sql Server_Sql Server 2008 - Fatal编程技术网

Sql server 如何判断SQL Server MDF文件是否已满/是否需要增长?

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日志,我看到如下条目: 在中自

我知道事务日志/ldf文件已满并不断增长,通过运行以下命令,我可以看到它已满:

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]