如何使用sqlcmd.exe 连接到数据库引擎

如何使用sqlcmd.exe 连接到数据库引擎,第1张

SQL Server 支持客户端使用 TCP/IP 网络协议(默认)和命名管道协议进行通信。 如果客户端正在连接到同一计算机上的数据库引擎实例,则还可使用 Shared Memory 协议。 通常有三种选择协议的方法。 sqlcmd 实用工具使用的协议按下列顺序确定:

sqlcmd 使用为连接字符串中指定的协议,如下所述。

如果连接字符串中未指定任何协议,则 sqlcmd 将使用连接到的别名中定义的协议。 若要将 sqlcmd配置为通过创建别名使用特定网络协议,请参阅创建或删除供客户端使用的服务器别名 (SQL Server 配置管理器)。

如果未通过其他方法指定协议, sqlcmd 将使用由 SQL Server 配置管理器中的协议顺序确定的网络协议。

下面的示例显示连接到 1433 端口上默认的数据库引擎实例以及假定侦听 1691 端口的数据库引擎命名实例的各种方法。 其中一些示例使用环回适配器的 IP 地址 (127.0.0.1)。 请使用您的计算机网络接口卡的 IP 地址进行测试。

通过指定实例名连接到 数据库引擎 :

sqlcmd -S ComputerA

sqlcmd -S ComputerA\instanceB

通过指定 IP 地址连接到数据库引擎:

sqlcmd -S 127.0.0.1

sqlcmd -S 127.0.0.1\instanceB

通过指定 TCP\IP 端口号连接到数据库引擎:

sqlcmd -S ComputerA,1433

sqlcmd -S ComputerA,1691

sqlcmd -S 127.0.0.1,1433

sqlcmd -S 127.0.0.1,1691

使用 TCP/IP 进行连接

使用以下常规语法进行连接:

sqlcmd -S tcp:<computer name>,<port number>

连接到默认实例:

sqlcmd -S tcp:ComputerA,1433

sqlcmd -S tcp:127.0.0.1,1433

连接到命名实例:

sqlcmd -S tcp:ComputerA,1691

sqlcmd -S tcp:127.0.0.1,1691

使用命名管道进行连接

使用下列常规语法之一进行连接:

sqlcmd -S np:\\<computer name>\<pipe name>

连接到默认实例:

sqlcmd -S np:\\ComputerA\pipe\sql\query

sqlcmd -S np:\\127.0.0.1\pipe\sql\query

连接到命名实例:

sqlcmd -S np:\\ComputerA\pipe\MSSQL$<instancename>\sql\query

sqlcmd -S np:\\127.0.0.1\pipe\MSSQL$<instancename>\sql\query

在服务器上从客户端使用共享内存(本地过程调用)进行连接

使用下列常规语法之一进行连接:

sqlcmd -S lpc:<computer name>

连接到默认实例:

sqlcmd -S lpc:ComputerA

连接到命名实例:

sqlcmd -S lpc:ComputerA\<instancename>

上述错误我遇到两种情况:

一种是在打开打开SQL

Server

2008时d出的;

另一种是在应用程序连接SQL

Server

2008时出现的.归纳了一下,

由以下几个原因:

1.数据库引擎没有启动

有两种启动方式:

(1)开始->程序->Microsoft

SQL

Server

2008->SQL

Server

2008外围应用配置器,在打开的界面单击"服务的连接的外围应用配置器",在打开的界面中找到Database

Engine,单击"服务",在右侧查看是否已启动,如果没有启动可单击"启动",并确保"启动类型"为自动,不要为手动,否则下次开机时又要手动启动;

(2)可打开:开始->程序->Microsoft

SQL

Server

2008->配置工具->SQL

Server

Configuration

Manager,选中SQL

Server

2008服务中SQL

Server(MSSQLSERVER)

,并单击工具栏中的"启动服务"按钮把服务状态改为启动;

使用上面两种方式时,有时候在启动的时候可能会出现错误[/b],不能启动,这时就要查看"SQL

Server

2008配置管理器"中的SQL

Server

2008网络配置->MSSQLSERVER协议中的VIA是否已启用,如果已启用,则把它禁止.然后再执行上述一种方式 *** 作就可以了。

2.进行远程连接时,是否已允许远程连接.

SQL

Server

2008

在默认情况下仅限本地连接.我们可以手动启用远程连接.在上面第一种方式中,找到Database

Engine,单击"远程连接",在右侧将"仅限本地连接(L)"改为"本地连接和远程连接(R)",并选中"同时使用TCP/IP和named

pipes(B)".

3.如果是远程连接,则还要查看连接数据库的语句是否正确,登录账户是否正确,密码是否正确等.

我在一次局域网内连接数据库时,就要因为连接字符串出了问题,在局域网内一台机子连接另一台机子上数据库时,把Data

Source=装有数据库的另一台机子的IP.我在连接数据库时总是出现上面的错误,查了好长时间,后来发现,IP没有正确到传到连接字符串,原来我在连接时,使用的是本地,即127.0.0.1,输入的IP没有传到连接字符串


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10000156.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存