前言:

多次数据库试验经验报名,远程数据库的访问问题,大多数是因为有帐号和访问权限的原因。

本文,通过从安装SQL SERVER开始暂时,我们在远程访问SQL SERVER数据库的时候可能遇到的问题。

1 有哪些账户的设定呢?

首先,我们需要弄清楚我们有哪些账号的设定。

A 安装时候的服务账户和密码                                                   (这里应该是SQL SERVER的服务的域管理员账户)

安装时候的服务账户和密码是数据库服务器的账户设定基础,为以后的增加账户密码服务的。见1.1

B 数据库引擎配置账户和密码:见1.1.2                                  (这里应该是SQL SERVER的服务的域管理员账户)

C Analysis Services的配置管理员账号:见1.1.3 (这里应该是SQL SERVER的服务的域管理员账户)

D SQL SERVER的管理员账户:见1.2.2.1                              (这里应该是SQL SERVER的服务的非域管理员账户)

E SQL SERVER的某个数据的管理员账户: 见1.2.2.2             (这里应该是SQL SERVER的服务的非域数据库管理员账户)

F SQL SERVER的数据库的读写权限设置账户

实现远程数据库账户访问之后,我发现另外一个问题,就是能够访问不等于可以读写数据库,这就要去对数据库的账户进行进一步的设定。

1.1 SQL SERVER安装时候服务帐号的设定

下图是我们按照SQL SERVER2008的时候,遇到的账户设定:

这里SQL SERVER强调对不同的服务,给出不同的帐号和密码,处于管理和安全的考虑,这都是对的。

在数据库安装之前,我们应该先规划一下数据库服务管理帐号和安全。

而,安装时候提到的账户其实就是WINDOWS账户。

我们点击空白的栏目的时候,有下拉的框提示浏览你的windows帐号,下图,显示3个步骤,选择一个已经设定的账户来管理数据库的不同服务。

一旦设定好一个服务后,下拉框里面会有记录

注意,下拉框有时候会出现前面带域名的账户,这个和不带域名的账户似乎有区别,这个先放一下以后试验讨论。

然后你可以非常方便的同样设定好相关的账户密码,为将来设定数据库服务打下第一账户基础,后面的数据库安装好之后,

SQL SERVER会依赖你在安装时候的初始账户和密码来给你设定新的账户和密码的权限。

1.1.2 数据库引擎配置账户:

1.1.3 身份验证的模式:

a 这里如果仅仅本地数据库服务,那么就用WINDWOS的账户就好了,如果,是局域网远程数据库服务就必须采用混合模式,并设定服务器SQL SERVER的账户和权限。

b SQL SERVER有一个默认的系统管理员sa,这个页面可以设定sa的密码,注意SA已经存在了。

上图设定了三个数据库引擎的管理员账户,其中的密码是针对SA还是针对所有的先加入账户的呢?

这是个问题,我们先放下了看看。

1.1.4

1.2 数据库配置的账户和密码:

1.2.1 本地数据库访问:

SQL SERVER安装好以后,我们使用MSSMS对数据库进行管理,这时候本地登录的时候用WINDOWS的自带的账户登录是可以成功的,

如果我们用SQL SERVER安装时我们默认设定的su的帐户名,看起来也是可以的。下图显示我们正常访问了本地机器上的服务器。

但是,目前的账户都是在安装时候的默认的账户,我们需要设定一个远程访问的账户,之前,我们有设定一个windows的远程账户用于连接远程的数据库,现在我们来做一下远程数据库访问连接:

1.2.2 远程数据访问

首先,通过已经安装的MSSMS来管理数据库,我们先尝试用准备的远程账户franklin打开本地的数据库:

结果我们遇到错误,SQL SERVER错误:18456

很糟糕,我们开始在安装时候设定的用户franklin,这个准备用于远程访问的账户,居然在本地都打不开啊。

解决办法:

1 我们还是先用windows账户进去:

1.2.2.1 设定SQL SERVER的管理员账户:

OK,我没看到我们设定的那个账户前面有域名WIN7-1802180108,而且,设定的服务器的默认角色太少,是不是这个原因呢,

在目前的尝试实验性,我们暂时不细究每个服务器角色的定义,把他们都开给franklin,是不是可以解决呢?

经过试验,结果NG!!!

那么会不会是域名的影响,我们试验,用一个新的不带域名的用户注册到数据库里面去:

在开始之前,我们在SQL SERVER里面新建了一个我们将要使用的数据库,右键就可以弹出新建的菜单了


然后,我们新建一个不带域名的数据库管理员账户,并且,给他所有的权限:

注意,这里我们选取了默认数据库为我们刚才建立的数据库,

经过试验,结果依然NG!!!为什么?

经过试验原来是新建的数据集没有设定账户

我们需要用windows的默认账户,再次登录进去,给新的数据库设定账户,因为,账户Franklin刚才是绑定到我们新建的数据库里面去了。

Franklin案,这里不得不吐槽佩服一下微软设计的数据库产品了,感觉配置完全比较隐晦和头大了点!!!!

没办法,继续吧

1.2.2.2 设定SQL SERVER的某个数据的管理员账户:

注意,这是的账户是设定在数据库里面

然后,我们断开数据连接,重新用这个SQL SERVER 账户访问数据库,OK,可以了

OK ! 到现在,我们在本地用了一个我们预想的远程数据库和SQL SERVER账户实现了访问。

现在我们要在远程的另外一台机器上, 尝试用刚才的这个已经本地验证的账户来访问远程数据库。

那么,如何来验证呢?

Windows7 有一个ODBC的设定

2 OK 直接上图吧!

新建一个ODBC的数据源:

然后用我们刚才已经准备好的远程访问账户

OK,我们已经可以看到之前我们新建的数据库了

然后,测试成功了!!!

到此为止,我们通过新建的数据库账户 ;franklin可以实现选择远程的数据库服务器的访问。

但是,抱歉,我们又遇到了另外一个问题,当我们尝试从远程去写入这个数据的时候,我们发现居然数据库的表不让我们写,

也就是我们这个远程账户的权限设置还是出了一些问题,那么到底错在哪里呢?

我们用MSSMS去尝试修改数据库的表示报错:

执行Transact-SQL语句发生了异常,拒绝了对对象‘schemas'(数据库'mssqlsystemresource',架构'sys'的SELECT的权限。

说白了,就是虽然有数据库的访问权限,但是对数据库的表的操作权限不完整。

然而,如果我们用windows的管理员账户来实验的话,右键修改,是可以修改的。如下;

问题也许就是在数据库的帐号名称和windows的账户名称没有统一,

我们首先确认一下,当前sql server实例的登录身份是什么?

在SQL SERVER 的配置里面,我们可以看到SQL SERVER的实例运行时的登录身份。这里是franklin

用这个账户(新建数据库的时候,通过查找输入这个账户,不是手动输入)来创建一个数据库,

确认在数据库服务器实例里面我们也用同样的方式,加入了这个账户,加入的时候,可以设定你需要的权限。

然后,我们在MSSMS里面,尝试变更一下数据库的表格,看看,访问权限是否充足。

用帐号franklin在SQL SERVER里面登录,然后,确认一下安全性里面已经有了,然后,在数据库表格出用右键新建表格,

如果,弹出了 表格的编辑页面,那么,说明,帐号franklin对数据库的改写权限完备了。

现在,我们用远程应用(来自QT)来给这个数据库写入数据:

在远程机器上,注册一个新的ODBC实例,用来和远程的数据库,就是我们刚才用franklin的账户建立的BIMwin7onmac来交互。

我们新建一个ODBC的实例,

我们知道,本地的SQL SERVER给到franklin账户的实例是BIMWIN7MAC09,不是03,

前面的远程计算机的服务器名称是一样的,但是,SQL SERVER的实例不一样,我们选09

然后,比较关键的一步,是经过权限修改后,用franklin的账户我们的能否访问远程的数据库呢?

居然是不行,为什么?

也许,因为,我们用了新的windows账户,里面franklin的默认工作组不对?因为我们之前修改为BIMWORK,默认是WORKGROUP.

OK,我们旋风般的在远程的计算机上修改这个设置,并和本机在确认一下:

OK,一样了,胡汉三回来了,我们再试试能不能访问,

还是不行啊。。。咋办?

没有重启啊,刚才,重启之后,

注意!!!,要等几分钟,等可爱的windows7反应一下,

测试ODBC工作后,我们开始,用我们的远程应用往里面写数据:

写入成功后,

最后,我们用MSSMS来检测一下导入的数据,

===========================================================================

总结:

本文对SQL SERVER的远程访问,因有账户问题做了比较细致的图例说明。

举得例子是实际工作的例子,也许不能覆盖所有的远程访问的情况,但是希望能够做出一些参考帮助。

本文,版权所有,

欢迎讨论:

QQ : 28044280

微信:NewTechLife

【QT 数据库专辑】【04】WIN7下搭建本地SQL SERVER数据库 - 手把手-登录远程数据库帐号设定问题相关推荐

  1. 关于SQL Server 2005 的自动远程数据库备份

    关于SQL Server 2005 的自动远程数据库备份 原文:(原创)关于SQL Server 2005 的自动远程数据库备份 由于项目需要,需要对目标服务器上的数据库每天进行备份并转移,查阅网上的 ...

  2. 【QT 数据库专辑】【02】WIN7下搭建本地MYSQL数据库02 - 建立数据库的驱动程序-QT为例-完备版

    前言: 前一段时间项目紧张的,调一个数据库,总是连不上MySQL,于是用QT自己的SQLlite,好像也是可以的.直到,朴树把猎户星座的专辑自己给推翻了,重新在11-15日又发行了一把,暗暗佩服!今天 ...

  3. SQL Server Management Studio 访问远程数据库

    刚拿到这个软件时,只会连接本地的数据库.服务器名称下拉框中的数据不知道怎么维护.后来才发现这个远程可能当作输入框使用.输入连接字符串就可以连接了. 连接字符串 比如java中的jdbc连接字符串是: ...

  4. SQL Server 中4个系统数据库,Master、Model、Msdb、Tempdb

    SQL Server 中4个系统数据库,Master.Model.Msdb.Tempdb master   数据库       master   数据库记录   SQL   Server   系统的所 ...

  5. win7下搭建nginx+php的开发环境

    win7下搭建nginx+php的开发环境,需要的朋友可以参考下 一.下载相关软件 nginx下载:http://nginx.org/en/download.html nginx常见异常:http:/ ...

  6. win7(windows 7)系统下安装SQL2005(SQL Server 2005)图文教程

    由于工作需要,今天要在电脑上安装SQL Server 2005.以往的项目都是使用Oracle,MS的数据库还真的没怎么用过,安装Oracle已经轻车熟路,但装SQL Server好像还有点小麻烦,所 ...

  7. 将本地SQL Server数据库迁移到Azure SQL数据库

    In this article, we will discuss and understand a method to migrate an on-premises SQL Server databa ...

  8. 异地远程访问本地SQL Server数据库【无公网IP内网穿透】

    文章目录 1.前言 2.本地安装和设置SQL Server 2.1 SQL Server下载 2.2 SQL Server本地连接测试 2.3 Cpolar内网穿透的下载和安装 2.3 Cpolar内 ...

  9. 最简便的Revit信息导出到数据库本地SQL SERVER

    前言: 这个问题一开始把他想简单了: 因为数据库的类型实在是很多,而且,微软的ODBC的API接口,看起来越来越不流行了.所以,也许需要你去做很多的工作. Revit导出的数据分析后发现,应该是为族的 ...

最新文章

  1. 基础 | 深度学习与神经网络-介绍
  2. mysql 数据库 xtrabackup (完全备份恢复,恢复后重启失败总结)
  3. Elasticsearch本地 docker-compose 安装
  4. 异常: java.security.InvalidKeyException: Illegal key size
  5. 【项目总结】之——导出Excel
  6. C/S框架-WebService架构用户凭证(令牌)解决方案
  7. ios 百度地图指定区域_获取百度地图可视区域范围的数据
  8. [转载]使用命名管道实现进程间通信
  9. centos 安装oracle java,CentOS 4.4下安装Oracle 10
  10. linux+oracle磁盘空间,Linux下Oracle软件、数据文件等所在的磁盘分区空间不足的解决思路...
  11. android 图片剪切组件,Android 图片裁剪库 uCrop
  12. koa 接口返回数据_node和koa实现数据mock接口
  13. 油田生产中的几个“三”
  14. 网站服务器部署及优化---2---部署wordpress网站(rhel6.5)
  15. 【代码规范】Google C++开源风格指南
  16. IstioCon 2022 报名中|使用 eBPF 代替 iptable 加速 Istio 数据平面
  17. 蚂蚁呀嘿 App,七天就下架了!
  18. 佛蒙特州政府组建工作组以探索区块链技术
  19. Unity 调用C# Speech类将文字转换为语音
  20. 计算机名和DNS域名的关系,域名、DNS、IP地址的对应关系

热门文章

  1. MongoDB异常修复
  2. portainer使用阿里云docker镜像加速器
  3. 通过接口字段名称反向猜测数据库列名
  4. erlang有前途吗_带有示例的Erlang概述
  5. corba的兴衰_代码广播的兴衰
  6. 二进制搜索树_数据结构101:二进制搜索树
  7. java bean转string_Json、JavaBean、String等互转
  8. spss26没有典型相关性分析_SPSS在线_SPSSAU_SPSS典型相关分析
  9. git 的 merge 与 no-ff merge 的不同之处
  10. 记一些Python(Pymysql)建表、增删改查等基础操作(小白适用)