Cut*_*ute 1 c# sql-server wmi smo .net-2.0
任何人都可以告诉我如何使用c#和SMO或任何API获取远程Sqlserver实例?
我有一个远程服务器名称"RemoteMC",它有2个sql server实例:"RemoteMc"和"RemoteMC\sqlexpress"
我尝试在这样的代码中获取实例:
Server srv=new Server("RemoteMC");
DataTable dt=SmoApplication.EnumAvailableSqlServer(true);
Run Code Online (Sandbox Code Playgroud)
但它返回"Host\sqlexpress"
我不知道出了什么问题.我怎样才能得到结果:
RemoteMC
RemoteMC\sqlexpress;
?
这个SmoApplication.EnumAvailableSqlServers方法就是你要找的.有3个重载,其中一个带有string服务器名称的参数.
它返回一个DataTable,它的行有像场Version,name,IsLocal,等.
您需要添加对SMO库的引用,并且您可能希望using Microsoft.SqlServer.Management.Smo;在C#文件的顶部添加" ".
有关SQL SMO的介绍,请参见http://www.sqldbatips.com/showarticle.asp?ID=34.
编辑:一些代码来解决这个特殊的问题(我还没有编译或运行):
编辑:.Rows添加到foreach,以便它可以编译.
DataTable dataTable = SmoApplication.EnumAvailableSqlServers(false);
foreach (DataRow dataRow in dataTable.Rows)
{
if ((dataRow["Server"] as string) == "MyServerName")
Console.WriteLine(dataRow["Instance"] as string);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5012 次 |
| 最近记录: |