数据库连接字符串研究.

一般在写数据库连接串的时候,

我们都用IP地址或者计算机名(Local、127.0.0.1)写好就完事了。

 

最近一段时间研究发现其实并不是那么简单的。

 

数据库有多实例场景,而在多实例的机器上如何选择正确的数据库就是个问题。

 

我们一般都是如下写法:

Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=Northwind;Data Source=127.0.0.1

 

我们在数据库的配置管理器中看到了数据库的协议包含

共享内存、命名管道、TCP/IP、VIA、

 

我们选择windows账号登陆又是怎么回事?

 

如果我们只写了IP+实例(计算机名+实例),后面没有其他说明。

呵呵,微软就不管哪个,只要能连上,就OK。不具体指定指定哪一个方式。

如果想查看当前使用的是那种协议,使用如下SQL语句:

SELECT net_transport FROM sys.dm_exec_connections WHERE session_id = @@SPID;

 

这个多协议我们在写好连接串后,我们能否指定一个协议呢。

 

回答是肯定的。

 

TCP/IP

Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=Northwind;Data Source=127.0.0.1,1234

命名管道

Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=Northwind;Data Source=//127.0.0.1/pipe/sql/query

共享内存

同一台计算机使用,没有可配置的属性。

从msdn上摘一段话

从运行在同一台计算机上的客户端到 Microsoft SQL Server 的连接使用共享内存协议。共享内存没有可配置的属性。始终会先尝试使用共享内存,无法将其从“客户端协议属性”列表中“启用的协议”列表的顶部位置移开。可以禁用共享内存协议,在排除其他某个协议的故障时,这样做很有用。

via

以后微软要抛弃它。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值