小编Ale*_*ith的帖子

为表和相关数据生成插入语句

我希望在 2 个数据库之间移动表和相关表中的数据。问题是主键不同步。

有没有人知道可以为给定表生成插入语句及其相关数据(可能是外键)的工具?

我一直在查看 SSMS 工具包、RedGate 的工具、数据库项目数据比较、各种开源数据差异工具等,但没有找到任何东西。

我知道能够遍历外键,所以也许一些非常聪明的 SQL 脚本可能能够做到这一点?

看到我看过这么多工具,我猜想完全自动化可能很难/不可能。但也许一种技术也需要一些人工干预?

或者也许有人对他们如何处理此类任务有任何提示。我真的不喜欢编写大量手动 sql 来处理插入 - 因为它肯定容易出错。

我真正希望的是一种生成 SQL 以在新数据库中进行插入时绑定 PK 和 FK 的方法。

比如说我们有:

+--------------+--------------+
|     personid |     name     |
+--------------+--------------+
|            1 |         bob  |
|            2 |         fred |
+--------------+--------------+

+----------+----------------+----------+
| animalid |     animal     | PersonID |
+----------+----------------+----------+
|        1 |         cat    |        1 |
|        2 |         dog    |        1 |
|        3 |         lizard |        2 |
+----------+----------------+----------+
Run Code Online (Sandbox Code Playgroud)

将 bob 复制到新数据库和 bob 的猫和狗会很棒。然后是弗雷德和弗雷德的蜥蜴。

foreign-key sql-server migration insert

5
推荐指数
1
解决办法
5568
查看次数

重置/强制 SQL 代理下次运行日期

我需要在一段时间内测试 SQL 代理,因此需要经常将系统时钟更改为未来(并返回)......别担心它只是我的本地机器而不是服务器:-)

问题是当我再次将它设置回当前日期时间时,下一次运行日期仍然会听到未来的时间。

例如,如果我将时钟设置为未来,并且作业设置为每分钟运行一次,并且上次运行是在 11/01/2080 01:01:00,那么下次运行是 11/01/2080 01:02: 00,即使我把时钟调回到现在。

可以理解,这是 SQL Server 的正常行为。有没有办法轻松重置下一次运行日期?

我试过手动运行作业,但它对下一次运行时间没有影响。

sql-server-2005 sql-server-agent

5
推荐指数
2
解决办法
4883
查看次数

服务主体作为 SQL Active Directory 管理员,是否使用图形 API?

我希望使用服务主体作为服务器管理员,因此可以在发布管道中使用它来创建更多的 Active Directory 用户。

我成功地将服务主体设置为服务器管理员 * 并使用访问令牌连接到数据库,因此服务主体身份验证工作正常,这非常好,也是一个有趣的挑战。

*编辑:AAD 服务器管理员是通过 ARM 模板创建的,特别是如果您尝试通过门户手动创建,则无法选择服务主体作为管理员用户。但有趣的是,您可以在使用 ARM 创建后在门户中看到服务主体名称正常。并且您可以使用 AAD 身份验证成功登录,因此看起来服务器主体管理员工作正常。

但是,在创建更多用户时,他们似乎永远不会发现错误:

“此时找不到校长'name here'。请稍后再试。”

但是,当以我自己的身份登录时,我可以很好地创建其他用户。

这让我想到 SQL Server 是否使用某种 Active Directory 模拟来验证后续用户/服务主体是否存在?

如果我授予我的服务主体访问 Graph API 的权限,是否会授予它足够的权限?如果是这样,最低限度的权利是什么?

我还看到 Azure SQL Server 在后台创建了一个托管服务标识,所以我想知道这是否也在起作用?

我还在托管实例上看到他们明确要求具有 AAD 权限的服务主体连接到 AAD - 我认为这就像 Azure SQL Server 的 MSI?但是 Azure SQL Server 没有提到这一点,AAD 管理员就足够了。

我很想知道活动目录连接的底层机制是如何工作的,因为它可以帮助我进一步调查我的挑战。

sql-server azure-sql-database active-directory azure

5
推荐指数
1
解决办法
1241
查看次数