我有一个 Windows Server 2012 R2 域控制器和一个数据库服务器 (W2K12R2/SQL Server 2012)。
作为允许的用户组,我已授予组“域管理员”系统管理员权限。
但是不知何故,任何域管理员都无法连接到该 SQL Server,但是当我将域管理员用户直接添加为允许的用户时,它确实可以工作。活动目录确实有效。RDP-登录有效。我错过了什么吗?
有谁知道如何授予对整个组“域管理员”的访问权限?
错误信息是:
服务器名称:SRV-DB 错误编号:18456 施韦雷格勒:14 状态:1 代码行:65536
在事件日志中它说(翻译):
检查基于令牌的服务器访问时发生基础结构故障时出错。
状态为 "1" 。我以域管理员身份使用 RDP 登录到该数据库服务器。我必须以“以管理员身份运行”明确启动 SSMS。然后我可以访问“本地主机”。如果我不以管理员身份启动 SSMS,那么我就不能这样做。我认为加入“域管理员”组就足够了。
我的要求是将自动电子邮件创建为(通过数据库邮件格式化的 HTML 电子邮件)基本要求已经完成,当作业被触发时,它将数据插入到表中,并且该信息已被安排作为电子邮件发送,但现在客户已经以这种格式请求了。
我已经完成的当前格式
PO Date:2014-11-26 PO ID:PO1 SAP Ref:0001106102 GRN:1067 DealerID:045 Dealer Name:ABC(Pvt)Ltd. 2 Status:New
Run Code Online (Sandbox Code Playgroud)
客户要求的格式为表格格式
PO Date |PO ID| SAP Ref| GRN|DealerID|Dealer Name|Status
Run Code Online (Sandbox Code Playgroud)
这是我用来将数据插入到 Email_Table(_ERROR_MAIL) 中的 SQL 查询,这需要根据要求进行觊觎
IF EXISTS (SELECT * FROM sysobjects WHERE type = 'P' AND name = 'ImpCancelledGRN')
BEGIN
DROP PROCEDURE [dbo].[ImpCancelledGRN]
END
GO
CREATE PROCEDURE [dbo].[ImpCancelledGRN]
WITH ENCRYPTION
AS
SET NOCOUNT ON
BEGIN
BEGIN TRY
-- Begin transaction
BEGIN TRAN
INSERT INTO _ERROR_MAIL(Recipients, Subject, CreationDate, IsNew, LastModifiedBy, Body)
SELECT 'noreply-Email@Adress.com', 'SAP CANCELLED GRN', …Run Code Online (Sandbox Code Playgroud) 阅读数据加载性能指南 后,我仍然不确定是否有必要将 TABLOCK 表提示添加到使用聚集索引定义的空临时表中,以便获得最少的日志记录。
显然,临时表是在 TempDB 中创建的,它在 SIMPLE 恢复模式下运行,所以我认为它是最小日志记录的完美候选者;然而,我找不到一段话来证实它。
临时表是否是最小日志记录的候选者,如果是,是否值得为永久表添加 TABLOCK 提示?
我在网上搜索过,但没有找到我要找的东西。
问题/查询据我所知,SQL Server 中的数据库应该有一个 .mdf 文件,可能还有一些 .ndf 文件和一个 .log 文件。
我见过许多带有一个 mdf 和多个 ndf 文件的数据库。但是最近我在服务器上遇到了一些数据库,其中每个数据库都有多个 mdf 文件。
我备份了一些数据库,将它们移动到另一台服务器,并将主文件恢复为 .mdf,所有其他文件显然都恢复为 .ndf,除了它恢复为 .log 的日志文件。
现在我的问题是:
它是 SQL Server 2008 R2 64bit Enterprise Edition
任何正确方向的建议或指针都非常感谢。谢谢你。
我在表列中有这种类型的值
154646@8@486
45465@6464@654
Run Code Online (Sandbox Code Playgroud)
等等。
如何在第二个@ 字符后删除所有内容?我需要显示
154646@8
45465@6464
Run Code Online (Sandbox Code Playgroud)
我只能为所有@ 做,但不能为第二个做
SELECT REPLACE(LEFT('45@Tra@lala', CHARINDEX('@','45@Tra@lala')-1),'_',' ')
Run Code Online (Sandbox Code Playgroud)
返回45但不返回45@Tra
谢谢 :-)
我最近将我的本地 SQL Server 升级到了 2014 版,它也安装了 SSMS 2014。
当使用 SQL Server Management Studio 2014 创建备份(本地和远程,服务器版本 2008 - 2014)时,我收到以下错误:
要完成此操作,请设置属性 Devices。
在下拉列表中,我选择了磁盘,并且还选择了备份路径。该路径存在于服务器上,我对此路径拥有完全权限。
如果我使用具有相同设置的旧 SQL Server Management Studio 2012,备份工作没有任何问题。
它也适用于 T-SQLBACKUP DATABASE SOMEDATABASE TO DISK = 'D:\SomeDir\SomeDataBase.bak' WITH COMPRESSION
所以这个问题必须与管理工具版本 2014 相关。我在互联网上找到的唯一解决方案是由于缺少路径,这对我来说并非如此。
有没有人经历过和/或解决过这个问题?
编辑:添加屏幕截图(德语用户界面)

翻译:
- Vollständig:完整
- Datenträger:磁盘
媒体和安全选项不变。仅以主数据库为例,其他所有数据库都会发生。

21.07.2015 更新
该问题似乎与我在德语 Windows 和德语 SQL Server 2014 安装上使用英语语言包有关。如果 Windows 显示语言设置为德语,问题就会消失。如果 Windows 显示语言设置为英语,问题会再次出现。
感谢所有贡献。
我有一个 SQL Server 2012 SP2 企业版的实例,它消耗的内存比最大值高约 20GB。内存限制。实例限制为 65GB,但以下查询中使用的物理内存显示为 86GB
SELECT (physical_memory_in_use_kb/1024)/1024 AS [PhysicalMemInUseGB]
FROM sys.dm_os_process_memory;
GO
Run Code Online (Sandbox Code Playgroud)
服务器是具有 2 个 NUMA 节点的物理服务器。有没有一种方法可以找出正在消耗缓冲池之外的内存的东西(我假设这就是正在发生的事情)?
这是 DBCC MEMORYSTATUS 的输出:-

这是设置的内存限制:-

提前致谢。
更新:-我已经运行了 Aaron 建议的查询
SELECT TOP (20) * FROM sys.dm_os_memory_clerks ORDER BY pages_kb DESC
Run Code Online (Sandbox Code Playgroud)
这是输出:-

pages_kb 的总和达到 ~60GB
更新 2:- DBCC MEMORYSTATUS 的完整输出在这里:- http://pastebin.com/nGn6kXEc
更新 3:- 此处在 excel 文件中输出 Shanky 的脚本:- http://jmp.sh/LKRlH4K
更新 4:- 输出的屏幕截图:-
SELECT (physical_memory_in_use_kb/1024)/1024 AS [PhysicalMemInUseGB]
FROM sys.dm_os_process_memory;
GO
Run Code Online (Sandbox Code Playgroud)

所以这似乎表明 SQL Server 正在使用超过 65GB 的设置。
此处找到的 SQL Server 中的隔离级别列表指出,在事务中获取的写锁将保留到事务结束。但是,它没有提及有关何时获取这些锁的任何信息。
默认情况下,锁是在事务开始时获取还是在需要时获取?如果后者为真,那么在大型事务中尽可能晚地执行写操作以最小化持有 X 锁的时间是否有利?
我刚刚在 WS2008R2/SQL2012 实例上安装了所有可能的 Windows 更新。当我跑
SELECT @@VERSION
我得到
Microsoft SQL Server 2012 - 11.0.5058.0 (X64)
May 14 2014 18:34:29
Copyright (c) Microsoft Corporation
Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor)
Run Code Online (Sandbox Code Playgroud)
根据
和 Microsoft 网站,有 4 个可用于 SQL Server 2012 SP2 的累积更新,最新版本是 11.00.9000。
为什么 Windows 更新也没有获得累积更新?我应该手动下载并安装它们吗?
我编写了一个 SQL Server 查询,它在对字段进行分区后更新记录以具有序列号。当我将它作为 SELECT 语句运行时,一切看起来都很棒:
DECLARE @RunDetailID INT = 448
DECLARE @JobDetailID INT
SELECT @JobDetailID = [JobDetailID] FROM [RunDetails] WHERE [RunDetailID] = @RunDetailID
SELECT
[OrderedRecords].[NewSeq9],
RIGHT([OrderedRecords].[NewSeq9], 4)
FROM
(
SELECT
[Records].*,
[Records].[SortField] + RIGHT('0000' + CAST(ROW_NUMBER() OVER(PARTITION BY [Records].[SortField] ORDER BY [Records].[RunDetailID], [Records].[SortField], [Records].[PieceID]) AS VARCHAR), 4) NewSeq9
FROM
(
SELECT
[MRDFStorageID],
[RunDetailID],
[SortField],
[PieceID],
[Seq9],
[BallotType]
FROM
[MRDFStorage]
JOIN [BallotStyles] ON [MRDFStorage].[SortField] = [BallotStyles].[Style] and [BallotStyles].[JobDetailID] = @JobDetailID
WHERE
[RunDetailID] IN (SELECT [RunDetailID] FROM [RunDetails] WHERE [JobDetailID] = …Run Code Online (Sandbox Code Playgroud) sql-server ×10
blocking ×1
connectivity ×1
deadlock ×1
files ×1
import ×1
locking ×1
memory ×1
performance ×1
permissions ×1
ssms ×1
subquery ×1
t-sql ×1
transaction ×1
update ×1