如果我安装了 SQL Server 2014 标准试用版的副本,之后是否可以将该版本升级(无需完全重新安装)到完整版(核心许可证)?我很想在等待许可的同时安装和配置这些东西,但如果不能轻松获得许可,我不想让自己感到悲伤。
编辑:更多信息,对于发现这个问题的其他人 -
下载评估版时,Microsoft 站点不会指定“SQL Server 2014”以外的任何内容。但是由于他们不允许您选择特定版本,我认为 Shanky 的评论是正确的(它是企业版)。
正如 Thomas 指出的那样,以下是 SQL Server 2014 Evaluation Enterprise 的升级路径(因为 Microsoft 喜欢移动/终止链接):
SQL Server 2014 开发人员 SQL Server 2014
独立安装支持从 Evaluation Enterprise(免费版)到任何付费版本的 Web 升级,但不支持集群安装。
SQL Server 2014 标准版。
我们有一个运行时间为 20-40 分钟的工作。我们只希望此作业的一个实例运行,但我们不希望运行之间存在巨大差距。
因此,每 60 分钟安排一次并不理想,因为可能会有 30-40 分钟的空闲时间。理想情况下,我们将每 30 分钟安排一次,因为这将使我们达到每 10 分钟运行一次或背靠背运行的理想状态。
在 Windows 操作系统计划任务上,有一些设置可以控制在作业仍在运行时如何处理作业实例化。
如何获得对 SQL Server 的一些控制?我如何达到我的理想(或接近它)?
当您想在过滤索引中放置 OR 时,是否有解决方法?
create index FIDX_tblbOrders_sdtmOrdCreated_INCL
on dbo.tblBOrder(sdtmOrdCreated)
INCLUDE (sintMarketID,
strCurrencyCode,
sintOrderStatusID
)
WHERE ((sintMarketId=1)
AND ( (sintOrderStatusId < 9) OR (sintOrderStatusId > 14)))
Run Code Online (Sandbox Code Playgroud)
我正在尝试创建上面的索引,因为我对 sintOrderStatusId IN (9-14) 的任何情况都不感兴趣
当然,我可以创建视图或索引视图,但我试图避免这种情况。
只是添加更多信息:sintOrderStatusId 是 smallint NOT NULL 并且可能的值范围从 1 到 30。要避免 9 到 14,因此过滤索引。
目前,我只有一个备份文件 IMTDB.bak,它与数据库本身在同一个 HDD 上。我想通过本质上将它“复制”到另一个磁盘来增加这个数据库备份的冗余,但是我收到一个错误“服务器备份失败,媒体被格式化为支持 2 个媒体系列”。我认为这意味着当我创建备份时,它只是将备份放在一个驱动器上,我不能追溯添加更多。我想将备份迁移到另一个驱动器(实际上只是复制它),但我不想删除当前备份来执行此操作。
我该怎么办?将 IMTDB.bak 复制到另一个驱动器上的文件夹是否安全?
我的公司正在将我们的基础设施迁移到新的数据中心,我正在尝试找出使新服务器上的数据库与当前生产数据库保持同步的最佳方法,直到新环境准备好投入使用。作为一名全职 DBA,我做了一些研究,从我所读到的内容来看,跨国复制设置似乎最适合我们的需求。
一些细节:生产数据库的大小约为 90 GB,使用 Robocopy 将其副本移动到其中一台新服务器需要大约 9 个小时。当前的生产数据库需要在整个迁移过程中保持在线和可访问。由于是简单恢复,所以数据库镜像不可用。
事务复制是保持数据库同步的最佳方法吗?
我的计划:
我心里有两件事。事务复制要求每个发布的表都有一个主键,而生产数据库中的很多表都没有定义主键。我不认为这会是一个太大的问题,因为我主要关心的是让数据库同步。我们将在稍后的数据中测试使用数据库的不同应用程序,但我想确保这不是一个严重的问题。其次,我是否还需要从原始实例中移动任何关联的系统 DB,例如 master?我们正在新环境中迁移到 Active Directory 设置,所以我不关心用户等,但我不确定系统 DB 的必要性。
总的来说,我是否正确理解了这些概念?
由于以 PCI 合规性的名义禁用了 TLS 1.0,我无法使 32 位经典 ASP 应用程序工作。
根据 MS / Stack Exchange 的建议,我已经安装了:
这让我们的 ASP.NET 应用程序/SSMS 运行起来。但是我们使用ADODB.Connection对象的经典 ASP 应用程序不起作用。
我尝试了一个使用 的连接字符串Provider=SQLNCLI11;,但这似乎也无济于事。共享内存提供者仍然抱怨管道的另一端没有任何东西。错误信息:
Microsoft SQL Server Native Client 11.0 错误“80004005”
共享内存提供程序:管道的另一端没有进程。
我还尝试将命名管道与连接字符串一起使用Provider=SQLNCLI11;Server=np:\\.\pipe\MSSQL$SQLEXPRESS\sql\query;Database=northwind;Trusted_Connection=Yes;并收到此错误消息:
Microsoft SQL Server Native Client 11.0 错误“80004005”
命名管道提供者:管道的另一端没有进程。
是否有我应该注意的 ADODB 补丁?我应该考虑以其他方式或类似方式使用命名管道吗?(尽管我对为什么共享内存不起作用感到有些困惑,无论 TLS 设置如何)
评论更新:
Web 服务器和 SQL Server 位于同一台机器上。
它是一个 SQLExpress 命名实例。启用 TLS 1.0 的连接字符串是:
"Driver={SQL Server}; Server=.\SQLExpress; Database=northwind; Trusted_Connection=Yes; Integrated_Security=True;"
Run Code Online (Sandbox Code Playgroud)
我也试过:
"Provider=SQLNCLI11; Server=.\SQLExpress; …Run Code Online (Sandbox Code Playgroud) 我目前有一个相当大的表(5-7 百万行)。该表由一个过程定期重建,该过程在临时表中构建数据,然后使用该ALTER TABLE .. SWITCH TO ..语句将数据切换到生产表中。
例子:
BEGIN TRAN;
-- Rebuild indexes
ALTER INDEX IX_NC_GroupEvent_staging_GroupName on [dbo].[GroupEvent_staging]
REBUILD;
ALTER INDEX IX_NC_GroupEvent_staging_Created ON [dbo].[GroupEvent_staging]
REBUILD;
-- Empty production table
TRUNCATE TABLE [dbo].[GroupEvent];
-- Switch data from staging-table into production table
ALTER TABLE [dbo].[GroupEvent_staging] SWITCH TO [dbo].[GroupEvent]
COMMIT;
Run Code Online (Sandbox Code Playgroud)
执行此操作时,索引(或索引数据)的当前状态是否也会切换?我问是因为两个原因:
1) 为了执行SWITCH TO语句,要求源表和目标表必须包含相同的索引。这让我相信索引数据也可能会被切换,但我不知道如何验证这一点。
2)以这种方式构建表的主要好处是避免在使用生产表时对生产表执行过多的工作。当然,如果我能够在临时表上重建索引并将重建的索引与表一起切换到生产索引,那会让我感到非常高兴。
通过修改查询或影响优化器的策略,是否可以通过单个搜索或扫描来检索与以下相同的数据?
与此类似的代码和架构目前位于 SQL Server 2014 上。
复制脚本。设置:
USE tempdb;
GO
IF OBJECT_ID('dbo.TestUpload', 'U') IS NOT NULL
DROP TABLE dbo.TestUpload;
CREATE TABLE dbo.TestUpload(
JobRunId bigint NOT NULL,
ThingAName nvarchar(255) NOT NULL,
ThingAType nvarchar(255) NOT NULL,
ThingAGranularity nvarchar(255) NOT NULL,
ThingBName nvarchar(255) NOT NULL,
ThingBType nvarchar(255) NOT NULL,
ThingBGranularity nvarchar(255) NOT NULL
);
CREATE CLUSTERED INDEX IX_JobRunId ON dbo.TestUpload (JobRunId);
GO
INSERT INTO dbo.TestUpload (JobRunId, ThingAName, ThingAType, ThingAGranularity, ThingBName, ThingBType, ThingBGranularity)
VALUES (1, 'A', 'B', 'C', 'D', 'E', 'F');
GO 10
INSERT …Run Code Online (Sandbox Code Playgroud) Availability Groups使用一个同步副本从 SQL 2014升级到 2016的推荐过程是什么?
我的理解是in-place数据库专业人员并不真正喜欢升级。有没有办法避免in-place升级Availability Groups?是否有可能将 2016 年服务器加入现有的 2014 年可用性组并在那里进行故障转移,然后“杀死”其他实例之一并升级它?(例如,通过在同一主机上并排删除/重新安装 SQL)
是否还有其他我们应该考虑的升级方案?
理想的解决方案是我们总是有 2 个online副本,而且我们不需要做任何in-place升级。
大约每周一次,查询
sp_Blitz @IgnorePrioritiesAbove = 50, @CheckUserDatabaseObjects = 0
显示非常旧的数据库备份的“错误”。
显示这一点是正确的,但是如果可用性组 DB 位于辅助节点上且未备份(我使用 Ola 的脚本来备份 DB),是否可以过滤此错误?
sql-server ×10
sql-server-2014 ×10
upgrade ×2
connectivity ×1
jobs ×1
license ×1
migration ×1
sp-blitz ×1
t-sql ×1