我对查询 LDAP 服务器进行了广泛的研究,但到目前为止还没有解决。所以请高手帮忙
背景:我有一个客户端,其 LDAP 服务器是 OnPremise(虽然面向公众),我在防火墙内有一个 SQL Server(2012 SE)。外部 LDAP 和内部 SQL Server 之间的通信很好,因为我可以互相 ping 通。我还创建了一个远程域帐户,并在 SQL Server 上创建链接服务器时使用了该帐户。我还有我们的内部域控制器,它具有域信任关系。现在,我使用域帐户创建了 2 个链接服务器,但我无法在内部和外部查询 LDAP 服务器。我希望这是有道理的。无论如何,这是我的链接服务器的定义和我收到的错误
[已解决] 链接服务器到内部 LDAP 服务器:这是通过使用 ADuser@domain.com 而不是 domain/ADuser 解决的
USE [master]
GO
EXEC master.dbo.sp_addlinkedserver @server = N'ADSI', @srvproduct=N'Active
Directory Service Interfaces', @provider=N'ADSDSOObject',
@datasrc=N'adsdatasource'
EXEC master.dbo.sp_addlinkedsrvlogin
@rmtsrvname=N'ADSI',@useself=N'False',@locallogin=NULL,
@rmtuser=N'Domain/ADUser',@rmtpassword='########'
Run Code Online (Sandbox Code Playgroud)
错误:
消息 7321,级别 16,状态 2,第 1 行准备查询时出错“SELECT *
FROM 'LDAP://Domain.com/OU=Accounts,DC=Domain,DC=com' --WHERE objectClass = 'User ' " 用于针对链接服务器 "ADSI" 的 OLE DB 提供程序 "ADSDSOObject" 执行。
链接服务器到外部 LDAP 服务器
USE …
Run Code Online (Sandbox Code Playgroud) sql-server windows linked-server sql-server-2012 active-directory
我需要想出最好的方法来在大小为 1500 GB 的表上启用页面压缩,有 363,957,740 行。数据库大小本身为 1.71 TB,并保存存档数据。
如果我理解正确,它需要磁盘空间(可能是相同的数量,只是为了更安全),以便它可以创建启用页面压缩的表副本并释放空间。这是在FULL
恢复模型中,因此将被大量记录。
我已与我的容量规划资源进行了交谈,他同意为此维护提供额外的临时所需空间,并在此活动完成后收回空间。说了这么多,你认为最好的方法是:
SIMPLE
FULL
此外,而不是启用页面压缩。Step #3 之后,截断最大的表,启用页面压缩,然后执行
SELECT * INTO ReplicaDB.dbo.ReplicaTbl
Run Code Online (Sandbox Code Playgroud)
这是否在现有索引上启用页面压缩?
我没有测试环境来测试上述步骤。或者,如果有更好的方法可用,请告诉我。
目标是最大限度地减少当前增长所需的未来磁盘空间。我们是一家 ERP 软件公司,我们拥有企业版许可。该表仅用于在执行某些检查并且所有数据都驻留在该表中时存档。我有 2 个索引(1 个 CI,1 个非 CI)。没有任何列是VARCHAR (MAX)
,它们要么是NVARCHAR
,int
要么是date
类型。