这个旧的 SQL Server 2000 实例有一个 14 Gb 的数据磁盘和一个 30 Gb 的备份磁盘。
即使它很旧,它仍然有大量用户进行交易,因此该服务器上唯一数据库的日志文件每天都会填满数据驱动器。
我想我会把它放在简单的恢复中并刷新事务日志,但我想知道它会产生什么影响。
如果没有 T-log,您就不能使用备份恢复到完整备份时间以外的任何其他时间点,对吗?在对数据库进行此类更改时,除此之外我应该注意哪些最重要的影响?当我不生成 t-log 时,除了丢失一天的数据(每天备份到磁带)之外,还有什么可能发生?
提前致谢
所以我们服务器上数据库的默认位置是
c:\program files\microsoft sql server\mssql11.mssqlserver\mssql\DATA
Run Code Online (Sandbox Code Playgroud)
但由于空间限制,我们改为使用
d:\data
Run Code Online (Sandbox Code Playgroud)
我现在已将默认位置更正为d:\data
但是,我无法将在错误位置创建的数据库移动c:\...\data到d:\data
试
ALTER DATABASE MYDATABASE set offline
ALTER DATABASE MYDATABASE
MODIFY FILE ( NAME = 'MYDATABASE', FILENAME = 'D:\Data\MYDATABASE.MDF')
ALTER DATABASE MYDATABASE
MODIFY FILE ( NAME = 'MYDATABASE_LOG', FILENAME = 'D:\Data\MYDATABASE_LOG.LDF')
ALTER DATABASE MYDATABASE SET ONLINE
Run Code Online (Sandbox Code Playgroud)
失败并显示以下错误消息
消息 5120,级别 16,状态 101,第 1 行
无法打开物理文件“D:\Data\MYDATABASE.MDF”。操作系统错误2:“2(系统找不到指定的文件。)”。文件激活失败。物理文件名“D:\Data\MYDATABASE_log.lDF”可能不正确。消息 5181,级别 16,状态 5,第 1 行
无法重新启动数据库“MYDATABASE”。恢复到之前的状态。消息 5069,级别 16,状态 1,第 1 行
ALTER DATABASE 语句失败。
服务器肯定可以访问新位置,因为所有其他数据库都d:\data工作正常
最近我在我的 PC 上安装了 SQL Server 2016。
这是我的服务器的详细信息:
Microsoft SQL Server 2016 (RC1) - 13.0.1200.242 (X64)
2016 年 3 月 10 日 16:49:45
版权所有 (c)
Windows 10 Pro 6.3(内部版本10586:)上的Microsoft Corporation企业评估版(64 位)
在我的 PC 上安装服务器后,尝试安装以下插件
问题:
SQL Pretty Printer甚至没有安装它会抛出错误,例如
但是SQL Pretty Printer站点说它适用于 SQL Server 2016,您可以查看链接。
下一个SQLSentry 计划资源管理器已成功安装,但插件未显示在SSMS.
版本: v2.8(内部版本 9.0.9252.0)
谁能帮我解决这个问题。请注意,两者都在 SQL Server 2014 中完美运行。
我想从 SQL Server 数据库中混淆(打乱)敏感数据,但方式将提供:
例子:
Abc -> zyx (lenght: 3)
StackOverflow -> a65vr4doqjd (lenght: 11)
Run Code Online (Sandbox Code Playgroud)
通常我会避免“自制”算法,所以你知道一些可以提供这种混淆的 MS 内置解决方案吗?
我希望我清楚地表达了我的问题,否则让我知道,我会尝试根据需要添加尽可能多的信息。
SQL Server 中所有非系统数据库的数据库(如master、model、tempdb)是否都有一个术语?
你能告诉我这个查询有什么问题吗?我正在尝试编写 SQL 查询来动态创建表
DECLARE @SQLString NVARCHAR(MAX)
SET @SQLString =+ 'Create Table' + GETDATE() + '_' + 'Table' + '' + '(' + 'Column1' + ' ' + 'Nvarchar(50)' + 'Null' + ')' +
Exec @SQLString ;
Run Code Online (Sandbox Code Playgroud) 我已经厌倦了向我们研发团队中的每个初级开发人员解释为什么他应该使用主键以及如何使用。所以我决定写一个小白皮书,每个新开发人员都应该阅读。这是它的草稿。
免责声明:
问题是- 我还应该在文档中添加什么?可能是——我应该改些什么呢?更详细的解释是什么?
草稿来了:
此外,即使使用具有(我希望)扁平分布的 SSN 或 ID Number,因为 PK 也不能解决 PK 的页面拆分问题,因为这些数字没有任何组织顺序。
我设法使用存储过程创建了一个带有变量名的表的副本。但是我很难理解如何将约束合并到存储过程中。
问题:约束必须是一个变量,因为当它复制一个表时,它不能命名我拥有的与以前使用的相同的 PK。我在这些领域遇到语法错误。
我对 SQL Server 非常陌生......今天才刚刚开始学习!!所以请用虚拟术语解释。
到目前为止的代码如下:
CREATE PROCEDURE procFinancialPeriodTable
(@TABLENAME as varchar (50))
AS
DECLARE @SQL varchar(2000)
--SET @SQL = "if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[@TABLENAME]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
--drop table [dbo].[@TABLENAME]
BEGIN
SELECT @SQL = 'CREATE TABLE ' + @TABLENAME + '('
SELECT @SQL = @SQL + '[ID] [int] IDENTITY(1,1) NOT NULL,[FinPeriodNr] [int] NOT NULL,[FinCurrentPeriod] [bit] NULL,[FinStart] [date] NULL,[FinEnd] [date] NULL,[FinStatusOpen] [bit] NOT NULL,[PeriodClosedTS] [smalldatetime] NULL,[PeriodClosedUID] [varchar](3) NULL,)'
CONSTRAINT [PK_FinancialPeriod' + …Run Code Online (Sandbox Code Playgroud) 我无法将备份从 64 位实例恢复到 32 位实例。
源服务器:
Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64)
Run Code Online (Sandbox Code Playgroud)
目标服务器:
Microsoft SQL Server 2008 (SP2) - 10.0.4064.0 (Intel X86)
Run Code Online (Sandbox Code Playgroud)
恢复时出错:
服务器“servername”
的还原失败数据库已备份在运行版本 10.50.2500 的服务器上。该版本与运行版本 10.00.4064 的服务器不兼容。在支持备份的服务器上还原数据库,或者使用与此服务器兼容的备份。
我们有一个数据库不受控制地增长并每 2 天填充一次硬盘。数据库最大日志大小设置为 6 gb,但 id 似乎不起作用,因为它继续增长超过 6 gb。
以某种方式“解决”它的唯一方法是在那之后进行备份和截断。
首先,如果最大日志大小设置为特定大小,那么可能的数据库会继续增长吗?
其次,如果事务正确打开和关闭,我们知道它运行良好,为什么我的日志文件不受控制地增长?
sql-server ×8
constraint ×1
data-masking ×1
plugins ×1
security ×1
ssms ×1
t-sql ×1
windows-10 ×1