我想确定我安装了哪些 SQL Server/SQL Express 实例(手动或通过编程方式),但所有的示例都告诉我运行一个 SQL 查询来确定这一点,这需要假定我已经连接到特定的实例。
我想确定我安装了哪些 SQL Server/SQL Express 实例(手动或通过编程方式),但所有的示例都告诉我运行一个 SQL 查询来确定这一点,这需要假定我已经连接到特定的实例。
在命令行中:
SQLCMD -L
或者OSQL -L
(注:L 必须大写)
这将列出网络上安装的所有 SQL 服务器。您可以设置配置选项来防止 SQL Server 在列表中显示。要做到这一点...
在命令行中:
svrnetcn
在启用的协议列表中,选择“TCP/IP”,然后单击属性。有一个“隐藏服务器”的复选框。C:\> sqllocaldb i
- Contango所有已安装的实例应在Microsoft管理控制台的服务快照中显示。要获取实例名称,请转到“开始”|“运行”|键入“Services.msc”,并查找所有具有“Sql Server(实例名称)”的条目。
Get-Service | ?{ $_.Name -like "MSSQL*" }
- orad您可以查询此注册表值以直接获取SQL版本:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\90\Tools\ClientSetup\CurrentVersion
或者,您可以查询实例名称,然后使用您想要的实例名称与 sqlcmd 进行交互:
查看您的实例名称:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names
然后执行这个:
SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')
-- 查找安装在计算机上的实例列表的 T-SQL 查询
DECLARE @GetInstances TABLE
( Value nvarchar(100),
InstanceNames nvarchar(100),
Data nvarchar(100))
Insert into @GetInstances
EXECUTE xp_regread
@rootkey = 'HKEY_LOCAL_MACHINE',
@key = 'SOFTWARE\Microsoft\Microsoft SQL Server',
@value_name = 'InstalledInstances'
Select InstanceNames from @GetInstances
sa
,对吧? - jyz我知道这个帖子有点旧,但在找到我要的答案之前,我看到了这个帖子,所以我想分享一下。如果您正在使用SQLExpress(或localdb),则有一种更简单的方法来查找实例名称。在命令行中键入:
> sqllocaldb i
这将列出您在本地安装的实例名称。因此,您的完整服务器名称应该在实例名称前面包括(localdb)\以进行连接。另外,sqllocaldb允许您创建新实例或删除它们以及配置它们。请查看:SqlLocalDB Utility。
SQL Server允许应用程序在当前网络中查找SQL Server实例。SqlDataSourceEnumerator类向应用程序开发人员公开此信息,提供包含有关所有可见服务器信息的DataTable。此返回表格包含网络上可用的服务器实例列表,该列表与用户尝试创建新连接时提供的列表匹配,并扩展包含Connection Properties对话框上所有可用服务器的下拉列表。显示的结果并非始终完整。 为了检索包含有关可用SQL Server实例信息的表格,您必须首先检索一个枚举器,使用共享/静态Instance属性:
using System.Data.Sql;
class Program
{
static void Main()
{
// Retrieve the enumerator instance and then the data.
SqlDataSourceEnumerator instance =
SqlDataSourceEnumerator.Instance;
System.Data.DataTable table = instance.GetDataSources();
// Display the contents of the table.
DisplayData(table);
Console.WriteLine("Press any key to continue.");
Console.ReadKey();
}
private static void DisplayData(System.Data.DataTable table)
{
foreach (System.Data.DataRow row in table.Rows)
{
foreach (System.Data.DataColumn col in table.Columns)
{
Console.WriteLine("{0} = {1}", col.ColumnName, row[col]);
}
Console.WriteLine("============================");
}
}
}
来自 MSDN 的这篇文章介绍了如何使用 Visual Studio 2005 开发高效的 C++ 应用程序。
SELECT @@SERVERNAME, @@SERVICENAME
sc \\server_name query | grep MSSQL
findstr
ж›їд»Ј grep
来完成这个任务。 - Pablo Montilla