关于默认实例和命名实例的访问

bala7229291 2011-06-01 04:15:27
我的SQL Server 2005安装的时候定义了命名实例 BALA,并且在安装VS2008时自动安装了一个命名实例SQLEXPRESS

按照说明访问默认实例的时候可以使用 计算机名 用户名 密码 即可,访问命名实例使用 计算机名\实例名 用户名 密码 即可。

现在的问题是,当我只使用计算机名访问时,顺利的连接了 BALA 实例,我不明白, BALA和SQLEXPRESS都是命名实例,为什么用计算机名访问时连接的是BALA 而不是SQLEXPRESS。或者是不是有什么地方可以设置当使用计算机名访问时,连接哪个实例。

另外:使用 计算机\实例名 访问是没有问题的。

...全文
935 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
cgp2008 2011-08-01
  • 打赏
  • 举报
回复
看一看 这么复杂啊
bala7229291 2011-06-03
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 claro 的回复:]
对的。
强调用ip或电脑名连接通常是默认实例,除非在某种设定的情况下有不同。
[/Quote]
请问,如果我都是创建的命名实例,但是使用ip或者电脑名是能连接到某个实例的,那么怎么知道哪个是默认实例呢
bala7229291 2011-06-03
  • 打赏
  • 举报
回复
我也归纳一下结贴:
1.连接SQL Server是有默认端口的,默认是1433,我们可以通过配置管理器对本地客户端连接端口的默认设置。

2.每次连接,客户端是按照默认的端口号进行连接的。

3.我们同样可以在配置管理器中,配置每一个实例的访问端口,总之,在客户端默认端口的定义下,客户端在只输入计算机名或者IP,就连接到默认端口上

如:客户端默认端口设置为5002 而有某个实例的端口号也是5002的话,使用计算机名或者IP就能连接到这个实例上,反之就可以修改。

其实这个道理最重要的运用是在应用程序连接数据库时候使用的连接字符串,有些时候写应用程序的人根本就不知道连接哪个实例,特别是临时部署的时候,通常就写个IP而不加实例名,因此知道这个道理以后,解决这其中的一些问题。
claro 2011-06-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 bala7229291 的回复:]
如果我都是创建的命名实例,但是使用ip或者电脑名是能连接到某个实例的,那么怎么知道哪个是默认实例呢
[/Quote]两个一模一样的人,在无法分辨的情况下,你会怎么做?是不是给其中一个加上标识?对,这样的考虑方式是正确的。

实际上不存在一模一样的人,数据库用同一种方式只会连接到一个实例中。而对此产生的疑惑都没有关系。

如何处理?

在配置管理器中,选择连接方式为TCP/IP,并且设定不同实例的访问端口,取消动态分配端口选项。
这样连接时需要实例名,端口号

通常取消动态端口分配而且非默认实例的情况下,即使分配1433端口也需要这样做。

请移步:http://blog.csdn.net/claro/archive/2010/10/25/5963517.aspx
claro 2011-06-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zhangjiang264 的回复:]
访问sqlexpress实例一般是用电脑名\express,用ip或电脑名连到mssqlserver
[/Quote]
对的。
强调用ip或电脑名连接通常是默认实例,除非在某种设定的情况下有不同。
ycproc 2011-06-02
  • 打赏
  • 举报
回复
一般情况下.试试
zhangjiang264 2011-06-01
  • 打赏
  • 举报
回复
访问sqlexpress实例一般是用电脑名\express,用ip或电脑名连到mssqlserver
nzperfect 2011-06-01
  • 打赏
  • 举报
回复
一般来讲,哪个实例用的是1433端口,就会连到哪个实例上。
打一壶酱油 2011-06-01
  • 打赏
  • 举报
回复
安装SQL Server 2005时,Microsoft SQL Server安装向导允许我们选择把安装的SQL Server实例定义为默认实例还是命名实例。命名实例只是表示你在安装过程中为实例定义了一个名称,然后就可以用该名称访问该实例。默认实例获得安装它的服务器的名称,因此,在某个时刻只能有一个默认实例,但可以有很多命名实例。

MSSQL默认实例与命名实例的区别
1、服务中服务名称的区别:
(1)默认实例:MSSQLSERVER;
(2)有名命名实例:实列名为:benet,在服务中的名称是:MSSQL$BENET;
注:如果你有多个实例的时候会在服务中出现多个服务名称.
2、连接到查询分析器或探查器的时候区别:
(1)默认实例可以使用:“。”(点)、“(local)”、“计算机名称”
(2)实例名称:计算机名:pcname,实例名:benet,
连接时使用的名称是:pcname\benet
bala7229291 2011-06-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fredrickhu 的回复:]
你连接的时候用连接字符串用计算机\实例名
[/Quote]

我这里说的是用SQL Server 2005的客户端连接数据库

其实我是想了解其中的规则是什么 , 我知道 计算机\实例名 是可以连接的。比如我的计算机名是 ABC的话,使用 ABC\BALA 或者 ABC\SQLEXPRESS 分别是可以练到两个实例上的

我想知道的是,当我只是用计算机名的时候,或者就用IP的时候,能连接上一个实例,我怎么确实这个连接方式是对应的哪个实例,是否可以更改
--小F-- 2011-06-01
  • 打赏
  • 举报
回复
你连接的时候用连接字符串用计算机\实例名

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧