转自:http://www.cnblogs.com/zerocc/p/3425431.html

昨天在测试一些权限今天早上来就发现SQL SERVER 登陆不上去,报错为: 用户登陆失败:消息 18456,级别 14,状态 1,服务器 XXX,第 1 行 .  用户 'XXX' 登录失败。我的服务和代理都是自动启动的,所以问题不在这了,由于是本地服务,也没有多个帐户,测试的时候Sa也被自己禁用了。有的用户就是部分库的只读权限,怎么办呢?

方法就是:把 sql 启动到单用户模式,然后用 sqlcmd -A 登录,前提是你需要有电脑的管理员权限。网上有很多方法是一样的,但是对于单用户模式的说明都不太详细,至少对于像我这种小白来讲还是有一定的理解问题,所以写一下以便于像我一样误操作导致的同学进行学习。

启用本地帐户:
1.先看一下本机的帐户是否具有管理员的权限,如果没有添加上。
2.在开始菜单的搜索框中输入 cmd , 右键单击选择以管理员身份运行
3.在命令提示符输入 NET STOP MSSQLSERVRE 停止MSSQLSERVER运行(若已经停止则可以跳过此步骤)
4.若3有问题,提示报错,则可以在开始 -->SQL SERVER --> 配置工具 -->SQL SERVER 配置管理器 --> 打开SQL SERVER属性-->高级 --> 启动参数里面加上 -m
      加参数的时候注意一下,一定要加在启动参数的最后面并且加上分号,以便于之前的相隔开来。如: -dD:\DATA\master.mdf;-eC:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Log\ERRORLOG;-lD:\DATA\mastlog.ldf  ;-m
5.若以上均无问题,则切换到安装路径,即Binn下sqlservr.exe的路径
     如:cd C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn 
6.执行 sqlservr.exe,即单用户模式进入了
7.再以管理员帐户重新登陆开启一个窗口,输入SQLCMD -A
8.输入你要更改的操作命令即可,在此处我需要的是把本机帐户添加 , 如:

USE master
GO
CREATE LOGIN [domain\username] FROM WINDOWS WITH DEFAULT_DATABASE=[Master]
GO
EXEC sp_addsrvrolemember @loginame=N'domain\username', @rolename=N'sysadmin'
GO

为了避免错误,可以再加一个SQL的帐户以备不时之需, 也可以把sa命令启用 :

-- 添加用户T1并给予管理员的权限
USE [master]
GO
CREATE LOGIN [T1] WITH PASSWORD=N'T1@123', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
EXEC master..sp_addsrvrolemember @loginame = N'T1', @rolename = N'sysadmin'
GO -- 启用SA
ALTER LOGIN [sa] ENABLE
GO

9.以上操作完成之后关闭2个命令行窗口,启动sqlserver,即可以登陆。

注: 此环境为win7 + sql server 2008 其它环境没有尝试,仅作参考

SQL SERVER 2008 登陆失败(SQL和windows都没有对应的权限)的更多相关文章

  1. [转]SQL SERVER 2008 登陆失败(SQL和windows都没有对应的权限)

    转自:http://www.cnblogs.com/zerocc/p/3425431.html 昨天在测试一些权限今天早上来就发现SQL SERVER 登陆不上去,报错为: 用户登陆失败:消息 184 ...

  2. SQL Server 2008作业失败无法确定所有者是否有服务器访问权限

    调用作业---错误提示内容 该作业失败. 无法确定所有者 WIN-3TH1KNIT12D\Administrator (拥有作业 Database_Backup.step1)是否有服务器访问权限 (原 ...

  3. 安装sql server 2008 提示错误 SQL Server 2005 Express 工具。 失败

    安装sql server 2008 management,提示错误:Sql2005SsmsExpressFacet 检查是否安装了 SQL Server 2005 Express 工具. 失败,已安装 ...

  4. 如何转换SQL Server 2008数据库到SQL Server 2005

        背景介绍: 公司一套系统使用的是SQL SERVER 2008数据库,突然一天收到邮件,需要将这套系统部署到各个不同地方(海外)的工厂,需要在各个工厂部署该数据库,等我将准备工作做好,整理文档 ...

  5. SQL Server 2008作业失败:无法确定所有者是否有服务器访问权限

    转自:http://www.mzwu.com/article.asp?id=3592 下午准备将服务器数据导一份到本地,连上服务器找数据库备份文件发现最后一次备份是7月1日,竟然十几天没生成新备份,查 ...

  6. 安装sql server 2008重启失败

    sql server2008安装时提示重启计算机失败怎么办   安装SQL Server 2008时,经常会遇到这样一个问题,软件提示“重启计算机失败”,如果忽略的话,会给后面的安装带来很大的麻烦,这 ...

  7. SQL Server 2008 r2 输入SQL语句不能自动提示的解决办法

    先利用“配置工具-SQL Server 配置管理器”关闭所有MSSQLSERVER服务,利用SQL Server Installation Center,进入Maintenance,选择Repair, ...

  8. 安装Sql server 2008时出现sql server 2005 express tools failed 怎么办?

    提示错误:Sql2005SsmsExpressFacet 检查是否安装了 SQL Server 2005 Express 工具. 失败,已安装 SQL Server 2005 Express 工具.若 ...

  9. SQL Server 2008 r2 中 SQL语句提示“对象名无效”,但可执行

    [问题描述]在使用 SQL Server 2008 r2 时,有时在完成SQL书写后,会提示“对象名无效”,而SQL语句可正常执行. [原因]缓存相关. [解决方法]ctrl+shift+R 刷新下, ...

随机推荐

  1. winform 打印控件

    (1)PageSetupDialog1    打印设置窗口  (2)PrintDocument     向打印机输送的对象 事件:PrintPage   对于打印的每一页都执行一次 (3)PrintP ...

  2. Odoo attrs X2many 类型的过滤

    有童鞋在群里问到 attrs 中的 many2many类型的字段该如何进行domain过滤,其实非常简单: Many2many的字段在js中获取的值的格式为[[6,false,[]]] 所以attrs ...

  3. Java 中的 Characters

    1.一般情况下,如果使用单一的 character 值,应该使用原始的 char 类型.比如: public class TestCharacter { public static void main ...

  4. jquery选择器实例说明

    选择器 实例 选取 * $("*") 所有元素 #id $("#lastname") id="lastname" 的元素 .class $( ...

  5. Hbuider 同步github

    别人的教程,仅作收藏. http://blog.csdn.net/u011871921/article/details/44238971

  6. php循环删除文件目录及文件

    删除文件及目录: //循环删除目录和文件函数 function delDirAndFile( $dirName ) { if ( $handle = opendir( "$dirName&q ...

  7. 关于ASPCMS标签调用的一些总结

    菜单的应用 <ul class="nav navbar-nav"> {aspcms:navlist} {}<!--判断是否有下级目录--> <li c ...

  8. HTML静态网页 格式与布局

    一.position:fixed 锁定位置(相对于浏览器的位置),例如有些网站的右下角的弹出窗口. 示例: 二.position:absolute  相对于自己最近的父元素来定位的 1.外层没有pos ...

  9. html只允许输入的数据校验,只允许输入字母汉字数字等

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. 可以使用mysql自己带的config edit

    正常情况下,一般数据库密码可以写在用户主目录的.my.cnf 然后设置chmod 600,一般来说是比较安全的. 但是如果不想给人知道用户名和实际的密码,但是又想给人用,可以使用mysql自己带的co ...