小编mar*_*c_s的帖子

将 msdb 从 SQL Server 2008 R2 还原到 SQL Server 2012 实例

我正在一个单独的盒子上从 SQL Server 2008 R2 实例转移到 SQL Server 2012 实例。我想恢复msdb以获取我所有的代理工作等,但出现以下错误:

数据库 'msdb' 的还原失败。
(Microsoft.SqlServer.Management.RelationalEngineTasks)
System.Data.SqlClient.SqlError: 设备上系统数据库的备份\10.0.0.3\BackUps\NOFAULT2010_msdb_FULL_20121016_220006.bak 无法恢复,因为它是由不同版本的服务器创建的(10.50.1600) 比这台服务器 (11.00.2100)。
(Microsoft.SqlServer.SmoExtended)

如果我试图从 2012 年到 2008 年,我会理解这一点,但这对我来说是新的。

无论如何要让它发挥作用?或者,如果不是转移代理工作、用户、blazi blah 的最佳方式?

谢谢

sql-server sql-server-2008-r2 sql-server-2012

5
推荐指数
1
解决办法
1万
查看次数

无法使用 SQL Server Management Studio 将 Amazon RDS SQL Server 数据库还原到给定的时间点

我正在尝试恢复我的 Amazon DRS SQL Server 数据库之一。使用 SQL Server Management Studio,我可以使用我在创建数据库实例时创建的主帐户更正我的 DRS 实例。当我开始恢复给定的数据库时,我能够看到所有完整备份和事务日志,但是在尝试恢复时它给了我这个错误消息

无法检索此请求的数据。(Microsoft.SqlServer.Management.Sdk.Sfc)

执行 Transact-SQL 语句或批处理时发生异常。(Microsoft.SqlServer.ConnectionInfo)

对象“xp_fileexist”、数据库“mssqlsystemresource”、架构“sys”上的 EXECUTE 权限被拒绝。(Microsoft SQL Server,错误:229)

我可以从 AWS 管理控制台恢复一个完整的数据库实例,但这不是我想要的。我希望能够将给定的数据库恢复到特定的时间点,而不是恢复一个全新的数据库实例。看起来也没有太多关于如何恢复到特定时间点的信息。

谢谢。

sql-server backup ssms restore amazon-rds

5
推荐指数
1
解决办法
3031
查看次数

无法从 SQL 管理数据仓库生成报告

我正在运行 SQL Server 2008 R2 并在一台服务器上安装了 MDW,并且有一个数据收集器收集服务器活动、查询结果和磁盘活动数据并将其上传到 MDW。当我使用数据收集 > 报告 > 管理数据仓库从 MDW 中选择任何报告时,我收到错误消息:

调用的目标已抛出异常 - > 未将对象引用设置为对象的实例。

所有 3 份报告都会发生这种情况,在我等待了一段时间并且数据已从数据收集器上传之后。我没有运行 SSRS,但阅读这不是必需的。

有什么建议?

sql-server sql-server-2008-r2 data-collection

5
推荐指数
1
解决办法
2577
查看次数

如何禁用或删除索引

我在实时服务器 (SQL Server 2008 R2) 上创建了一个非聚集索引,但结果却没有提供我所希望的性能优势。所以我想再次删除索引。

不幸的是,我无法锁定正在使用的索引。它可能总是会被使用。重新启动 SQL Server 并不是一个真正的选择。

过去我想重建索引时也遇到过同样的问题,我不得不通过重新组织来解决这个问题(有时效率很低)。

有没有办法告诉 SQL Server 停止使用索引?或者是否可以运行一个查询来尝试获取索引的排他锁,无限期等待,然后删除索引?还有其他选择吗?或者我是否只需要等到出现某种中断,然后希望我记得在一切恢复联机之前将其删除?

index sql-server sql-server-2008-r2 locking

5
推荐指数
1
解决办法
5068
查看次数

删除带有孤立索引的分区方案

我试图删除 SQL Server 数据库中的分区方案。这个方案被 2 个索引使用,我删除了它们。

我无法删除该方案,因为它似乎仍然被索引使用,即使它们不再存在。

运行以下查询:

select object_name(i.object_id), i.name, i.index_id
FROM   sys.indexes i
JOIN   sys.partition_schemes ps ON i.data_space_id = ps.data_space_id
WHERE  ps.name = 'CallScheme'
Run Code Online (Sandbox Code Playgroud)

我得到了具有索引的 2 个表的名称,但索引名称为 NULL(索引 id 为 0)。

如何摆脱这些索引以便我可以删除分区方案?

sql-server partitioning dependencies

5
推荐指数
1
解决办法
974
查看次数

如何通过 ODBC 审核用户连接到 SQL Server 2008 R2 中的所有数据库

我不是受过训练的 DBA,但我管理一个使用 SQL Server 作为后端的软件应用程序。应用程序管理“项目”,每个项目都有自己的数据库。

由于通过应用程序报告的限制,我们设置了一个对所有项目数据库具有只读权限的通用 SQL Server 用户帐户。用户利用该帐户通过 ODBC 进行连接并执行查询。

现在我想审计这些连接——它们何时发生以及连接到哪个数据库。

有人可以帮助我吗?

我对 SQL Server 本身具有管理访问权限。我对 SQL 语法有非常基本的了解。不过,我完全不了解 SQL Server 的审计功能。

提前致谢!

audit sql-server-2008-r2

5
推荐指数
1
解决办法
812
查看次数

我可以将数据库从 SQL Server 2012 复制到 SQL Server 2014(使用 2014 分发服务器)吗?

我计划将数据库复制从 SQL Server 2012(发布者)运行到 SQL Server 2014(分发者和订阅者)——拉复制。

有没有人做过这种类型的跨版本复制并知道它是否有任何问题?

谢谢!

replication sql-server sql-server-2012 sql-server-2014

5
推荐指数
1
解决办法
9566
查看次数

除非在端口 1433 上,否则 SQL Server 群集资源不会联机

2 节点 SQL Server 2008 R2 群集工作正常,直到其中一个资源被删除。我成功地把它加回来了。但是,集群无法联机 SQL 服务,除非它位于 1433 上并且不是我之前使用的端口。以下是应用程序错误日志:

[sqsrvres] checkODBCConnectError: sqlstate = 08001; 本机错误 = 274d;message = [Microsoft][SQL Server Native Client 10.0]在建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。检查实例名称是否正确以及 SQL Server 是否配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书。

服务状态变为在线待处理,一段时间后变为离线。使用 SQL 配置管理器,我恢复到 1433,它再次正常工作。

我曾尝试禁用仲裁的检查点(如何将 SQL Server 命名实例的动态端口更改为 SQL Server 2005 群集中的静态端口)但没有任何作用,除非我使用具有旧端口号的别名。

我在这里错过了什么吗?

sql-server clustering sql-server-2008-r2

5
推荐指数
1
解决办法
1552
查看次数

将所有数据库从一个 SQL Server 2005 迁移到另一个

我们有一个生产 SQL Server 2005 服务器,我们在上面托管了 200 个数据库。

我们想在我们的新服务器上托管这些数据库。在新服务器上安装了 SQL Server 2005 并准备就绪。

我想知道迁移整个数据的最佳和最方便的方法包括:

  • 安全和许可
  • 用户和会员
  • 所有的数据库和..

总之,我希望在新服务器上的新实例上拥有与当前 SQL Server 2005 完全相同的副本。

如果你能指导我解决这个问题,我将不胜感激。

此致

sql-server backup migration

5
推荐指数
1
解决办法
1万
查看次数

如何在USE语句中使用局部变量

如何在USE语句中使用局部变量?我得到错误:

消息 911,级别 16,状态 1,第 6 行
数据库“DWSource_@Country”不存在。确保正确输入名称。

代码:

DECLARE @Country varchar(3)
SET @Country='UKR'

USE DWSource_@Country

SELECT  @Country as country,
        count(*) as n_ALL,
        sum(case when LEN(EPOSTA)>0 then 1 else 0 end) as EMAIL1,
        sum(case when LEN(EPOSTA_2)>0 then 1 else 0 end) as EMAIL2

FROM    [dbo].[_data_CRM_S_PARTNER] 
WHERE   VIR = 'SM'
    AND PRAVNA_OSEBA = 0
    AND PROBLEMATICEN = 0   
    AND ISNULL([STATUS],0) IN (0,1) 
    AND ID_DBCLUSTER IN ('112','122','132','212','222','232','312','322','332','311','321','331')
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Br, 安雅

sql-server t-sql

5
推荐指数
2
解决办法
2万
查看次数