如何通过局域网连接SQL Server数据库

11
想要连接到通过局域网连接的另一台计算机上的数据库。我能够使用像C:\ Users ...这样的字符串使用sql server db,但是我无法使用像(\\ Server \ c \ user ...)这样的字符串连接。我尝试将db文件移动到“我的文档”中,仍然出现此错误。
我收到以下错误消息:尝试附加自动命名的数据库文件(\\ SERVER \ Users \ Jeswills \ Documents \ TBSDB.mdf)失败。存在具有相同名称的数据库,或指定的文件无法打开,或者它位于UNC共享上。
我希望我正确地提出了问题。

正如消息所述,不支持从网络共享附加。您尝试连接的 SQL Server 版本是什么? - Yuriy Galanter
1
你的服务器上有安装SQL Server吗?你不想通过局域网连接MDF文件,你需要连接到远程服务器。 - Decker97
Sql Server 2008已安装在远程服务器系统上。 - Jeswills
2个回答

8
由于数据库不支持“\SERVER\c…”参数,所以我必须先启用TCP/IP和SQL Browser,然后再附加数据库。由于身份验证必须是SQL而不是Windows,因此我还需要通过安全性创建一个登录并将其添加到附加的数据库文件中。我还赋予了该帐户读写权限。然后,在子系统上,我通过使用登录连接到服务器(即远程计算机名称)来确认与帐户的连接。请注意:您必须可以ping通远程系统并安装了SQL Server Express R2。我尝试过使用SQL Server Express,但没有头绪。有关更多连接字符串,请访问www.connectionstrings.com/sql-server-2008。然后,我使用此连接字符串进行远程连接,使集成安全性和用户实例= false,与本地连接不同。
 Data Source=SERVER\SQLEXPRESS,1433;Database=DATABASEFILE.MDF;Integrated Security=False;Network Library=dbmssocn;Connect Timeout=30;User Instance=False;user='USERNAME';password='PASSWORD'

6

不确定您具体想要做什么,但我猜可能是以下两种情况之一。

选项1 将存储在远程共享驱动器上的数据库附加到本地SQL Server

请注意,这仅适用于SQL Server 2008 R2及以上版本。如果您运行的是SQL Server 2008,则无法使用此选项。

查看此处以获取更多详细信息:

http://blogs.msdn.com/b/varund/archive/2010/09/02/create-a-sql-server-database-on-a-network-shared-drive.aspx

选项2 从本地计算机连接到远程SQL Server实例

如果该数据库已经附加到在同一台机器上运行的SQL Server实例上,则最好只需从SSMS连接到该实例,而不是尝试从远程存储附加数据库。

要执行此操作,您需要在SQL Server Configuration Manager中启用TCP/IP协议。它位于SQL Server网络配置节点下。确保您启用了TCP/IP,并且还设置了启用IP地址进行侦听(这在TCP/IP属性下)。

除此之外,您还需要在远程实例上启用远程连接。这是从SSMS完成的 ->实例属性 ->连接选项卡

完成此操作后,您应该能够通过键入IP地址/实例名称从本地SSMS连接到远程实例。例如192.168.0.125/{instance_name}或仅IP地址(如果这是默认实例)。


非常抱歉回复晚了。我尝试了很多选项,也尝试使用IP连接。这是我从connectionstrings.com上学到的内容。我尝试使用以下字符串连接到远程计算机:'Server=tcp:SERVER,1433;Database=TBSDB.mdf;Integrated Security=True;Network Library=dbmssocn;Connect Timeout=30;User Instance=True' 然后启用了系统tcp连接并禁用了防火墙。计算机名称为SERVER,其中TBSDB.mdf是位于远程计算机C:\App目录中的数据库文件。 - Jeswills
但是我收到了错误信息:在建立与 SQL Server 的连接时发生了与网络相关或特定于实例的错误。找不到服务器或无法访问。请验证实例名称是否正确,并确认 SQL Server 已配置为允许远程连接。(提供程序:TCP Provider,错误:0 - 找不到此主机) - Jeswills
我已经等待了5天,一直没有收到回复。请帮帮我。 - Jeswills

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接