Kon*_*ten 10 c# sql-server authentication database-connection azure
我之前使用授权时遇到了一些问题,因此我获得了全新的一切 - 新的计算机,新操作系统,VS的全新安装,新应用程序和Azure上的新资源组中的数据库.整个shabang.
我可以确认我可以登录到Azure DB,如下面的屏幕截图所示.
我可以看到数据库,表格,用户等.
问题是,虽然它在本地工作(使用我自动提供的默认连接字符串),但它在Azure中表现不佳(尽管我从那里使用发布文件).它说了一些关于文件未找到的内容,根据这个答案,我需要更改连接字符串.
我改变后,我得到以下错误.请注意防火墙已打开,我可以在运行应用程序代码时访问数据库.我觉得在自动配置身份验证部分时会出现问题.不过,我对如何解决问题没有想法.
[SqlException(0x80131904):用户'Chamster'登录失败.已为此会话分配了跟踪ID"09121235-87f3-4a92-a371-50bc475306ca".在需要帮助时,请将此跟踪ID提供给客户支持.]
我正在使用的连接字符串是这个.
Server=tcp:f8goq0bvq7.database.windows.net,1433;
Database=Squicker;
User ID=Chamster@f8goq0bvq7;
Password=Abc123();
Encrypt=True;
TrustServerCertificate=False;
Connection Timeout=10;
Run Code Online (Sandbox Code Playgroud)
这个问题困扰了我一段时间,我会在两天内把它给它.任何建议都热烈赞赏.
我相信我已经成功解决了这个奇怪的问题。看来我正在使用的用户,尽管是具有所有花哨功能的管理员,但在连接字符串中使用并尝试创建表时(这是第一次注册时的情况),并未被识别为管理员。
我的解决方案是创建两个登录名 - 一个具有db_owner角色,另一个具有db_datareader和db_datawriter 角色。首先,我在连接字符串中使用了提升的用户并注册了一个用户。这在数据库中创建了表,如下所示。
然后,虽然能够继续以管理员身份,但我意识到我们应该尝试降级用户和 tada!,它运行得很好。一旦桌子到位,整个整顿行为就如预期的那样。
可以完全确定的是,我从数据库中删除了表,结果仍然存在 - 与以前相同的问题。当我更改为提升用户时,表被恢复,使我能够返回到降级用户。
我还尝试删除表,确认问题重新出现,然后手动创建表。这也有效!所以基本上,导致这一切的唯一问题是原始管理员没有被视为管理员。
这可能与我的 Azure 帐户有点旧有关,那里使用的 LiveID 很古老,并且 Azure 中没有更新版本的 DB(v12 的上拉是在 12 月 18 日进行的,所以这可能也是让它工作的一个要求)。我太累了,也懒得去检查,而且我意识到我不知道如何获得“旧”类型的帐户。此外,由于旧帐户最终会升级,因此该问题将会减少并逐渐消失。
| 归档时间: |
|
| 查看次数: |
156 次 |
| 最近记录: |