AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-28954

M.Ali's questions

Martin Hope
M.Ali
Asked: 2020-06-19 15:35:13 +0800 CST

I/O 在数据库 DBName 上被冻结。无需用户操作

  • 0

我们在 Azure VM 上的 Windows Server 2019 上安装了 SQL Server 2019 Enterprise CU4。SQL Server 差异备份作业间歇性失败。

我查看了 SQL Server 错误日志,可以看到所有数据库的以下错误:

I/O 在数据库 DBName 上被冻结。无需用户操作。但是,如果 I/O 没有立即恢复,您可以取消备份。

后跟以下错误日志:

I/O 已在数据库 DBName 上恢复。无需用户操作。

发生此错误后,差异备份作业开始失败并出现以下错误:

执行查询“BACKUP DATABASE [DBName] TO DISK = N'X:\MSSQL...”失败并出现以下错误:“无法为数据库“DBName”执行差异备份,因为当前数据库备份不存在。执行通过重新发出 BACKUP DATABASE 进行完整数据库备份,省略 WITH DIFFERENTIAL 选项。BACKUP DATABASE 异常终止。"。可能的失败原因:查询有问题,“ResultSet”属性设置不正确,参数设置不正确,或连接未正确建立。

此时,在对数据库进行完整备份之前,我们无法进行任何进一步的差异备份。

我已经检查过,没有其他 SQL 代理作业正在运行,我不明白为什么会发生这个错误。

我在网上做了一些研究,这似乎是 SQL Server 版本 2016、2017 和 2019 中的一个已知问题,但它已在所有这些版本的 CU 中修复。以下文章讨论了此问题并确认该问题已在 CU2 中的 SQL Server 2019 中修复。

https://support.microsoft.com/en-us/help/4523102/fix-sql-server-database-remains-in-frozen-io-state-indefinitely-when

我们有应用了 CU4 的 SQL Server 2019。所以所有的修复都应该来自 CU2。但是,我们仍然遇到 I/O 冻结问题。

非常感谢任何指针或建议。提前致谢。

sql-server sql-server-2019
  • 2 个回答
  • 673 Views
Martin Hope
M.Ali
Asked: 2020-06-02 03:47:53 +0800 CST

Windows Server 2019 非所有者节点看不到集群名称或 IP

  • 0

我正在尝试在 Azure 中构建具有 2 个节点的 SQL Server AlwaysOn 可用性组。我创建了 2 个 SQL Server 虚拟机并托管创建了一个集群,其中两个节点都作为该集群的成员。 

我已按照本文中的步骤构建 Windows 集群 https://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/availability-group-manually-configure-tutorial with 1重大变化,我使用 powershell 创建集群。 

New-Cluster -Name SQLClusterName -Node ("SQLNode1","SQLNode2") –StaticAddress 172.100.10.100 -NoStorage -ManagementPointNetworkType Singleton

因为,如果我使用故障转移集群管理器来构建集群,它并没有创建集群核心资源,也没有给我选择集群 IP 的选项。 

无论如何,一旦集群配置完成,我尝试配置 AlwaysOn 可用性组,但向导无法创建 AlwaysOn 可用性组,抱怨它无法连接到集群。 

我在两个节点上都进行了,我意识到我可以 ping 到集群名称或 IP,并且只能从所有者节点获得响应。从集群非所有者节点我无法 ping 集群名称或 IP。如果我将集群故障转移到第二个节点,则我的 ping 行为将相反。

其他人都经历过这个问题吗?是这样,你是如何设法解决的?非常感谢任何帮助或正确方向的指针。提前致谢。

azure-vm sql-server-2019
  • 1 个回答
  • 68 Views
Martin Hope
M.Ali
Asked: 2020-05-20 05:18:37 +0800 CST

找不到 SQL Server 2019 的 DReplay.exe

  • 3

我一直在研究 SQL Server 2019 版本并尝试使用 SQL Server 分布式回复控制器 - 客户端设置负载测试环境,但是我找不到 DReplay.exe。我以为它将作为分布式回复控制器安装的一部分进行安装,但事实并非如此。一些文章建议它将作为部分管理工具从 SQL Server 的安装介质中安装,但管理工具选项已从安装选项中删除。

也没有在线链接可以建议安装 DReplay.exe 的替代方法。现在选项不多了。

作为一个绝望的措施,我确实尝试将“C:\Program Files (x86)\Microsoft SQL Server\150\Tools\Binn”文件夹内容从安装它的旧服务器复制到新的 SQL Server 2019不工作,抛出错误“加载程序集失败......”

有什么想法有什么建议吗??谢谢你。

sql-server sql-server-2019
  • 1 个回答
  • 313 Views
Martin Hope
M.Ali
Asked: 2017-02-05 15:24:54 +0800 CST

连接两个具有 MAX 值的表的最有效方法

  • 4

我正在优化一个查询,我必须在其中连接两个表,比如说Product和TransactionHistory表,并从两个表中返回多个列作为表中每个产品的表中的最后TransactionDate一个TransactionHistory列Product。

TransactionHistory表有大约 1300 万行,Product表有近 200 万行。

听起来很容易,不是吗?但是对于不同的场景,不同的查询执行不同。

我在这里没有使用我的实际表名,以显示我尝试过的不同查询语法,我使用的是 Adam Machanic 的 BigProduct 和 BigSalesHistory 表。


查询最初是这样写的......

SELECT p.ProductID
     , p.Name
     , h.Quantity
     , h.TransactionDate
FROM [dbo].[bigProduct] p
INNER JOIN [dbo].[bigTransactionHistory] h ON p.ProductID = h.ProductID
WHERE h.TransactionDate = ( SELECT MAX(TransactionDate)
                            FROM [dbo].[bigTransactionHistory]
                            WHERE ProductID = h.ProductID )
AND p.ProductID > 1317
AND p.ProductID < 1416
GO

这导致了大约 30 次扫描计数和近 300,000 次逻辑读取。


作为窗口函数的忠实粉丝,我使用 编写了以下查询ROW_NUMBER(),但都适得其反:

SELECT p.ProductID
     , p.Name
     , c.*
FROM [dbo].[bigProduct] p
INNER JOIN ( SELECT  h.ProductID
                   , h.Quantity
                   , h.TransactionDate
                   , ROW_NUMBER() OVER (PARTITION BY h.ProductID 
                                            ORDER BY h.TransactionDate DESC) rn
              FROM [dbo].[bigTransactionHistory] h
            ) c
            ON p.ProductID = c.ProductID AND rn = 1
WHERE p.ProductID > 1317
  AND p.ProductID < 1416
GO

和

SELECT p.ProductID
     , p.Name
     , c.*
FROM [dbo].[bigProduct] p
CROSS APPLY ( SELECT  h.ProductID
                   , h.Quantity
                   , h.TransactionDate
                   , ROW_NUMBER() OVER (PARTITION BY h.ProductID 
                                            ORDER BY h.TransactionDate DESC) rn
              FROM [dbo].[bigTransactionHistory] h
              WHERE p.ProductID = ProductID
            ) c
WHERE p.ProductID > 1317
  AND p.ProductID < 1416
  AND rn = 1
GO

Scan 计数达到 100 秒,逻辑读取数跃升至 700,000 秒。


对窗口函数的性能感到非常失望,我使用重写了查询CROSS APPLY

SELECT p.ProductID
     , p.Name
     , c.*
FROM [dbo].[bigProduct] p
CROSS APPLY ( SELECT TOP 1  h.ProductID
                          , h.Quantity
                          , h.TransactionDate
              FROM [dbo].[bigTransactionHistory] h
              WHERE p.ProductID = h.ProductID
              ORDER BY h.TransactionDate 
             ) c
WHERE p.ProductID > 1317
  AND p.ProductID < 1416
GO

现在这个查询似乎在上面提到的所有内容中表现最好,但是一旦 OUTER Query 的 Range forProductID增加,这个查询就会出现可怕的错误,并且开始表现比上述两个更差。

此外,即使它将逻辑读取次数减少到 27000,但 CPU 时间和经过的时间却增加了 8 倍。


有没有更有效的方法来编写这样的查询,记住 ProductID 的外部查询范围变化很​​大?

非常感谢任何正确方向的建议或指示。谢谢你。

sql-server sql-server-2014
  • 1 个回答
  • 5795 Views
Martin Hope
M.Ali
Asked: 2016-07-12 11:26:37 +0800 CST

报表生成器不连接远程报表服务器

  • 5

当前环境

我在这里遇到了一些麻烦,我在一台服务器上安装了 Reporting Services,在另一台服务器上安装了 SQL Server 数据库引擎。

用户正在连接到报表管理器,该报表管理器显然指向安装了 Reporting Services 的服务器。

用户使用通用登录(报表服务器上的本地管理员帐户)连接到报表管理器。

但是当用户单击报告管理器上的报告生成器按钮时,它最初无法启动抱怨“应用程序无法检索文件。身份验证失败。”

经过大量研究,我发现,即使用户在连接到报告管理器时输入了本地帐户的凭据,但是当他们单击报告生成器按钮时,他们的 windows 帐户的凭据被拾取,因此 ClickOnce 应用程序无法验证用户身份并且无法启动。

Basic Authentication我通过在 Reporting Server 上允许和Anonymous Authentication在 Reports Builder 上允许来更改此行为。

现在,当用户单击Report Builder而不是报告生成器时,它只是从当前用户 windows 帐户中选择凭据,它提示输入凭据,用户在报告服务器上传递本地管理员帐户的凭据,并且 ClickOnce 应用程序按预期下载。

问题

现在报表构建器启动正常,我可以右键单击设计器左窗格中的数据源文件夹,浏览可用的数据源,测试连接(显示测试成功)。但是,当我单击数据集并尝试添加新数据集时,它会引发错误,提示“身份验证失败,无法连接到数据源”。

即使在最后一步连接测试成功,但在这个阶段它失败了。

在此处输入图像描述

重要的提示

SQL Server 没有外部 IP,只能从报表服务器看到。这可能是连接失败的原因吗?

我的意思是报表生成器在启动时是否尝试获得与 SQL Server 的直接连接?

或者还有什么我错过的吗?

任何指针任何建议都非常感谢,谢谢。

sql-server sql-server-2008-r2
  • 3 个回答
  • 9505 Views
Martin Hope
M.Ali
Asked: 2016-05-21 15:13:49 +0800 CST

SQL Server 标准许可证因 Report Builder 评估版而被覆盖

  • 1

我的一位同事今天给我打电话告诉我,在我们的一台服务器上,SQL Server 已停止工作。如果他试图运行管理工作室,它会抛出错误提示The evaluation period has expired...

在此处输入图像描述

但此人称,最初他在服务器上安装的是SQL Server 2008 R2标准版(正版),后来有人误在该机器上安装了Report Builder 3.0企业评估版,导致SQL Server许可证过期。

我从来没有听说过这样的事情。我认为 Report Builder 是一个客户端应用程序,只要您连接的服务器获得许可,您就应该能够使用它,但它永远不会影响它所连接的服务器上的许可。

无论如何,我连接到服务器本身并开始浏览 Windows 日志以检查 SQL Server 的安装时间。

在大约一年前安装SQL Server时的窗口日志中,SQL Server安装期间的所有MsiInstaller事件都指向一个目录

C:\appstore\2008 R2 Standard\Standard Edition\x86\setup\.....

我认为这表明最初安装的是标准版,但在安装完成并且 sql server 服务首次启动后,windows 日志显示如下:

在此处输入图像描述

问题一

我的结论是正确的,即使这个人认为他安装了标准版的 sql server,它实际上是 sql server 的企业评估版?

问题2

Report Builder 的企业评估版是否可能影响已安装的 SQL Server 标准版的许可证并导致其过期?

sql-server sql-server-2008-r2
  • 2 个回答
  • 345 Views
Martin Hope
M.Ali
Asked: 2015-10-14 15:29:28 +0800 CST

SSRS 跨域报告服务器身份验证

  • 1

我手头有一个相当复杂的情况,让我试着解释一下。

我在一个单独的域中有一个 SQL Server 和一个 Web 服务器(我们称之为域 A)。

SQL Server 具有报告服务的数据库,Web 服务器安装了报告服务。

SSRS 还安装了 SSL 证书,我们使用 https 协议连接到报告管理器。

现在我需要授予域 B 的用户访问权限以连接到报告管理器(域 A 上的报告服务器)。

来自域 B 的用户在安装了报告服务的域 A 中不能有任何登录名,我知道要访问报告管理器,我需要将域登录名/组添加到报告管理器并为其分配适当的角色以访问报告。

我有哪些选项(如果有)可以让域 B 中的用户访问以连接到域 A 上的报告管理器?

重要的提示:

对报表服务器的访问是通过具有面向外部 IP 的 NLB、报表服务器(Web 服务器)或 SQL 服务器没有任何面向外部的 IP

sql-server sql-server-2008-r2
  • 1 个回答
  • 5064 Views
Martin Hope
M.Ali
Asked: 2015-07-06 03:32:30 +0800 CST

SQL Server 故障转移群集安装无法将“RequireKerberos”设置为值“1”

  • 1

您好,我正在尝试创建一个 SQL Server 故障转移群集。Windows 群集已配置并按预期工作,但现在当我尝试安装 SQL Server 时,它会抛出以下错误:

在此处输入图像描述

操作系统:Window Server 2008 R2 DataCentre x64 位
SQL:SQL Server 2008 企业版 x64 位

我在网上看到一些帖子建议我需要带有 SP1 的 SQL Server 2008。我可以安装 SQL Server 2008,然后应用 SP1,但它甚至不允许我安装它并抛出错误。

非常感谢任何正确方向的建议或指示。谢谢你。

sql-server sql-server-2008
  • 1 个回答
  • 257 Views
Martin Hope
M.Ali
Asked: 2015-02-19 13:33:39 +0800 CST

最大等待WriteLog

  • 3

我已经获得了运行我们的应用程序的服务器(SQL Server 2008R2 64 位)。应用程序的性能逐渐下降。现在它已经到了性能已成为一个严重问题的地步。我开始调查并经历了以下步骤。

  1. 检查了 sql server 上的处理器和内存使用情况(没有任何东西被最大化)大量可用资源。

  2. 索引碎片最少,但重建了索引并更新了统计信息。

  3. 没有对应用程序中的代码(应用程序代码/sql 服务器代码)进行任何更改,因此由于编写不佳的代码而导致的性能不佳不太可能是应用程序整体性能不佳的原因。

  4. 终于拿到保罗兰德尔的剧本了Wait statistics, or please tell me where it hurts。脚本的结果表明,sql server 在写入日志文件时必须等待很多。最大的等待类型是 WRITELOG。

我使用 SQLIO 工具来测量磁盘的读/写性能,它看起来和任何其他磁盘一样快。

我知道一个事实,我怀疑日志写入过程更有可能出现问题,但是我已经没有地方可以寻找了,有人可以告诉我我应该在哪里寻找问题。

日志写入缓慢的可能原因是什么?或任何正确方向的建议或指示都非常感谢。谢谢你。

╔═══════════════╦═════════════╦═══════════╗
║   WaitType    ║   Wait_S    ║ WaitCount ║
╠═══════════════╬═════════════╬═══════════╣
║ IO_COMPLETION ║ 4850500.20  ║ 4553514   ║
║ WRITELOG      ║ 25291893.90 ║ 795877    ║
╚═══════════════╩═════════════╩═══════════╝
sql-server sql-server-2008-r2
  • 1 个回答
  • 9135 Views
Martin Hope
M.Ali
Asked: 2014-12-14 13:40:07 +0800 CST

具有多个 .mdf 文件的数据库

  • 11

我在网上搜索过,但没有找到我要找的东西。

据我所知,问题/查询是 SQL Server 中的数据库应该有一个 .mdf 文件,可能还有一些 .ndf 文件和一个 .log 文件。

我见过许多带有一个 mdf 和多个 ndf 文件的数据库。但是最近我在服务器上遇到了一些数据库,其中每个数据库都有多个 mdf 文件。

我对一些数据库进行了备份,将它们移至另一台服务器,并将主文件恢复为 .mdf,将所有其他文件恢复为 .ndf,显然除了日志文件恢复为 .log 之外。

现在我的问题是:

  1. 为数据库拥有多个 .mdf 文件有什么智慧吗?
  2. 拥有多个 .mdf 文件有什么缺点吗?

它是SQL Server 2008 R2 64bit Enterprise Edition

非常感谢任何正确方向的建议或指示。谢谢你。

sql-server sql-server-2008-r2
  • 1 个回答
  • 20111 Views
Martin Hope
M.Ali
Asked: 2014-10-24 14:37:36 +0800 CST

SQL Server 复制快照代理登录失败

  • 1

我已经TRANSACTIONAL REPLICATION从 ServerA 设置到 ServerB

ServerA= Primary Server = SQL Server 2008 R2 Enterprise
ServerB= Secondary Server= SQL Server 2008 R2 Standard Edition。

我为快照代理和日志读取器代理使用了域帐户,称为SQLAgent.

初始快照已成功初始化,从那里开始下坡。

错误日志:

用户“ServerName\SQLAgent”登录失败。原因:基于令牌的服务器访问验证因基础结构错误而失败。检查以前的错误。[客户: ]

复制监视器:

Publication Status:好的
Agents:对于代理Snapshot和Log Reader状态都显示它正在运行.....
并且Last Run属性说Starting Agent...

从错误消息中可以明显看出,Login 无法访问 SQL Server,所以只是为了测试目的,我给了这个 SQLAgent 帐户 sysadmin 角色。然而错误仍然存​​在。

我可以在网上找到的所有材料,建议给予更多的登录权限将解决这个问题。但是,如果系统管理员角色还没有解决它,我现在有点想不通了。

有人可以建议我缺少什么吗?

我该如何解决?

sql-server sql-server-2008-r2
  • 1 个回答
  • 3847 Views
Martin Hope
M.Ali
Asked: 2014-09-26 03:14:56 +0800 CST

如何回收数据库中未使用的空间

  • 1

该数据库的大小几乎为 55GB。由于某些维护作业没有运行,因此该数据库永远不会增长到这种大小。

我已经删除了将近 30GB 的数据。现在数据库大小接近 45GB,可用空间接近 20GB。

这表明数据库的实际大小现在接近 25GB,并且有一些未使用的空间需要返回给操作系统。

我已经为数据库和单个文件(其中 8 个)执行了 DBCC 命令。而且我只设法释放了几个 GB。

我使用的命令如下

DBCC SHRINKDATABASE (N'MyDB');
GO

DBCC SHRINKFILE('Filename1', 0 , TRUNCATEONLY)
GO
DBCC SHRINKFILE('Filename2', 0 , TRUNCATEONLY)
GO
  and so on....

但这似乎对数据库大小和可用空间没有影响。

我读了一篇建议重建索引然后收缩数据库的文章将解决这个问题。

但是一旦我缩小了数据库,无论如何我都必须重建索引,因为缩小的数据库会使索引变得一团糟。

我的要求是只留 10% 的空间让 db 增长并释放未使用的空间。然后我计划在那之后重建索引并更新统计信息。

解决这个问题的最佳方法是什么。非常感谢任何正确方向的建议或指示。

先感谢您

sql-server sql-server-2005
  • 1 个回答
  • 18009 Views
Martin Hope
M.Ali
Asked: 2014-09-19 07:21:57 +0800 CST

SQL Server 文件的单个虚拟驱动器与多个虚拟驱动器

  • 5

大家好,我对两种不同的硬盘设置如何影响我的数据库的性能有疑问。

我有两个选项。

选项1:

一个物理硬盘,然后是多个虚拟硬盘,用于 SQL Server 的数据库文件(.mdf、.ndf)、日志文件、TempDB、备份等

选项 2:

一个物理硬盘,然后一个巨大的虚拟硬盘用于 SQL Server 的数据库文件(.mdf、.ndf)、日志文件、TempDB、备份等

在此处输入图像描述

据我所知,如果这些都是物理硬盘驱动器,为所有这些文件(tempDB、日志文件、备份、数据库文件)拥有多个驱动器,肯定会从并行处理中受益。

但是一个大容量的虚拟硬盘与现实中的多个虚拟硬盘相比有什么缺点吗,当Sql Server读取或写入时,都是从一个物理硬盘完成的?

一种方法优于另一种方法吗?非常感谢任何正确方向的建议或指示。谢谢

sql-server sql-server-2008-r2
  • 3 个回答
  • 2421 Views
Martin Hope
M.Ali
Asked: 2014-08-09 01:56:24 +0800 CST

SQL Server 2000 备份失败,状态 = 33

  • 0

我正在尝试对大约 75GB 的数据库进行完整备份。

是SQL Server 2000 - 8.00.2055 x86 版本。我有足够的磁盘空间来创建备份。所以磁盘空间不是问题。

备份过程开始时很好,但中途会出错,只是说with status = 33.

在此处输入图像描述

我一直在网上寻找任何信息,但找不到任何信息......任何建议任何解决方案任何直接方向的指针都非常感谢......

sql-server backup
  • 1 个回答
  • 247 Views
Martin Hope
M.Ali
Asked: 2014-06-12 06:46:55 +0800 CST

分布式查询配置为以单线程单元模式运行

  • 3

我的机器上安装了 sql server 2008 R2 64bit Developer's Edition。

和 Microsoft Office 2010 Professional 32 位。

我一直在尝试将一些 Excel 数据从 Excel 工作表导入 sql server 数据库。我使用以下查询来执行此操作:

询问

SELECT * 
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
                'Excel 8.0;Database=D:\Files\BlueFile.xlsx;IMEX=1',
                'SELECT * FROM [Sheet1$]')

我了解 sql server 默认情况下已禁用此功能作为安全措施,但是我执行了以下语句来启用它。

配置

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
GO
RECONFIGURE;
GO

错误信息

然而,每次我执行 select 语句以从 Excel 表中获取数据时,都会出现以下错误。

消息 7308,级别 16,状态 1,第 1 行 OLE DB 提供程序
“Microsoft.Jet.OLEDB.4.0”不能用于分布式查询,因为提供程序配置为在单线程单元模式下运行。

sql-server sql-server-2008-r2
  • 1 个回答
  • 38641 Views
Martin Hope
M.Ali
Asked: 2014-04-30 01:21:19 +0800 CST

Sql Server 备份作业失败

  • 1

我有一个 sql 代理作业设置,用于每晚进行完整备份。昨晚作业失败并显示以下错误消息。

Sql Server 错误日志消息

BackupIoRequest::ReportIoError:备份设备“H:\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\My_Database_backup_2014_04_28_233008_2135500.bak”上的写入失败。操作系统错误 2(无法检索此错误的文本。原因:15100)。

错误:3041,严重性:16,状态:1。

SqlAgent 作业历史日志

以用户身份执行:域名\sqlagent。Microsoft (R) SQL Server Execute Package Utility Version 10.50.2500.0 for 64-bit 版权所有 (C) Microsoft Corporation 2010。保留所有权利。开始时间:23:30:01 进度:2014-04-28 23:30:06.81 来源:{123123123-F70A-430F-8041-12312312313} 执行查询“DECLARE @Guid UNIQUEIDENTIFIER EXECUTE msdb..sp...”。 100% 完成结束进度错误:2014-04-28 23:30:16.19 代码:0xC123123
来源:备份数据库(完整)执行 SQL 任务描述:执行查询“BACKUP DATABASE [My_Database] TO DISK = N'H:\MSS...”失败,出现以下错误:“写入”H:\MSSQL10_50。 MSSQLSERVER\MSSQL\Backup\MY_Database_backup_2014_04_28_233008_2135500.bak”失败:2(未能为此错误检索文本。原因:15100)备份数据库异常终止。已处理 10%。已处理 20%。已处理 30%。已处理 40%。50%已处理。60% 已处理。”。可能的失败原因:查询有问题,“ResultSet”属性设置不正确,参数设置不正确,或连接未正确建立。结束错误 DTExec:包执行返回 DTSER_FAILURE (1)。开始时间:23:30:01 结束时间:23:30:16 已用:14.844 秒。包执行失败。步骤失败。

在对网络进行研究后,大多数帖子表明我的磁盘空间不足,我检查了磁盘上的空间,几乎每个驱动器上都有至少 30 加 GB 的可用空间(磁盘用于 .mdf,磁盘用于.ldf 文件)。我的 C 盘上有将近 15 GB 的可用空间。正如网络上的一篇文章所暗示的那样,C 驱动器上没有足够的空间也会导致问题。

有没有人遇到过同样的问题,你是怎么解决的?这个错误的原因是什么以及我将来如何避免它。任何正确方向的建议指针都是最受欢迎的。谢谢你。

sql-server sql-server-2008-r2
  • 1 个回答
  • 18204 Views
Martin Hope
M.Ali
Asked: 2014-03-21 13:08:32 +0800 CST

在日志传送的辅助服务器上创建用户

  • 7

我有一个生产服务器说ServerA我已经设置了日志传送,ServerB它处于只读模式。此日志传送的目的是降低生产服务器上一些昂贵查询(痛苦报告)的负载。

现在,如果我必须使用我们的域帐户创建一些登录名。我不能这样做,因为辅助数据库位于standby mode.

我想如果我在主服务器上创建这些登录名,它将被复制到辅助服务器,然后日志会在那里恢复,但事实并非如此。

我在网上做了很多研究,找到了解决这个问题的方法。我为此找到了以下资源。我尝试了本文中建议的所有方法,但似乎都不起作用。

  1. Log Shipping in SQL Server 2008 R2 for set BI on replicated database

  2. How to transfer logins and passwords between instances of SQL Server

  3. Orphaned Users with Database Mirroring and Log Shipping

有人遇到过同样的问题吗?你做了什么?有没有办法解决这个问题?任何建议请任何指针。

sql-server sql-server-2008-r2
  • 1 个回答
  • 12146 Views
Martin Hope
M.Ali
Asked: 2014-01-24 15:14:13 +0800 CST

“数据库正在转换”错误

  • 14

今天我试图在已经存在的数据库上恢复数据库,我只需右键单击 SSMS 中的数据库 --> 任务 --> 脱机,这样我就可以恢复数据库。

一个小的弹出窗口出现并显示Query Executing.....了一段时间,然后抛出一个错误说Database is in use cannot take it offline。我从中收集到该数据库的一些活动连接,因此我尝试执行以下查询

USE master
GO
ALTER DATABASE My_DatabaseName
SET OFFLINE WITH ROLLBACK IMMEDIATE
GO

再次在这一点上,SSMS 显示Query Executing.....了一段时间,然后抛出以下错误:

Msg 5061, Level 16, State 1, Line 1
ALTER DATABASE failed because a lock could not be placed on database 'My_DatabaseName'. Try again later.
Msg 5069, Level 16, State 1, Line 1
ALTER DATABASE statement failed.

在此之后,我无法通过 SSMS 连接到数据库。当我尝试使用 SSMS 使其脱机时,它抛出了一个错误消息:

Database is in Transition. Try later .....

在这一点上,我根本无法触及数据库,我尝试过的任何操作都返回了相同的错误消息Database is in Transition。

我在谷歌上阅读了一些人们遇到类似问题的问题,他们建议关闭 SSMS 并再次打开它,我也是如此,因为它只是一个开发服务器,我刚刚使用 SSMS 删除了数据库并在新数据库上恢复。

我的问题是什么可能导致这种情况?以及如何避免这种情况在未来发生,如果我将来遇到同样的情况,除了删除整个数据库之外,还有其他方法可以解决它吗???

谢谢

sql-server sql-server-2008-r2
  • 3 个回答
  • 71503 Views
Martin Hope
M.Ali
Asked: 2013-11-29 12:50:45 +0800 CST

SSRS 报告管理器安全配置

  • 1

我碰巧正在从头开始设置一个报告服务器。几乎没有 sql server 管理经验,我发现为报告管理器配置安全设置真的很困难。

我确实了解所有将访问报告管理器的用户都需要两个级别的权限

1 – 从 sql server 访问数据的权限。(为此,经过一些研究,我决定使用 datareader 角色。

2- 访问 Reports Manager 的权限,我可以从中选择 Reports Manager 角色,例如(浏览器、内容管理器等)

对于报告经理,我创建了一个仅具有查看报告权限的新角色。

问题

当我将域用户帐户添加到报告管理器时,所有这些安全过滤器都已到位,用户可以在报告管理器上的任何位置导航(可以访问他们没有权限的文件夹、数据源和报告)。

我不希望用户查看他们没有权限的数据源或任何其他文件夹或报告。

到目前为止我已经尝试过什么

1- 将用户添加到报告管理器上的一个文件夹,但他们可以导航到报告管理器上的任何其他文件夹。

2-将用户添加到一个报告中,他们可以再次导航到报告管理器上的任何其他文件夹。

3-我使用的是 SSRS 服务帐户的虚拟帐户,将其删除并尝试了服务帐户、LocalService、LocalNetwork 和 LocalSystem 的所有其他 3 个内置帐户。(不确定这是否会有所作为)。

所有这些努力都是徒劳的,只要将用户添加到任何一个报表或文件夹,他们就可以导航到所有其他文件夹和报表,并且可以实际执行报表。

用户在 Sql Server 中分配了 datareader 角色,并在 Reports Manager 上具有自定义角色,该角色仅具有查看报告的权限。

我已将报告服务设置为使用默认的 Windows 身份验证。它是 Sql

服务器 2008 R2 报告服务。数据中心版。
请任何建议或任何方向都会有很大帮助。我一直在阅读 BOL,但目前还没有任何帮助。

sql-server sql-server-2008-r2
  • 3 个回答
  • 12828 Views
Martin Hope
M.Ali
Asked: 2013-10-30 12:49:42 +0800 CST

报告镜像或复制的最佳解决方案?

  • 3

您好我有 SQL SERVER 2008R2 数据中心版,我使用 SSRS 和供应商应用程序进行报告。我有一个报告服务器,我们每天从 Live Server 备份和恢复,以便为我们的报告提供可用数据。

因此,我面临许多问题,因此开发的任何代码都必须等待一天,直到还原完成才能进行测试。在 Reporting Server 上开发的任何代码都会被覆盖。出人意料的意外报告显示了一天前的数据,我可以继续说下去。

我知道我有两个可用的镜像和复制选项:

镜像将允许只读模式并且报告运行正常吗?这种只读模式是否还有我遗漏的其他含义?

复制我在所有表上都没有主键,所以我只剩下使用全局唯一标识符 (GUID) 的合并复制选项,我不能让 sql server 将此列添加到我的数据库中的所有表中。

任何人都可以告诉我一个解决方案,以便在另一台服务器上拥有 Sql Server 数据库的实时副本以用于报告目的?

我的要求

  1. 我可以忍受几分钟的旧数据。
  2. 在生产服务器上所做的任何更改都需要复制到报告服务器,即数据、Sql Server 对象(表、视图、存储过程、一切)
  3. 在报告服务器上创建的任何对象都不需要复制到生产服务器/数据库。

请告知任何解决方案,因为这将是一个很大的帮助,谢谢您。

sql-server sql-server-2008-r2
  • 2 个回答
  • 18093 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve