问题:在经典ASP页面中使用SQL在SQL Server 2008 R2中拒绝任何更新数据库的尝试。
简而言之,可以读取,但无法使用ASP页面中的SQL更新/写入数据库
错误讯息:
Microsoft OLE DB Provider for SQL Server错误“80040e4d”
用户登录失败
我花了6个多小时才排除故障,但仍然没有回答
检查的事情
用户密码正确无误。双重检查。测试了错误的密码,导致我无法从DB读取。
当用户密码正确时,可以从数据库中读取。可以使用SQL从DB读取。只是无法使用SQL进行更新。
db_datareader
&检查db_datawriter是否为用户
检查SQL Server日志 - 错误18456严重级14状态8.这是密码不匹配。但我非常确定密码是正确的,因为我可以从DB读取。只有当SQL尝试写入DB时才会被拒绝。
提示
dbo
是否需要db_datareader
& db_datawriter
也检查过了吗?我无法在SQL Server Management studio中核对清单
我需要做什么关于架构?
任何人的帮助。非常感谢/
它在使用SQL Server 2000的其他站点中完美正确地工作。当我迁移到SQL Server 2008 R2时,这就是问题所在。
AA Jaz
答案 0 :(得分:0)
看起来您登录SQL Server只具有数据库(/ table / server)的读权限,并且它没有写权限,dbwriter和dbreader是SQL Server 2000中的角色,2008年它全部改变了您已为登录添加角色。
请尝试为登录提供所有权限,如下所示
GRANT ALL ON <your_table> to <your_login>
答案 1 :(得分:0)
请从sql server management studio尝试此数据库,以便在查询分析器中通过查询更新任何表,如果它不起作用,则检查表权限或登录用户权限