SQL Server 2005远程连接
做开发的过程中经常用到数据库远程连接的问题,有时候弄了半天也解决不了,这里根据我自己的一点经历对SQL Server远程连接问题做一总计。
首先这里主要说的是SQL Server 2005不是2000,因为2000有一些小的例外,例如安装sp4补丁等,这里不再讨论。事实上我觉得道理是一样的,如果您是理解着来看的话,不管是2000还是2005或者是2008道理都一样。
连接不上有多种原因,但是就我个人经历来看,主要是因为1433端口问题。例如您有两台计算机,其中计算机A作为SQL Server的服务器,用计算机B去连接。B之所以连接不上A我觉得很可能是A的1433端口监听没有打开,当然网上有很多讲解如何打开1433端口的,我这里稍微提一下:
1.SQL Server配置管理--SQLEXPRESS的协议--TCP/IP启用--属性--IP地址--打开将IP1、IP2的TCP端口设为“1433”并且启用
2.SQL Server配置管理--客户端协议--TCP/IP--启用
3.SQL Server配置管理--SQL Server 2005外围应用配置--远程连接--(不要选择仅适用named pipes,其他两个都可以)
4.重启SQL Server 2005(配置管理器或者服务中都可以)
上面是启用1433端口监听,但是我觉得只要明白了原理没有必要看着上面的步骤一步一步的做。
但是1433端口是不是开启了监听呢?
在命令行中输入netstat -ao以后就可以看看有没有1433的监听,不知道是不是我自己哪里出错的问题,我按照上面的步骤去做,成功过,也失败过。如果没有1433,我觉得你不用试验你是不是能够用默认端口连接上A服务器,肯定不可以的。那怎么办呢?可以想办法再试着开启,但是我失败后没有那么做,而是用其他端口,大不了在连接的时候在IP后面加上端口号。
1.SQL Server配置管理--SQLEXPRESS的协议--TCP/IP启用--属性--IP地址--IPALL--TCP端口设为任何可用端口(例如26)
2.重启SQL Server 2005
好了,看看监听,有26,那就ok了。
假设A的IP是192.168.1.2,其SQL Server实例是SQLEXPRESS,用户名sa,密码:123456。那么我们在B中,服务器名称:192.168.1.2,26/sqlexpress 用户名:sa
相关文档:
Server数据库中实现最优最简的整个过程。
算法是计算机科学中一个重要的研究方向,是解决复杂问题的关键。在计算机世界中,算法无处不在。数据库是存储数据和执行大批量计算的场所,在数据库中使用一些简单的SQL命令,进行存储、查询、统计、以解决现实世界中的问题已经是屡见不鲜。随着数据量的大幅度增加和业务规 ......
第一种方法: 使用output参数
USE AdventureWorks;
GO
IF OBJECT_ID ( 'Production.usp_GetList', 'P' ) IS NOT NULL
DROP PROCEDURE Production.usp_GetList;
GO
CREATE PROCEDURE Production.usp_GetList @product varchar(40)
, @maxprice money
, ......
1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)
2、I/O吞吐量小,形成了瓶颈效应。
3、没有创建计算列导致查询不优化。
4、内存不足
5、网络速度慢
6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)
7、锁或者死锁 ......
getdate //获得系统当前日期
datepart //获取日期指定部分(年月日时分表)
getdate()函数:取得系统当前的日期和时间。返回值为datetime类型的。
用法:getdate()
例子:
select getdate() as dte,dateadd(day,-1,getdate()) as nowdat
输出结果:
dte nowdat
--------------------------- ----------------- ......
1.检查你是否限制了文件增长:
企业管理器--右键你的数据库--属性--数据文件--看看有没有设置文件的最大值
2.检查你的磁盘分区格式,如果不是NTFS分区,则会有限制,将磁盘分区格式改成NTFS
&n ......