インスタンス名がのSQL Serverがありますか。?もしそうでなければ、それはあなたの問題です。
すべてのローカルSQL Serverインスタンスを列挙しようとしているようです。もしそうなら、このコードは動作します:
using System;
using Microsoft.SqlServer.Management.Smo;
using System.Data;
using System.Windows.Forms;
namespace ConsoleApplication1
{
class Program
{
static void Main()
{
Server sr = new Server("MACHINE_NAME\\INSTANCE_NAME");
try
{
foreach (Database db in sr.Databases)
{
Console.WriteLine(db.Name);
}
Console.Read();
}
catch (Exception Ex)
{
MessageBox.Show(Ex.ToString());
}
}
}
}
エルスルーカスアードバーク答えが最も適切である:質問は、彼が特定のインスタンス内のデータベースを見つけたい、すなわち、間違ったタイトルは念のために
DataTable dt = SmoApplication.EnumAvailableSqlServers(true);
foreach (DataRow dr in dt.Rows)
{
Console.WriteLine(dr["Name"]);
Console.WriteLine(" " + dr["Server"]);
Console.WriteLine(" " + dr["Instance"]);
Console.WriteLine(" " + dr["Version"]);
Console.WriteLine(" " + dr["IsLocal"]);
}
なぜSQL Serverを列挙し、それでも1つの "TEST"をインスタンス化するのですか? –
あなたのファイアウォール(または何か他のもの)が、利用可能なインスタンスを見つけようとするosqlのブロードキャストをブロックしている可能性がありますか? –