我有以下代码:
GRANT SELECT,INSERT,UPDATE ON db1.*
TO ‘user’@example.com;
Run Code Online (Sandbox Code Playgroud)
我是 mySQL 的初学者,我想知道是否有一种方法可以为该域网络中的每个用户指定权限,而无需为每个用户键入上述代码?% 通配符?
还有任何方法,例如使用我可以管理所述用户的所有权限的表
问题:如何让我的可用性组注册为ag-ewgtest.sql.company.com
我的服务器认为自己的给定server.company.com
。
设置:我的 SQL Server 2012 可用性组位于多个子网上,类似于这篇 MSDN 博客文章 中的描述。当我进入故障转移群集管理器时,它显示名称解析尚不可用:
然后我右键单击“名称:ag-ewgtest”并选择属性。我勾选了“发布 PTR 记录”,它显示全名是ag-ewgtest.company.com
.
我的问题是我只被允许更新 DNS 区域sql.company.com
。如果我将 DNS 名称更改为 ,ag-ewgtest.sql.company.com
则全名变为ag-ewgtest.sql.company.com.company.com
.
我尝试将我的 NIC 更新为:
但并没有什么不同。如何更改我的可用性组尝试注册的子域?
为了非常灵活并更轻松地将数据库移动到不同的服务器,我们提出了为每个数据库使用别名的想法。因此,通过简单地更改 DNS 条目,我们可以将所有查询路由到不同的数据库服务器,而无需更改连接字符串或重新部署相应的客户端应用程序。
澄清:
每个数据库我们都会有一个别名。因此,如果将数据库移动到不同的服务器,只需更改其 DNS 别名。
例如:
因此,假设 db1 已从 server1 移至 server2,则无需更改连接字符串。只需要更改 DNS 别名条目,转发到 server2 而不是 server1。
这有什么已知的缺点吗?
我正在处理一个项目,我需要查找与记录发出 HTTP 请求的 IP 地址关联的主机名。查找目前作为日常 ETL 工作的一部分发生。当前的方法是使用标量 CLR 函数(与此类似的代码发布在网络上的许多地方,下面发布了我的修订;我不确定原作者是谁):
using System.Data.SqlTypes;
using System.Net;
using System.Security;
using System.Text.RegularExpressions;
using Microsoft.SqlServer.Server;
public partial class udfn_GetHostName
{
[Microsoft.SqlServer.Server.SqlFunction]
public static string udfn_GetHostname(string IPAddr)
{
try
{
/*
Using deprecated method intentionally.
GetHostEntry() is now recommended.
But it does some irritating things like returning an error if a PTR
record points to a name that doesn't have an A record.
*/
IPHostEntry IpEntry = Dns.GetHostByAddress(IPAddr);
// Test whether the record returned has at least …
Run Code Online (Sandbox Code Playgroud) 我在两台 Windows Server 2016 计算机之间设置了一个故障转移群集,并且我看到有关 DNS 记录的错误,无论是对于群集本身还是对于我尝试在 SQL 高可用性中添加的任何侦听器。
群集网络名称资源“群集名称”无法注册一个或多个关联的 DNS 名称,原因如下: DNS 服务器故障。
确保与从属 IP 地址资源关联的网络适配器配置了至少一台可访问的 DNS 服务器。
我查看了此链接,在域 DNS 记录之后,我确实在我的计算机上看到了 8.8.8.8 DNS - 这些 DNS 设置是从我们的 DC 自动推送的,我不确定是否可以更改它们。有人经历过这个吗?还有其他解决方案吗?
最近,当我不得不将大量内部应用程序迁移到新的 SQL 服务器时,我遇到了一个想法。我看的越多,它听起来就越完美,但我想向社区征求反馈意见。它使用 SQL0216 和 AlwaysOn。
告诉我的开发人员使用 DNS 条目在他们的 ConnectionStrings 中指向他们各自的数据库有什么缺点?
示例:DNS:App1_SQL 指向 Servr1,DNS:App2_SQL 指向 Servr1。服务器=App1_SQL;数据库=App1;Trusted_Connection=True;服务器=App2_SQL;数据库=App2;Trusted_Connection=True;
这样,当我迁移数据库时,我可以一次完成一个应用程序,确保在继续之前一切正常。无需重新编译代码,也无需处理任何配置文件。我只需要复制数据库并更新应用程序的 DNS 条目。
如果特定应用程序使用外部数据库引用,我会训练我的开发人员始终使用同义词。这样,我为旧数据库创建了一个链接服务器,并在迁移时相应地更新同义词。
除了必须一个一个地管理大量 DNS 条目之外,我仍然认为这是一种减轻与数据库迁移相关的压力的方法,能够通过小块而不是整个服务器一次性完成。
现在,我看不到的警告是什么?因为这听起来太容易和有益,而不是一个非常标准化的做法,但我从来没有遇到过这个建议。Kerberos 会成为问题吗?
提前致谢
我们正在将 SQL Server 数据库的 dns 条目从机器名称迁移到 C 名称,以准备将其从裸机移动到虚拟机。我们已经切换了我们知道的所有连接字符串,并在我们的部门发布了指令,要求每个人切换他们的连接,以防有一次性应用程序或数据库连接的电子表格等。
我们想监控进入框的流量,以验证没有通过旧机器名称到达服务器的传入流量。有没有办法做到这一点?我特别需要的是所有客户端用来访问服务器的 url。我们尝试使用 Wireshark 监控端口,但这似乎没有提供我们需要的信息。
谢谢!
dns ×7
sql-server ×5
aws ×1
clustering ×1
connections ×1
kerberos ×1
monitoring ×1
mysql ×1
network ×1
sql-clr ×1