我需要创建一个查询,该查询可以获取上个月未使用的登录详细信息。我尝试了几种方法,如扩展事件和审计跟踪。但是我无法获得上个月未使用的登录列表,请帮我解决这个问题。
我有理由更改我的计算机名称(it\xe2\x80\x99s 在虚拟机中运行)。我有一个现有的 SQLExpress 实例,它是在重命名之前安装的。
\n有些功能会失败,因为新数据库仍然由旧所有者创建。更具体地说,当我尝试创建新的数据库图表时,出现以下错误。
\n\n\n无法获取有关 Windows NT 组/用户 \'OLDNAME\\user\' 的信息,错误代码 0x534。(微软 SQL Server,错误:15404)。
\n
我使用以下说明来重命名服务器:
\nsp_dropserver \'OLDNAME\\SQLEXPRESS\';\nGO\nsp_addserver \'NEWNAME\\SQLEXPRESS\',\'local\';\nGO\n-- Restart Server\nSELECT @@SERVERNAME; -- NEWNAME\\SQLEXPRESS\n
Run Code Online (Sandbox Code Playgroud)\n但是,这并不影响新数据库的默认所有者。它们仍在与所有者一起创建OLDNAME\\user
,但所有者已不存在。
我知道如何在创建后更改现有数据库的所有者。但是,如何才能让新数据库拥有正确的所有者呢?
\n我有一个数据库 (DB1),它同步到另一台服务器上的 (DB2)(通过 AlwaysOn - SQL Server 2014)。
我想授予用户对 DB2 的读取权限。我在 DB1 中创建了一个 SQL 登录名和数据库用户。新的数据库用户迁移到 DB2,但 SQL 登录名没有迁移(这是有道理的)。
问题是,当我尝试在 DB2 上为用户创建 SQL 登录并授予用户对 DB2 的读取权限(绑定到来自 DB1 的用户帐户)时,我收到一条错误消息,指出 DB2 是只读的且无法修改。
那么,我怎样才能做到这一点?
我已经接管了一个使用 postgres 的系统。登录时,如果我使用...
sudo -u postgres psql postgres
Run Code Online (Sandbox Code Playgroud)
...它不要求输入密码。但是,如果我这样做...
psql -U postgres -h localhost postgres
Run Code Online (Sandbox Code Playgroud)
...它要求输入密码。
为什么?这种差异是如何配置的?是否可以为不同的用户配置以这种方式登录?
(注意:用户postgres
不在sudoers
文件中,也不在 sudo 组中。
我有一个数据库,它将在不同用户的多种相关类型的应用程序之间共享。我希望能够限制每个数据库用户基本上可以完全控制他们自己的对象,而只能对他们没有创建的数据库的其他对象进行读取访问。
这是可能的,实现这一目标的最佳方法是什么?
当我无法使用传统方式连接到SQL Server(原因是删除登录触发器)时,DAC引起了我的注意。我在网上做了一些搜索,结果发现访问服务器的唯一方法是使用 DAC 连接,不幸的是默认情况下该连接是关闭的。但是,我仅使用 sqlcmd 就能够解决这个问题(我删除了触发器)。
我的问题是,如果我可以仅使用 sqlcmd 连接到 SQL Server,那么 DAC 的用途是什么?