如何开启SQL Server 2005 Express的远程访问功能
如何开启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的义务发行总监。