在这里插一点:SQL server 安装时(不论是2000还是2005)需要选择使用本地连接和混合模式。在SQL server 2000安装时,实例名最好选择默认的,不能选择默认时,可以填写local。
//********************************************************
SQL server 2005安装完成之后,需要配置:打开 SQL server Configuration Management。在SQL server 2005网络配置下选择 MSSQL SERVER的协议,在右边的窗口中,确保除VIA之外的其他三个协议全部启用。然后右击TCP/IP,选择属性, 在IP 地址标签下,将所有的TCP端口设置为1433,将最后一个TCP动态端口设置为49178.确定。然后点击左边的SQL server 2005服务,右击右边的SQL server(YOURINSTANCE)选项,选择重新启动。
这样 SQL server 2005 就配置好了。
下面是MFC中连接SQL Server 2005的函数。
与SQL server 2000 相同,需要在stdAfx.h中引入:#import "C:\Program Files\Common Files\System\ado\msado15.dll"\ no_namespace rename("EOF","adoEOF")
在APP类中InitInstance()函数中添加初始化语句:CoInitialize(NULL);
查询的语句都是通用的, 与SQL server 2000中相同,连接语句我不确定是不是相同,我的连接函数如下:
void AttackAddTool::OnInitADOConn()
{
m_pConnection.CreateInstance("ADODB.Connection");
CString strConnect;//连接字符串
try
{
strConnect.Format("Provider=Provider=SQLOLEDB.1;Password=123456;Persist Security Info=True;User ID=sa;Initial Catalog=song;Data Source=127.0.0.1,1433;Network Library=DBMSSOCN");
HRESULT hr=m_pConnection->Open((_bstr_t)strConnect,"","",adModeUnknown);
//HRESULT hr=m_pConnectionPtr->Open("Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=song;Data Source=.\\SQLEXPRESS ","","",adModeUnknown); //本地另一种方法
}
catch(_com_error e)
{
AfxMessageBox((CString)e.ErrorMessage() + " 连接数据库失败.");
return;
}
图1
图2
要进行远程连接数据库时,图1中的IP请更改为自己的IP,图2中在你的局域网中增加路由器分配给你的IP和设置对应的端口号,以端口号1433为例,那么图1、2中的端口号与程序中要相匹配都必须设置为1433。
//******************************************************************************
下面说一下SQL server 2000的数据库备份如何还原到SQL server 2005:
有两种还原方式,一种是使用.bak文件,这里需要指出,SQL server 2000的.bak文件需要在查询分析器中使用语句来得到:backup database MyDatabase to disk='D:\MyDatabase.bak' 可以使用这种方式还原,不过我没有成功,还有一种方式是,在SQL server 2000中当你创建一个数据库时,在D:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data文件夹下,会生成这个数据库的两个备份文件:.mdf 和.ldf文件使用这两个文件也可以在SQL server 2005中还原数据库,并且在SQL server 2005中还原数据库时不需要首先新建一个数据库,直接在数据库上右击,如果是.bak 文件还原的话,选择还原数据库,如果是使用两个备份文件还原的话,选择附加。
转自:http://blog.163.com/love_dalianmao/blog/static/171284435201201111170900/
sql 2005 用户 sa 登录失败,该用户与可信SQL Server连接无关联 错误18452
解决方案'
用户 'sa' 登录失败。该用户与可信 SQL Server 连接无关联
问题一、忘记了登录Microsoft SQL Server 2005 的sa的登录密码
解决方法:先用windows身份验证的方式登录进去,然后在‘安全性’-‘登录’-右键单击‘sa’-‘属性’,修改密码(sa的密码不能太简单,最好要有数字,字母,下划线字符组成,且长度最好大于10个字符);点击确定就可以了。
问题二、已成功与服务器建立连接,但是在登录过程中发生错取。(provider:共享内存提供程序,error:0-管道的另一端上无任何进程。)(Microsoft SQL Server,错误:233)
解决方法:打开‘程序’-‘所有程序’-‘Microsoft SQL Server 2005 ’-‘配置工具’-‘SQL Server 配置管理器’,在弹出的窗体中,找到‘SQL Server 2005 网络配置’,把‘MSSQLSERVER的协议’下的“Named Pipes”和“TCP/IP”启动,然后重新启动Microsoft SQL Server 2005就可以了。
问题三、无法打开用户默认数据库。登录失败。用户‘sa’登录失败。(Microsoft SQL Server, 错误:4064)
解决方法:先用windows身份验证的方式登录进去,然后在‘安全性’-‘登录’-右键单击‘sa’-‘属性’,将默认数据库设置成master,点击确定就可以了。
问题四、sql server 2005 错误 18452
无法连接到服务器
服务器:消息18452, 级别16,状态1
[Microsoft][ODBC SQL Server Driver][SQL Server]用户‘sa’登陆失败。原因:未与信任SQL Server连接相关联
该错误产生的原因是由于SQL Server使用了"仅 Windows"的身份验证方式,因此用户无法使用SQL Server的登录帐户(例如 sa )进行连接,解决方法如下
设置允许SQL Server身份登录 (基本上这个很有用)
操作步骤:
1。在企业管理器中,展开"SQL Server组",鼠标右键点击SQL Server服务器的名称
2。选择"属性"
3。再选择"安全性"选项卡
4。在"身份验证"下,选择"SQL Server和 Windows"
5. 针对sql 2005 进入管理器中“安全”==》“用户”==》双击用户(弹出属性对话框)==》“状态”==》是否允许连接到数据库“是”,登入“启用”。
6。确定,并重新启动SQL Server服务
6. 亲,你还是不行的话记得重启电脑然后再登入哦!!!!!!!!
问题五、用户 'sa' 登录失败。该用户与可信 SQL Server 连接无关联。
解决方法:检查你的数据库的认证模式,windows 和 混合模式,需要SA登陆的请选择混合模式。
检查计算机1433连接端口,1434数据端口是否打开