用户sa登入失败,该用户与可信SQL server连接无关联 错误18452(远程数据库访问)

//********************************************************

在这里插一点: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数据端口是否打开

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值