探讨:如何查看和获取SQL Server实例名

一、查看實例名時可用

1、服务—SQL Server(实例名),默认实例为(MSSQLSERVER)

或在连接企业管理时-查看本地实例

2、通過注冊表
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SQL Server/InstalledInstance

3、用命令
sqlcmd/osql
sqlcmd -L
sqlcmd -Lc
osql -L

获取可用實例,以下舉一個例子,根據自己情況改


代码如下:

DECLARE @Table TABLE ( instanceName  sysname NULL)

insert @Table EXEC sys.xp_cmdshell 'sqlcmd -Lc'

--LEFT(@@serverName,CHARINDEX('/',@@serverName+'/')-1) 替代為本機名就行了 , 根據實例命名規則判斷

SELECT * FROM @Table WHERE instanceName LIKE   LEFT( @@serverName , CHARINDEX ( '/' , @@serverName + '/' )- 1)+ '%'

二、

--1.
SELECT SERVERPROPERTY('InstanceName')

--2
sp_helpserver

--3
select @@SERVERNAME

--4
SELECT * FROM SYS.SYSSERVERS

--5
SELECT * FROM SYS.SERVERS

三、

EXECUTE xp_regread @rootkey='HKEY_LOCAL_MACHINE',
@key='SOFTWARE/Microsoft/Microsoft SQL Server/Instance Names/SQl',
@value_name='MSSQLSERVER'

四、

Select Case
When SERVERPROPERTY ('InstanceName') Is Null Then @@SERVERNAME
Else SERVERPROPERTY ('InstanceName')
End

五、在本地或网络得到所有实例名

1、You can do with registry reading , like my code


代码如下:

using System;
using Microsoft.Win32;

namespace SMOTest
{
    class Program
    {
      static void Main()
      {
        RegistryKey rk = Registry.LocalMachine.OpenSubKey(@"SOFTWARE/Microsoft/Microsoft SQL Server");
        String[] instances = (String[])rk.GetValue("InstalledInstances");
        if (instances.Length > 0)
        {
           foreach (String element in instances)
           {
              if (element == "MSSQLSERVER")
                 Console.WriteLine(System.Environment.MachineName);
              else
                 Console.WriteLine(System.Environment.MachineName + @"/" + element);
           }
        }
      }
    }
}

2、You can use SQLDMO.dll to retrieve the list of SQL Server instances.  The SQLDMO.dll can be found from the "C:/Program Files/Microsoft SQL Server/80/Tools/Bin" folder. Refer this assembly in your project and the following snippet would return a List Object containing the sql server instances.


代码如下:

public static List GetSQLServerInstances()
{
NameList sqlNameList = null;
Application app = null;

var sqlServers = new List();
try
{
app = new ApplicationClass();
sqlNameList = app.ListAvailableSQLServers();
foreach (string sqlServer in sqlNameList)
sqlServers.Add(sqlServer);
}
catch(Exception ex)
{
//play with the exception.
}
finally
{
if (sqlNameList != null)
sqlNameList = null;
if (app != null)
app = null;
}
return sqlServers;
}

(0)

相关推荐

  • 探讨:如何查看和获取SQL Server实例名

    一.查看實例名時可用 1.服务-SQL Server(实例名),默认实例为(MSSQLSERVER) 或在连接企业管理时-查看本地实例 2.通過注冊表HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SQL Server/InstalledInstance 3.用命令sqlcmd/osqlsqlcmd -Lsqlcmd -Lcosql -L 获取可用實例,以下舉一個例子,根據自己情況改 复制代码 代码如下: DECLARE @Table TABLE

  • 通过ODBC连接的SQL SERVER实例

    通过ODBC连接的SQL SERVER实例一 <? $connection = odbc_connect("mydata","userid","passwd"); $query = "select * from tab_1 where  no>0" ; $result = odbc_do($connection,$query) ; print "<table border='1' width='10

  • 安装完成后如何找回SQL Server实例安装时的序列号

    当需要再次安装SQL Server时,如果序列号找不到了,可以试着从已经安装的实例里找回序列号,因为安装完SQL Server后,序列号(Product Key)被保存在注册表里: MSDN订阅下载的安装包是内置序列号的,则没有这个困扰. 一. 序列号保存在哪 通过无文档记载的扩展存储过程xp_regread读取注册表: --For SQL Server 2008, 2008 R2 use master GO exec xp_regread 'HKEY_LOCAL_MACHINE','SOFTW

  • 获取SQL Server表字段的各种属性实例代码

    复制代码 代码如下: -- SQL Server 2000 SELECT a.name AS 字段名, CASE WHEN EXISTS (SELECT 1 FROM sysobjects WHERE xtype = 'PK' AND parent_obj = a.id AND name IN (SELECT name FROM sysindexes WHERE indid IN (SELECT indid FROM sysindexkeys WHERE id = a.id AND colid

  • 获取SQL Server数据库元数据的几种方法

    元数据简介 元数据 (metadata) 最常见的定义为"有关数据的结构数据",或者再简单一点就是"关于数据的信息",日常生活中的图例.图书馆目录卡和名片等都可以看作是元数据.在关系型数据库管理系统 (DBMS) 中,元数据描述了数据的结构和意义.比如在管理.维护 SQL Server 或者是开发数据库应用程序的时候,我们经常要获取一些涉及到数据库架构的信息: ◆某个数据库中的表和视图的个数以及名称: ◆某个表或者视图中列的个数以及每一列的名称.数据类型.长度.精度

  • 详解易语言操作sql server实例

    最近看到很多初学者在问在易语言中如何操作SQL Server以外部数据库,也有人提出想要个全面的操作过程,为了让大家能够尽快上手,我给大家简单介绍一下操作SQL的过程,希望能起到抛砖引玉的作用. 由于我本身工作业比较忙,就以我目前做的一个软件的部份内容列给大家简单讲讲吧,高手就不要笑话了,只是针对初学者 第一步,首先需要建立一个数据库: 以建立一个员工表为例,各字段如下: 3 员工ID int 4 0 0 登陆帐号 nvarchar 30 1 0 密码 nvarchar 15 1 0 所属部门

  • asp.net获取SQL所有数据库名、所有表名、所有字段名

    1.获取所有数据库名: SELECT Name FROM Master..SysDatabases ORDER BY Name 2.获取所有表名: SELECT Name FROM DatabaseName..SysObjects Where XType='U' ORDER BY Name XType='U':表示所有用户表; XType='S':表示所有系统表; 3.获取所有字段名: SELECT Name FROM SysColumns WHERE id=Object_Id('TableNa

  • IIS中ASP.NET连接SQL Server出错的解决方法

    解决连接问题的另一种方法是在IIS中启用SQL Server验证,然后再连接字符串中使用用户ID与密码:或是当ASP.NET应 用程序以另一个Windows用户而非ASPNET运行时,使用ASP.NET impersonation方法. 为了使ASPNET帐户可以访问ASP.NET应用程序的数据库,需要完成以下步骤: 1)启动SQL Server Management Studio,指定SQL Server实例名,以Windows验证模式登录. 2)用grantlogin存储过程把Windows

  • ASP.NET获取MS SQL Server安装实例实现思路及代码

    参考MSDN的文章 http://msdn.microsoft.com/zh-cn/library/a6t1z9x2.aspx中所指的SqlDataSourceEnumerator类别,是应用程序在当前的网络中查找SQL Server实例. Insus.NET在演示中,是把找到的实例显示于DropDownList控件中.首先在.aspx拉一个DropDownList控件: 复制代码 代码如下: Server: <asp:DropDownList ID="DropDownListInstan

  • SQL Server 2005安装实例环境图解第1/2页

    关键的安装考虑 虽然大多数的SQL Server安装都使用了默认的参数,这样的话是一个简单的过程,但是没有理解安装参数的话,也会导致困惑或者将来安全攻击方面的问题.正因为如此,下面我列出了一些关键的思考点,供你在安装SQL Server的时候思考: ◆只安装必要的SQL Server组件来限制服务的数量.这也同时限制了忘记打关键补丁的可能性,因为你没有实现SQL Server的必要组件. ◆对于SQL Server服务账号,确保要选择一个拥有域内适当权限的账号.不要只是选择域管理员来运行SQL

随机推荐