此代码创建一个C:\DestinationFolder\MyQuery.txt
文件,用于存储数据库版本信息(例如11.0.3128.0):
Declare @Cmd Varchar(6000)
Declare @Query Varchar(2000)
Set @Query = 'Select SERVERPROPERTY(''ProductVersion'')'
Set @cmd = 'bcp "' + @Query + '" queryout ' + 'C:\DestinationFolder\MyQuery.txt' + ' -c -T -t'
Exec master..xp_cmdshell @cmd
是否可以修改上面的代码,以便在查询结果后命名新创建的文件? (例如11.0.3128.0.txt)
我的目标是能够运行查询并将结果存储为文件名。
答案 0 :(得分:1)
根本不需要执行任何查询 - 您可以通过PowerShell& amp; SMO对象。
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo") | Out-Null;
$MySQLObject = new-object Microsoft.SqlServer.Management.Smo.Server "myservername";
$VersionNumber = $MySQLObject.Information.VersionString;
$MyFileName = "C:\DestinationFolder\$VersionNumber.txt";
Add-Content $MyFileName $VersionNumber
请参阅http://sqlmag.com/powershell/using-sql-server-management-objects-powershell