如何开启SQL Server 2005 Express的远程访问功能

在用户使用默认选项安装的SQL 2005 Express是不能进行远程连接的,所以需要一些额外的步骤:

1、是否SQL 2005 Express服务未允许远程连接?

解决办法是在Management Studio Express中新建一个查询,执行以下语句:

sp_configure 'remote admin connections', 1;

GO

RECONFIGURE;

GO

然后重启服务。

2、是否没有打开远程连接的协议?

解决方法是打开SQL Server Configuration Manager,展开SQL Server 2005 Network Configuration,

选择目标实例名,在右边的列表里允许远程连接的协议。然后重启服务。

3、是否安装服务器时,验证方式选择了Windows验证?

要改变这点比较容易。先使用Windows验证的方式登陆Management Studio,

右键点击Object Explorer的目标服务器,选择Properties,再点击Security,

在Server authertication节上选择“SQL Server and Windows Authentication mode”。

然后重启服务。

4、是否是Windows防火墙阻挡了远程的SQL连接?

使用以下命令打开相应端口:

Netsh firewall set portopening tcp 445 SQLNP ENABLE ALL

Netsh firewall set portopening tcp 1433 SQL_PORT_1433 ENABLE ALL

Netsh firewall set portopening udp 1434 SQLBrowser enable ALL

另外,如果选择了Windows验证方式安装的服务器,那么sa帐号可能被停用。

特别的,如果使用sa登录时出现“Microsoft SQL Server, Error: 18452”的问题,

那么你还需要使用如下语句开启帐户:

Alter LOGIN sa ENABLE ;

GO

Alter LOGIN sa WITH PASSWORD = '123' ;

GO

SQL Express远程登录的其他问题

1、启动SQL Server后1433未侦听。

SQL Server Configuration Manager->SQL Server 2005网络配置->MSSQLSERVER的协议,TCP/IP属性:已启用选择是,IP地址中删除TCP动态端口,TPC端口填入1433。重启SQL Server。

2、在服务器上用management studio可以连接,JDBC或远程连接报18452。

网上的资料都说18452是因为SQL Server未启用windows和SQL Server认证方式导致,但是Express中该选项已正确设置。该选项对应注册表中/HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SQL Server/MSSQL.1/MSSQLServer/LoginMode,其中1代表windows认证,2代表windows和SQL Server认证。将该选项改为2后重启,出现新的问题,客户端报18456。发现服务中有两个跟SQL Server相关的服务1、SQL Server(MSSQLSERVER)2、SQL Server(SQLEXPRESS),停掉SQL Server(SQLEXPRESS)后问题解决。

3、检查SA用户是否被禁用,SQL Express的SA账户默认好像是禁用的。



本文转自:


http://www.programbbs.com/doc/5698.htm

===============================================================================



如何使用SQL链接服务器查询外来数据

使用Management Studio

使用Management Studio可以更方便的创建一个链接服务器。在Server Objects或Security文件夹(取决于你使用哪个版本)中查找链接服务器文件夹。好在Management Studio简化了这个过程。你必须输入产品名称、提供程序和文件路径。如果一个选择被禁用,而你又需要它,如图B所示,那么你必须求助于sp_addlinkedserver存储过程。在这种情况下,Access并不支持Location和Catalog选项,因此Management Studio禁用它们。

图B:Management Studio并不支持每个提供程序的所有选项(Express版)。

恢复数据

建立链接服务器后,你就可以用它来查询数据,就像是使用SQL Server表一样。图C显示了通过一个名为NorthwindDemo的链接服务器使用SQL语句从Northwind恢复所有Employee记录的结果:

SELECT * FROM NorthwindDemo...Employees

以上语句确定了你从中恢复数据的远程服务器和表。

图C:通过一个链接服务器恢复Access数据(Express版)。

通过ExcelData链接服务器查询数据时,添加如下的命名范围:

SELECT *

FROM ExcelData, Employees

一两个缺陷

安全问题一直是这种简化方法的最大缺陷。如果你使用Windows验证,系统一切正常。如果用户拥有使用服务器和数据源的适当许可,链接查询也能正常工作。

如果你有些用户不在Windows验证环境内,你可以使用链接登录。创建一个标准登录,并给远程服务器分配适当的许可。然后,从这台发送服务器,通过下面的语法使用sp_addlinkedsrvlogin把本地登录映射到远程登录:

sp_addlinkedsrvlogin remoteservername, useseif,

locallogin, remoteuser, remotepassword

例如,执行下面语句后,如果你已经正确映射了登录,以用户名Susan1、密码rabbitX本地登录的用户将可以通过NorthwindDemo链接服务器访问数据:

EXEC sp_addlinkedsrvlogin @rmtsrvname = 'NorthwindDemo',

@useseif = FALSE,

@locallogin = 'NULL',

@rmtuser = 'Susan1',

@rmtpassword = 'rabbitX'

表B描述了sp_addlinkedsrvlogin自变量。

表B:sp_addlinkedsrvlogin自变量。

另一个缺陷在于你需要的提供程序和连接字符串在日益增长,不断变化。你可以在ConnectionStrings.com网站找到一份提供程序字符串的综合列表。

提供程序名称也不是生来就有的。表C列出了一些常用的提供程序。

表C:提供程序名称

Susan Sales Harkins是一名独立顾问,也是数据库技术方面许多文章和书籍的作者。Mastering Microsoft SQL Server 2005 Express是她最近与Mike Gunderloy合著的作品,由Sybex出版。她和Gunderloy合作的其它作品包括:Automating Microsoft Access 2003 with VBA、Upgrader's Guide to Microsoft Office System 2003、 ICDL Exam Cram 2和Absolute Beginner's Guide to Microsoft Access 2003,这些书籍全都由Que出版。当前,Susan是Database Advisors的义务发行总监。