Sql server 如何将驱动器映射到SQL实例?

Sql server 如何将驱动器映射到SQL实例?,sql-server,sql-server-2005,sql-server-2008,tsql,powershell,Sql Server,Sql Server 2005,Sql Server 2008,Tsql,Powershell,如何获取与SQL Server实例(2005年及以后)关联或正在使用的所有驱动器的列表?该列表应包括固定硬盘驱动器和装载点。我一直在玩弄sp_OageProperty,但它没有满足我的需求 如果无法通过T-SQL实现,我的下一站/尝试将是在Powershell中执行此操作。以下是可以满足您需求的方法: select distinct LEFT(physical_name, 2) from sys.master_files 这样做的目的是获取给定实例中所有数据库使用的摘要驱动器(即C:)。这将列

如何获取与SQL Server实例(2005年及以后)关联或正在使用的所有驱动器的列表?该列表应包括固定硬盘驱动器和装载点。我一直在玩弄sp_OageProperty,但它没有满足我的需求


如果无法通过T-SQL实现,我的下一站/尝试将是在Powershell中执行此操作。

以下是可以满足您需求的方法:

select distinct LEFT(physical_name, 2)
from sys.master_files

这样做的目的是获取给定实例中所有数据库使用的摘要驱动器(即
C:
)。

这将列出所有连接的驱动器:

EXEC master..xp_fixeddrives
Shark的查询很好,从SQL Server系统的角度列出了SQL Server正在使用的驱动器

select distinct LEFT(physical_name, 2)
from sys.master_files -- Sharky's query
如果存储过程引用SQL Server实例未显式使用的特定物理驱动器,则如上所述的第二个查询不会显示SQL Server正在使用的所有驱动器。要确定这一点,您可能需要在代码中搜索对第一次存储过程调用生成的列表中找到的驱动器的引用


在我的例子中,第二个查询只显示驱动器D:但我在存储过程中有代码,这些代码引用驱动器F来查找大容量插入数据库的文件。

如果您不在群集上,计算机上的任何驱动器都可以用于数据库文件。如果您在群集上,请查看sys.dm_io_cluster_shared_驱动器。

请参阅:您想要实例可以看到的所有驱动器还是它正在使用的驱动器?有关后者的详细信息。数据、tempdb和日志驱动器很容易获取,但备份驱动器对我来说更难获取。不清楚他是想知道所有正在使用的驱动器还是所有可以使用的驱动器。这将只显示当前连接了DB的驱动器。@JNK“获取所有关联或正在使用的驱动器”我认为这意味着所有正在使用的驱动器。不过我可能弄错了。
关联的
让我觉得他想要实例可以访问的所有驱动器。@JNK-hmm。。。说得好。非常需要OP的一些澄清。:)这对于MS配置的集群尤其有用。谢谢