我最近尝试将来自网络实例的备份恢复到我的本地开发 SQL Server。令我惊讶的是,我收到以下错误消息:
消息 12824,级别 16,状态 1,第 3 行 sp_configure 值 'contained database authentication' 必须设置为 1 才能恢复包含的数据库。您可能需要使用 RECONFIGURE 来设置 value_in_use。消息 3013,级别 16,状态 1,第 3 行 RESTORE DATABASE 异常终止。
我必须遵循哪些步骤才能成功恢复数据库?
将数据库更改为部分包含时,出现以下错误:
无法解决 EXCEPT 操作中“Latin1_General_CI_AS”和“Latin1_General_100_CI_AS_KS_WS_SC”之间的排序规则冲突。
在编译 > 对象期间,过程“RSExecRole.DeleteExtensionModuleDDL”中遇到错误。数据库“VeeamOne”的包含选项已更改,或者该对象存在于模型 db 中并且用户尝试创建新的包含数据库。ALTER DATABASE 语句失败。无法更改数据库“VeeamOne”的包含选项,因为在验证 SQL 模块期间遇到编译错误。请参阅以前的错误。ALTER DATABASE 语句失败。(.Net SqlClient 数据提供程序)
我认为这是报告的对象来自 SSRS。但是,我正在更改排序规则的 DB 是一个完全独立的应用程序。
有没有人对如何解决这个问题有任何建议?
================================================== ====================== 好的,这是 proc 的代码,但不确定它是什么导致它无法被包含
USE [VeeamOne]
GO
/****** Object: StoredProcedure [reporter].[DeleteExtensionModuleDDL] Script Date: 02/12/2015 12:06:19 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [reporter].[DeleteExtensionModuleDDL]
@EMID int
AS
BEGIN
SET NOCOUNT ON;
declare @Debug bit;
set @Debug = 0;
declare @Emulate bit;
set @Emulate = 0;
declare @reportPackDestructorFunctionName nvarchar(max)
exec @reportPackDestructorFunctionName = [reporter].GenerateExtensionModuleDestructorName @EMID
if …Run Code Online (Sandbox Code Playgroud) sql-server collation sql-server-2012 contained-database except
我最近开始使用包含的数据库,但我不明白包含的数据库用户是否/如何拥有过期的密码。
MSDN 文档说他们这样做 - 使用 SQL Server 登录,有强制密码过期的选项框,但对于包含的数据库用户来说,这不存在(据我所知)。
这些包含的数据库帐户已经存在一段时间了,我们的域策略是每 6 个月重置一次密码,但我们从未更改过这些密码,而且应用程序在过去几年中使用相同的密码连接得很好。
我的第一个问题是我怎么知道对包含的数据库用户强制执行“密码过期”?对于 SQL 登录is_expiration_checked,sys.sql_logins.
使用传统的 SQL 登录,我可以使用以下函数来获取更改 SQL Server 登录的时间
LOGINPROPERTY('login','PasswordLastSetTime')
Run Code Online (Sandbox Code Playgroud)
包含的数据库用户是否有类似的东西?
SQL Server 版本(选择 @@VERSION 的输出):Microsoft SQL Server 2017 (RTM-CU19) (KB4535007) - 14.0.3281.6 (X64)(内部版本 14393:)
sp_Blitz从 Brent Ozar安装,存储过程创建成功。
代码中的版本信息: SELECT @Version = '7.93', @VersionDate = '20200217';
该实例具有 4 个带整理的系统 DBSQL_Latin1_General_CP1_CI_AS和 2 个带整理的用户数据库SQL_Latin1_General_CP1_CS_AS
当我尝试运行时,sp_Blitz我得到了这个:
Msg 468, Level 16, State 9, Procedure sp_Blitz, Line 896 [Batch Start Line 0] 无法解决“SQL_Latin1_General_CP1_CS_AS”和“SQL_Latin1_General_CP1_CI_AS”在等于操作中的排序冲突。
感谢任何在故障排除方面的帮助(我主要是一个 Oracle 人员,他收到了一个 SQL Server 进行审查,并记得这对于显而易见的事情来说可能是一个好的开始)。
我创建了一个包含的可用性组,但我不知道为什么作业在节点之间不同步。可能是什么问题呢?它不应该自动完成吗?
为了响应这个答案,我执行了以下操作:
我已连接到我们现在用作主服务器 (xxxxx) 的服务器,并且我在那里创建了一个测试作业。
数据库的同步工作正常,但不适用于登录和作业。
sql-server availability-groups contained-database sql-server-2022