转载

Sql server2012 常见异常处理

网络相关

无法通过IP(127.0.0.1 或者其他本机)连接

确保TCP/IP功能开启

Sql server2012 常见异常处理

打开1433端口

Sql server2012 常见异常处理

权限相关

代理的权限,通过更改有最高权限的用户,或者给该用户指定的权限

Sql server2012 常见异常处理

给域用户开通SQLServer访问权限

Windows身份验证模式要更加安全,因为Windows身份验证模式使用了Kerberos(这一名词来源于希腊神话“三个头的狗——地狱之门守护者”)协议。微软推荐的最安全的做法。

但Windows身份验证模式在由域控制器控制网络访问的情况下才得以使用(单机也包括在内,单机使用NTLM协议)。

添加过程可能出现的错误:

当您试图使用 SQL Server 企业管理器向一个域用户或域组提供对一个数据库的访问时,您可能会收到下面的错误信息之一:

Error 15023:User or role '<name>' already exists in the current database. - 或者 -  Error 15024:The group '<name>' already exists in the current database. - 或者 -  Error 21002:[SQL-DMO]User '<name>' already exists.

附具体添加步骤:

  1. 启动企业管理器。
  2. 展开“Microsoft SQL Server”,然后展开包含您的服务器的 SQL Server 组。
  3. 展开“安全性”。
  4. 选中“登录”并单击右键,然后单击“新建登录”。
  5. 在“SQL Server 登录属性 - 新建登录”对话框中,在“名称”文本框中键入完整的域组或域用户名称。如,domainName/userName or domainName/groupName。
  6. 单击“数据库访问”选项卡。
  7. 在“指定此登录可以访问的数据库”下,单击以选中您想允许此登录访问的数据库。
  8. 对所有选中的数据库,请将“用户”下的用户名或组名替换为 domainName/userName 或 domainName/groupName。
  9. 单击“确定”。

其他问题

尝试读取或写入受保护的内存。这通常指示其他内存已损坏。(System.Data)

Sql server2012 常见异常处理

已成功与服务器建立连接,但在登陆过程中发生错误

(provider:SSL Provider,error:0-接收到的消息异常,或格式不正确。)(Microsoft SQL Server)

Sql server2012 常见异常处理

以上两个问题可以用一个命令行搞定。如下:

netsh winsock reset

感谢高海东的解决方案,经验证,确实是迅雷引起的异常,卸载掉迅雷的所有产品后,问题得到解决。

疑惑的是之前也在使用迅雷,或许是迅雷自动更新的某些组件引起的,记得当时win8刚出来时,迅雷也引起IE10崩溃。具体原理就不得而知了,先这样吧。

感谢jaypgcool : 也许是迅雷更改了winsock的某些设置,重置了一下winsock就OK了,命令:netsh winsock reset

参考

Sql server2012连接Sql server 2008时出现的问题

使用映射的 Windows 域用户访问 SQL Server

正文到此结束
Loading...